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
●String
scalarGet 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
scalarGet 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
enumThe 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
scalarGet 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
scalarGet 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
scalarGet 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
scalarGet 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
scalarGet 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
scalarGet 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
names
is provided, only those matching the name. IfprefixMatching
is 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
●String
scalarGet 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