Skip to content

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.

graphql
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 ● AllPermissionEntry enum ​

The 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 ● String scalar ​

Get 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 ● String scalar ​

Get 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 scalar ​

Name of the extension field

Artefact.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.

Artefact.templatedFields.names ● [String!] list scalar ​

Names 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 ● CreateArtefactPayload object ● RemovedArtefactEvent object ● UpdateArtefactPayload object

Released under the MIT License.