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, NamedNode, 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●StringscalarGet 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●StringscalarGet 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●AllPermissionEntryenumThe 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●StringscalarGet 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●StringscalarGet 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●StringscalarGet 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●StringscalarGet 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●StringscalarGet 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●StringscalarGet 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 scalarName of the extension field
Component.templatedFields ● [JSONField!]! non-null object
All templatedFields If
namesis provided, only those matching the name. IfprefixMatchingis true, matching is done by prefix, otherwise by full name.
Component.templatedFields.names●[String!]list scalarNames 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●StringscalarGet 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.
NamedNode interface
Node 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
BulkCreateComponentPayload  object ● ComponentConnection  object ● ComponentEdge  object ● ComponentVersion  object ● CreateComponentPayload  object ● InterfaceSpecification  object ● UpdateComponentPayload  object