Skip to main content
Version: 1.0-beta

Artifacts

API reference​

An immutable selection of workspace artifacts. Listed types, dimensions, and keys use OR; chained filters use AND. Empty alternatives and unknown names match nothing. Filters never change addresses or dimension identifiers.

Implements Node

dimensionKeys
List keys represented in this selection for the given dimension, sorted with no duplicates.
dimensions
List dimension identifiers represented in this selection, sorted with no duplicates.
id
A unique identifier for this Artifacts.
uri
The DAG address that selects this whole selection: filterUri(uri) selects the same set.
asChangesets
Convert the selection to Changesets. Fail if any artifact is not a Changeset. Does not apply command filters.
asChecks
Convert the selection to Checks. Fail if any artifact is not a Check. Does not apply command filters or run the checks.
asExpertise
Convert the selection to expertise without running the functions. Fail if any artifact is not a source of expertise.
asGenerators
Convert the selection to Generators without running them. Fail if any artifact is not a Generator.
asServices
Convert the selection to Services. Fail if any artifact is not a Service. Does not apply command filters or start the services.
dimensionDefinitions
List dimensions on the selected schema paths, including empty collections. Does not read runtime values.
dimensionItems
List collection items represented in this selection for the given dimension. Preserve parent keys and remove duplicate item addresses. Does not evaluate item values.
filterDimensionKeys
Keep artifacts with any listed key in this dimension.
filterDimensions
Keep artifacts selected through any listed dimension.
filterDirectives
Keep artifacts with any listed directive. Does not filter by type or workspace settings.
filterParentDirectives
Keep artifacts whose immediate parent has any listed directive. Artifacts without a parent do not match.
filterParentTypes
Keep artifacts whose immediate parent has any listed object type. Artifacts without a typed parent do not match.
filterPath
Match one complete, ordered field sequence exactly.
filterPathPattern
Keep paths that match a glob pattern. A literal path matches exactly. Both module-qualified and entrypoint paths match.
filterTypes
Keep artifacts of any listed concrete GraphQL type.
filterUri
Apply a DAG address as one filter: the chain of path, type, and dimension-key filters it encodes.
items
Enumerate complete artifacts without evaluating their values.
modules
List the modules represented in this selection without evaluating artifact values.
one
Require exactly one artifact; fail if there are zero or multiple matches. Several matches are listed, one address per line.
pathDefinitions
List selected schema paths, including empty collections. Does not read runtime values. Applies type keys and collection presence; collection key values require items.
types
List concrete type definitions represented in this selection, sorted by name with no duplicates.
values
Evaluate the selection in parallel, retaining each result and error.
withArtifacts
Combine two selections, keeping each workspace address once. Different addresses remain distinct even if they return the same object.
withoutUri
Remove artifacts selected by a DAG address.

dimensionKeys(dimension: String!): [String!]!

List keys represented in this selection for the given dimension, sorted with no duplicates.

dimension: String!

dimensions: [String!]!

List dimension identifiers represented in this selection, sorted with no duplicates.

id: ID!

A unique identifier for this Artifacts.

uri: String!

The DAG address that selects this whole selection: filterUri(uri) selects the same set.

asChangesets: [Changeset!]!

Convert the selection to Changesets. Fail if any artifact is not a Changeset. Does not apply command filters.

asChecks: [Check!]!

Convert the selection to Checks. Fail if any artifact is not a Check. Does not apply command filters or run the checks.

asExpertise: [Expertise!]!

Convert the selection to expertise without running the functions. Fail if any artifact is not a source of expertise.

asGenerators: [Generator!]!

Convert the selection to Generators without running them. Fail if any artifact is not a Generator.

asServices: [Service!]!

Convert the selection to Services. Fail if any artifact is not a Service. Does not apply command filters or start the services.

dimensionDefinitions: [ArtifactDimension!]!

List dimensions on the selected schema paths, including empty collections. Does not read runtime values.

dimensionItems(dimension: String!): [Artifact!]!

List collection items represented in this selection for the given dimension. Preserve parent keys and remove duplicate item addresses. Does not evaluate item values.

dimension: String!

filterDimensionKeys(dimension: String!, keys: [String!]!): Artifacts!

Keep artifacts with any listed key in this dimension.

dimension: String!
keys: [String!]!

filterDimensions(dimensions: [String!]!): Artifacts!

Keep artifacts selected through any listed dimension.

dimensions: [String!]!

filterDirectives(directives: [String!]!, exclude: Boolean = false): Artifacts!

Keep artifacts with any listed directive. Does not filter by type or workspace settings.

directives: [String!]!
exclude: Boolean = false

Remove the matching artifacts instead.

filterParentDirectives(directives: [String!]!, exclude: Boolean = false): Artifacts!

Keep artifacts whose immediate parent has any listed directive. Artifacts without a parent do not match.

directives: [String!]!
exclude: Boolean = false

Remove the matching artifacts instead.

filterParentTypes(types: [String!]!, exclude: Boolean = false): Artifacts!

Keep artifacts whose immediate parent has any listed object type. Artifacts without a typed parent do not match.

types: [String!]!
exclude: Boolean = false

Remove the matching artifacts instead.

filterPath(path: [String!]!): Artifacts!

Match one complete, ordered field sequence exactly.

path: [String!]!

filterPathPattern(pattern: String!): Artifacts!

Keep paths that match a glob pattern. A literal path matches exactly. Both module-qualified and entrypoint paths match.

pattern: String!

filterTypes(types: [String!]!, exclude: Boolean = false): Artifacts!

Keep artifacts of any listed concrete GraphQL type.

types: [String!]!
exclude: Boolean = false

Remove the matching artifacts instead.

filterUri(uri: String!): Artifacts!

Apply a DAG address as one filter: the chain of path, type, and dimension-key filters it encodes.

The scheme is optional. The path may be a pattern; an empty path selects all artifacts.

uri: String!

A DAG address: [dag[+<type>]://][<path>][?<dimension>=<key>&...]

items: [Artifact!]!

Enumerate complete artifacts without evaluating their values.

modules: [Module!]!

List the modules represented in this selection without evaluating artifact values.

one: Artifact!

Require exactly one artifact; fail if there are zero or multiple matches. Several matches are listed, one address per line.

pathDefinitions(absolute: Boolean = false,typeAssertion: Boolean = false,dimension: String): [ArtifactPath!]!

List selected schema paths, including empty collections. Does not read runtime values. Applies type keys and collection presence; collection key values require items.

absolute: Boolean = false

Prefix each address with the workspace's Git address and commit.

typeAssertion: Boolean = false

Include the artifact type in each address scheme.

dimension: String

Project paths to the items of this collection dimension. Preserve parent dimensions and remove descendant dimensions.

types: [TypeDef!]!

List concrete type definitions represented in this selection, sorted by name with no duplicates.

values(failFast: Boolean = false, arguments: JSON = "{}"): [ArtifactResult!]!

Evaluate the selection in parallel, retaining each result and error.

failFast: Boolean = false

Cancel remaining work after the first failure.

arguments: JSON = "{}"

Field arguments applied to each artifact, as a JSON object.

withArtifacts(artifacts: Artifacts!): Artifacts!

Combine two selections, keeping each workspace address once. Different addresses remain distinct even if they return the same object.

artifacts: Artifacts!

withoutUri(uri: String!): Artifacts!

Remove artifacts selected by a DAG address.

uri: String!

References

Returned by

Accepted as an argument by