Reference

operations.manifestGroups queries

Package Trax.Api.GraphQLSurface GraphQL schemaSource ManifestGroupQueries.cs

ManifestGroupQueries, the type behind operations { manifestGroups { ... } }.

The operations.manifestGroups namespace exposes every read scoped to manifest groups: the paged list, single-group lookup, and the cross-group dependency graph the dashboard renders as a DAG. The list lives here (rather than as a sibling of manifests at the operations root) because both the namespace and a sibling manifestGroups field would camelCase to the same name in the schema, and HotChocolate would silently drop one.

groups

Returns a paginated list of manifest groups, ordered by ID descending. Supports both offset-based and keyset cursor pagination.

query {
  operations {
    manifestGroups {
      groups(skip: 0, take: 10) {
        items {
          id
          name
          maxActiveJobs
          priority
          isEnabled
          createdAt
          updatedAt
        }
        totalCount
        isEstimatedCount
        skip
        take
        nextCursor
      }
    }
  }
}
ParameterTypeDefaultDescription
skipInt!0Number of records to skip (offset pagination). A negative value reads as 0
takeInt!25Number of records to return, from 1 to 500. See Page size
nameContainsStringnullCase-sensitive substring match on the group name
afterIdLongnullKeyset cursor. Returns records with id < afterId. See Pagination

Returns: PagedResult<ManifestGroupSummary>

ManifestGroupSummary fields

FieldTypeDescription
idLong!Database ID
nameString!Group name
maxActiveJobsIntConcurrency limit for the group (null = unlimited)
priorityInt!Default priority for manifests in this group
isEnabledBoolean!Whether the group is active
createdAtDateTime!When the row was created
updatedAtDateTime!Last patch via updateManifestGroup

group

Single-group lookup by ID. Used by dashboards to pre-populate the group settings form before sending an updateManifestGroup patch.

query {
  operations {
    manifestGroups {
      group(id: 7) {
        id
        name
        maxActiveJobs
        priority
        isEnabled
      }
    }
  }
}
ParameterTypeRequiredDescription
idLong!YesManifest group database ID

Returns: ManifestGroupSummary (nullable; null when the group does not exist).

stats

Execution roll-up for a set of manifest groups in a single round-trip: manifest count, executions by state, and last run per group. Backs the per-group stat columns on the dashboard's manifest groups list, which calls it with just the ids of the visible page, through the same IOperationsService.GetManifestGroupExecutionStatsAsync call. Every requested id gets a row (zeros when the group has no manifests or executions), returned in the order requested so the caller can zip it to its rows. The metadata side is served by ix_metadata_manifest_state and the manifest side by ix_manifest_manifest_group_id.

query {
  operations {
    manifestGroups {
      stats(groupIds: [1, 2, 7]) {
        groupId
        manifestCount
        totalExecutions
        completed
        failed
        inProgress
        lastRun
        lastEndedRunFailed
      }
    }
  }
}
ParameterTypeRequiredDescription
groupIds[Long!]!YesThe group ids to roll up, at most 1000 distinct ones. Duplicates are collapsed; an empty list returns an empty result. More than 1000 distinct ids fails the field with a GraphQL error coded TRAX_TOO_MANY_IDS

Returns: [ManifestGroupStats!]!

ManifestGroupStats fields

FieldTypeDescription
groupIdLong!The group these stats are for
manifestCountLong!Manifests belonging to the group
totalExecutionsLong!Executions across all of the group's manifests
completedLong!Executions in Completed
failedLong!Executions in Failed
inProgressLong!Executions in InProgress
lastRunDateTimeStart time of the group's most recent execution. Null when there are none
lastEndedRunFailedBoolean!Whether the group's latest ended execution failed: of its executions that completed, failed or were cancelled, the one that started last. false when none has ended. The console tones a failing group by it

graph

Returns the 1-hop cross-group dependency neighborhood for a manifest group: every group containing a manifest the focal group's manifests depend on (upstream), every group containing a manifest depending on the focal group's manifests (downstream), and the focal group itself. Edges are directed parent → dependent.

query {
  operations {
    manifestGroups {
      graph(groupId: 7) {
        nodes { id name isHighlighted isEnabled }
        edges { fromId toId }
      }
    }
  }
}
ParameterTypeRequiredDescription
groupIdLong!YesDatabase ID of the focal manifest group

Returns: ManifestGroupDependencyGraph (nullable). Returns null only when the group does not exist. Empty groups still return a single-node graph (focal group, no edges) so the UI can render the focal node.

dependencyGraph

The whole cross-group dependency graph in one shot: every manifest group as a node and every cross-group dependency (a manifest in one group depending on a manifest in another) as a directed parent → dependent edge. Nothing is highlighted. Backs the global DAG the dashboard renders on the manifest-groups page; graph(groupId) is the same shape narrowed to one group's neighborhood.

query {
  operations {
    manifestGroups {
      dependencyGraph {
        nodes { id name isHighlighted isEnabled }
        edges { fromId toId }
      }
    }
  }
}

Returns: ManifestGroupDependencyGraph! (never null; empty when there are no groups). Same-group dependencies are excluded, so a deployment whose groups never depend on each other returns nodes with no edges.

ManifestGroupDependencyGraph fields

FieldTypeDescription
nodes[DependencyGraphNode!]!All groups in the neighborhood plus the focal group
edges[DependencyGraphEdge!]!Cross-group edges only. Same-group dependencies are excluded

DependencyGraphNode fields

FieldTypeDescription
idLong!Manifest group ID
nameString!Group name
isHighlightedBoolean!true for the focal group; the UI uses this to render it differently
isEnabledBoolean!Whether the group is enabled. A disabled group's manifests are not queued

DependencyGraphEdge fields

FieldTypeDescription
fromIdLong!Parent group ID (the group whose manifests are depended on)
toIdLong!Dependent group ID

See also