Artefact
An Artefact referencing a file defined via a URL.
Can optionally specify a line range (from - to), and a version.
Is part of exactly one Trackable.
Can be referenced by Comments and Issues.
Artefacts are synced to all IMSProjects of the Trackable they are part of.
READ is granted if READ is granted on trackable.
type Artefact implements AuditedNode, BaseNode, MutableTemplatedNode, Node, TemplatedNode {
  createdAt: DateTime!
  createdBy: User!
  file: URL!
  from: Int
  hasPermission(
    permission: AllPermissionEntry
  ): Boolean!
  id: ID!
  issues(
    after: String
    before: String
    filter: IssueFilterInput
    first: Int
    last: Int
    orderBy: [IssueOrder!]
    skip: Int
  ): IssueConnection!
  lastModifiedAt: DateTime!
  lastModifiedBy: User!
  referencingComments(
    after: String
    before: String
    filter: IssueCommentFilterInput
    first: Int
    last: Int
    orderBy: [IssueCommentOrder!]
    skip: Int
  ): IssueCommentConnection!
  template: ArtefactTemplate!
  templatedField(
    name: String!
  ): JSON
  templatedFields(
    names: [String!]
    prefixMatching: Boolean
  ): [JSONField!]!
  to: Int
  trackable: Trackable!
  version: String
}
Fields
Artefact.createdAt ● DateTime! non-null scalar
The DateTime this entity was created at.
Artefact.createdBy ● User! non-null interface
The User who created this entity.
Artefact.file ● URL! non-null scalar
A URL to the file this Artefact references
Artefact.from ● Int scalar
If present, the first line of the file this Artefact references, inclusive
Artefact.hasPermission ● Boolean! non-null scalar
Checks if the current user has a specific permission on this Node
Artefact.hasPermission.permission●AllPermissionEntryenumThe permission to check for
Artefact.id ● ID! non-null scalar
The unique id of this node
Artefact.issues ● IssueConnection! non-null object
Issues which currently have this Artefact.
Artefact.issues.after●StringscalarGet only items after the cursor
Artefact.issues.before ● String scalar
Get only items before the cursor
Artefact.issues.filter ● IssueFilterInput input
Filter for specific items in the connection
Artefact.issues.first ● Int scalar
Get the first n items. Must not be used if before is specified
Artefact.issues.last ● Int scalar
Get the last n items. Must not be used if after is specified
Artefact.issues.orderBy ● [IssueOrder!] list input
Order in which the items are sorted
Artefact.issues.skip ● Int scalar
Skips n items. First or last MUST be specified, is otherwise ignored
Artefact.lastModifiedAt ● DateTime! non-null scalar
The DateTime this entity was last modified at.
Artefact.lastModifiedBy ● User! non-null interface
The User who last modified this entity.
Artefact.referencingComments ● IssueCommentConnection! non-null object
IssueComments which currently reference this Artefact.
Artefact.referencingComments.after●StringscalarGet only items after the cursor
Artefact.referencingComments.before ● String scalar
Get only items before the cursor
Artefact.referencingComments.filter ● IssueCommentFilterInput input
Filter for specific items in the connection
Artefact.referencingComments.first ● Int scalar
Get the first n items. Must not be used if before is specified
Artefact.referencingComments.last ● Int scalar
Get the last n items. Must not be used if after is specified
Artefact.referencingComments.orderBy ● [IssueCommentOrder!] list input
Order in which the items are sorted
Artefact.referencingComments.skip ● Int scalar
Skips n items. First or last MUST be specified, is otherwise ignored
Artefact.template ● ArtefactTemplate! non-null object
The Template of this Artefact.
Artefact.templatedField ● JSON scalar
Value of a field defined by the template. Error if such a field is not defined.
Artefact.templatedField.name●String!non-null scalarName of the extension field
Artefact.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.
Artefact.templatedFields.names●[String!]list scalarNames of the templated fields. If not provided, all templatedFields.
Artefact.templatedFields.prefixMatching ● Boolean scalar
If true, name matching is performed as prefix matching, otherwise as absolute match. Defaults to absolute matching
Artefact.to ● Int scalar
If present, the last line of the file this Artefact references, inclusive
Artefact.trackable ● Trackable! non-null interface
The Trackable this Artefact is part of.
Artefact.version ● String scalar
If present, the current version of this Artefact
Interfaces
AuditedNode interface
Node which provides auditing information, which can e.g. be used for the sync. When it was created and last modified, if the it is already deleted, and by who it was created and last modified. A modification is any change of a field on the node itself and a change of a relation (add or removed). A change on a related related node is not a modification.
BaseNode interface
Shared extensions to the node type.
MutableTemplatedNode interface
Interface for all types which support templates describing user writeable fields.
Node interface
Base class of all nodes
TemplatedNode interface
Interface for all types which support templates.
Member of
AddedArtefactEvent  object ● ArtefactConnection  object ● ArtefactEdge  object ● RemovedArtefactEvent  object