Skip to main content

Component

Entity which represents a software component, e.g. a library, a microservice, or a deployment platform, .... The type of software component is defined by the template. Can have issues, labels and artefacts as this is a Trackable. Defines InterfaceSpecifications, but visible/invisible InterfaceSpecificationVersions depend on the ComponentVersion. Can be affected by Issues. READ is granted via an associated ComponentPermission or if READ is granted on any Project including any ComponentVersion in versions of this Component.

type Component implements AffectedByIssue, BaseNode, MutableTemplatedNode, Named, NamedAffectedByIssue, Node, TemplatedNode, Trackable {
affectingIssues(
after: String
before: String
filter: IssueFilterInput
first: Int
last: Int
orderBy: [IssueOrder!]
skip: Int
): IssueConnection!
artefacts(
after: String
before: String
filter: ArtefactFilterInput
first: Int
last: Int
orderBy: [ArtefactOrder!]
skip: Int
): ArtefactConnection!
description: String!
hasPermission(
permission: AllPermissionEntry
): Boolean!
id: ID!
interfaceSpecifications(
after: String
before: String
filter: InterfaceSpecificationFilterInput
first: Int
last: Int
orderBy: [InterfaceSpecificationOrder!]
skip: Int
): InterfaceSpecificationConnection!
issues(
after: String
before: String
filter: IssueFilterInput
first: Int
last: Int
orderBy: [IssueOrder!]
skip: Int
): IssueConnection!
labels(
after: String
before: String
filter: LabelFilterInput
first: Int
last: Int
orderBy: [LabelOrder!]
skip: Int
): LabelConnection!
name: String!
permissions(
after: String
before: String
filter: ComponentPermissionFilterInput
first: Int
last: Int
orderBy: [ComponentPermissionOrder!]
skip: Int
): ComponentPermissionConnection!
pinnedIssues(
after: String
before: String
filter: IssueFilterInput
first: Int
last: Int
orderBy: [IssueOrder!]
skip: Int
): IssueConnection!
repositoryURL: URL
syncsTo(
after: String
before: String
filter: IMSProjectFilterInput
first: Int
last: Int
orderBy: [IMSProjectOrder!]
skip: Int
): IMSProjectConnection!
template: ComponentTemplate!
templatedField(
name: String!
): JSON
templatedFields(
names: [String!]
prefixMatching: Boolean
): [JSONField!]!
versions(
after: String
before: String
filter: ComponentVersionFilterInput
first: Int
last: Int
orderBy: [ComponentVersionOrder!]
skip: Int
): ComponentVersionConnection!
}

Fields

Component.affectingIssues ● IssueConnection! non-null object

The issues which affect this entity

Component.affectingIssues.after ● String scalar

Get only items after the cursor

Component.affectingIssues.before ● String scalar

Get only items before the cursor

Component.affectingIssues.filter ● IssueFilterInput input

Filter for specific items in the connection

Component.affectingIssues.first ● Int scalar

Get the first n items. Must not be used if before is specified

Component.affectingIssues.last ● Int scalar

Get the last n items. Must not be used if after is specified

Component.affectingIssues.orderBy ● [IssueOrder!] list input

Order in which the items are sorted

Component.affectingIssues.skip ● Int scalar

Skips n items. First or last MUST be specified, is otherwise ignored

Component.artefacts ● ArtefactConnection! non-null object

Artefacts of this trackable, typically some kind of file.

Component.artefacts.after ● String scalar

Get only items after the cursor

Component.artefacts.before ● String scalar

Get only items before the cursor

Component.artefacts.filter ● ArtefactFilterInput input

Filter for specific items in the connection

Component.artefacts.first ● Int scalar

Get the first n items. Must not be used if before is specified

Component.artefacts.last ● Int scalar

Get the last n items. Must not be used if after is specified

Component.artefacts.orderBy ● [ArtefactOrder!] list input

Order in which the items are sorted

Component.artefacts.skip ● Int scalar

Skips n items. First or last MUST be specified, is otherwise ignored

Component.description ● String! non-null scalar

The description of this entity.

Component.hasPermission ● Boolean! non-null scalar

Checks if the current user has a specific permission on this Node

Component.hasPermission.permission ● AllPermissionEntry enum

The permission to check for

Component.id ● ID! non-null scalar

The unique id of this node

Component.interfaceSpecifications ● InterfaceSpecificationConnection! non-null object

List of interfaces this component specifies. Note that visible/invisible InterfaceSpecifications are defined by a specific version of this component

Component.interfaceSpecifications.after ● String scalar

Get only items after the cursor

Component.interfaceSpecifications.before ● String scalar

Get only items before the cursor

Component.interfaceSpecifications.filter ● InterfaceSpecificationFilterInput input

Filter for specific items in the connection

Component.interfaceSpecifications.first ● Int scalar

Get the first n items. Must not be used if before is specified

Component.interfaceSpecifications.last ● Int scalar

Get the last n items. Must not be used if after is specified

Component.interfaceSpecifications.orderBy ● [InterfaceSpecificationOrder!] list input

Order in which the items are sorted

Component.interfaceSpecifications.skip ● Int scalar

Skips n items. First or last MUST be specified, is otherwise ignored

Component.issues ● IssueConnection! non-null object

The set of Issues which are part of this Trackable. An Issue has to be part of a Trackable to use the Labels and Artefacts defined by the Trackable.

Component.issues.after ● String scalar

Get only items after the cursor

Component.issues.before ● String scalar

Get only items before the cursor

Component.issues.filter ● IssueFilterInput input

Filter for specific items in the connection

Component.issues.first ● Int scalar

Get the first n items. Must not be used if before is specified

Component.issues.last ● Int scalar

Get the last n items. Must not be used if after is specified

Component.issues.orderBy ● [IssueOrder!] list input

Order in which the items are sorted

Component.issues.skip ● Int scalar

Skips n items. First or last MUST be specified, is otherwise ignored

Component.labels ● LabelConnection! non-null object

The set of Labels which can be added to issues of this trackable.

Component.labels.after ● String scalar

Get only items after the cursor

Component.labels.before ● String scalar

Get only items before the cursor

Component.labels.filter ● LabelFilterInput input

Filter for specific items in the connection

Component.labels.first ● Int scalar

Get the first n items. Must not be used if before is specified

Component.labels.last ● Int scalar

Get the last n items. Must not be used if after is specified

Component.labels.orderBy ● [LabelOrder!] list input

Order in which the items are sorted

Component.labels.skip ● Int scalar

Skips n items. First or last MUST be specified, is otherwise ignored

Component.name ● String! non-null scalar

The name of this entity.

Component.permissions ● ComponentPermissionConnection! non-null object

Permissions for this Component.

Component.permissions.after ● String scalar

Get only items after the cursor

Component.permissions.before ● String scalar

Get only items before the cursor

Component.permissions.filter ● ComponentPermissionFilterInput input

Filter for specific items in the connection

Component.permissions.first ● Int scalar

Get the first n items. Must not be used if before is specified

Component.permissions.last ● Int scalar

Get the last n items. Must not be used if after is specified

Component.permissions.orderBy ● [ComponentPermissionOrder!] list input

Order in which the items are sorted

Component.permissions.skip ● Int scalar

Skips n items. First or last MUST be specified, is otherwise ignored

Component.pinnedIssues ● IssueConnection! non-null object

Issues which are pinned to this trackable, subset of issues.

Component.pinnedIssues.after ● String scalar

Get only items after the cursor

Component.pinnedIssues.before ● String scalar

Get only items before the cursor

Component.pinnedIssues.filter ● IssueFilterInput input

Filter for specific items in the connection

Component.pinnedIssues.first ● Int scalar

Get the first n items. Must not be used if before is specified

Component.pinnedIssues.last ● Int scalar

Get the last n items. Must not be used if after is specified

Component.pinnedIssues.orderBy ● [IssueOrder!] list input

Order in which the items are sorted

Component.pinnedIssues.skip ● Int scalar

Skips n items. First or last MUST be specified, is otherwise ignored

Component.repositoryURL ● URL scalar

If existing, the URL of the repository (e.g. a GitHub repository).

Component.syncsTo ● IMSProjectConnection! non-null object

IMSProjects this Trackable is synced to and from.

Component.syncsTo.after ● String scalar

Get only items after the cursor

Component.syncsTo.before ● String scalar

Get only items before the cursor

Component.syncsTo.filter ● IMSProjectFilterInput input

Filter for specific items in the connection

Component.syncsTo.first ● Int scalar

Get the first n items. Must not be used if before is specified

Component.syncsTo.last ● Int scalar

Get the last n items. Must not be used if after is specified

Component.syncsTo.orderBy ● [IMSProjectOrder!] list input

Order in which the items are sorted

Component.syncsTo.skip ● Int scalar

Skips n items. First or last MUST be specified, is otherwise ignored

Component.template ● ComponentTemplate! non-null object

The Template of this Component.

Component.templatedField ● JSON scalar

Value of a field defined by the template. Error if such a field is not defined.

Component.templatedField.name ● String! non-null scalar

Name of the extension field

Component.templatedFields ● [JSONField!]! non-null object

All templatedFields If names is provided, only those matching the name. If prefixMatching is true, matching is done by prefix, otherwise by full name.

Component.templatedFields.names ● [String!] list scalar

Names of the templated fields. If not provided, all templatedFields.

Component.templatedFields.prefixMatching ● Boolean scalar

If true, name matching is performed as prefix matching, otherwise as absolute match. Defaults to absolute matching

Component.versions ● ComponentVersionConnection! non-null object

Versions of this components.

Component.versions.after ● String scalar

Get only items after the cursor

Component.versions.before ● String scalar

Get only items before the cursor

Component.versions.filter ● ComponentVersionFilterInput input

Filter for specific items in the connection

Component.versions.first ● Int scalar

Get the first n items. Must not be used if before is specified

Component.versions.last ● Int scalar

Get the last n items. Must not be used if after is specified

Component.versions.orderBy ● [ComponentVersionOrder!] list input

Order in which the items are sorted

Component.versions.skip ● Int scalar

Skips n items. First or last MUST be specified, is otherwise ignored

Interfaces

AffectedByIssue interface

Entities that can be affected by an Issue, meaning that this entity is in some regard impacted by e.g. a bug described by an issue, or the non-present of a feature described by an issue.

BaseNode interface

Shared extensions to the node type.

MutableTemplatedNode interface

Interface for all types which support templates describing user writeable fields.

Named interface

Entity with a name and a description.

NamedAffectedByIssue interface

Affected by issue with a name and description

Node interface

Base class of all nodes

TemplatedNode interface

Interface for all types which support templates.

Trackable interface

An entity which can have Issues, Labels and Artefacts. Has pinned issues. Can be synced to an IMS by creating an IMSProject. Can be affected by Issues.

Returned by

searchComponents query

Member of

ComponentConnection object ● ComponentEdge object ● ComponentVersion object ● InterfaceSpecification object