changedOutput schema / properties / data / properties / graph / anyOf
Previous value: -[
- {
- "properties": {
- "checkWorkflow": {
- "anyOf": [
- {
- "properties": {
- "baseVariant": {
- "anyOf": [
- {
- "properties": {
- "name": {
- "description": "The variant's name (e.g., `staging`).",
- "type": "string"
- }
- },
- "required": [
- "name"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "description": "The variant provided as a base to check against. Only the differences from the\nbase schema will be tested in operations checks."
- },
- "completedAt": {
- "anyOf": [
- {
- "description": "ISO 8601, extended format with nanoseconds, Zulu (or \"[+-]seconds\" as a string or number relative to now)"
- },
- {
- "type": "null"
- }
- ],
- "description": "The timestamp when the check workflow completed."
- },
- "createdAt": {
- "description": "ISO 8601, extended format with nanoseconds, Zulu (or \"[+-]seconds\" as a string or number relative to now)"
- },
- "gitContext": {
- "anyOf": [
- {
- "properties": {
- "commit": {
- "anyOf": [
- {
- "oneOf": [
- {
- "type": "string"
- },
- {
- "type": "integer"
- }
- ]
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "description": "Contextual parameters supplied by the runtime environment where the check was run."
- },
- "id": {
- "oneOf": [
- {
- "type": "string"
- },
- {
- "type": "integer"
- }
- ]
- },
- "implementingServiceName": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "The name of the implementing service that was responsible for triggering the validation."
- },
- "startedAt": {
- "anyOf": [
- {
- "description": "ISO 8601, extended format with nanoseconds, Zulu (or \"[+-]seconds\" as a string or number relative to now)"
- },
- {
- "type": "null"
- }
- ],
- "description": "The timestamp when the check workflow started."
- },
- "status": {
- "$ref": "#/definitions/CheckWorkflowStatus",
- "description": "Overall status of the workflow, based on the underlying task statuses."
- },
- "tasks": {
- "description": "The set of check tasks associated with this workflow, e.g. composition, operations, etc.",
- "items": {
- "properties": {
- "__typename": {
- "description": "The typename of this object",
- "type": "string"
- },
- "coreSchemaModified": {
- "description": "Whether the build's output supergraph core schema differs from that of the active publish for\nthe workflow's variant at the time this field executed (NOT at the time the check workflow\nstarted).",
- "type": "boolean"
- },
- "hasWarnings": {
- "description": "True if this Proposal check passed with warnings, otherwise false.",
- "type": "boolean"
- },
- "id": {
- "oneOf": [
- {
- "type": "string"
- },
- {
- "type": "integer"
- }
- ]
- },
- "proposalCoverage": {
- "$ref": "#/definitions/ProposalCoverage",
- "description": "Indicates the level of coverage a check's changeset is in approved Proposals. PENDING while Check is still running."
- },
- "result": {
- "anyOf": [
- {
- "properties": {
- "violations": {
- "items": {
- "properties": {
- "coordinate": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "The schema coordinate of this rule violation as defined by RFC:\n\t\thttps://github.com/graphql/graphql-wg/blob/main/rfcs/SchemaCoordinates.md\n\t\tOptional for violations that aren't specific to a single schema element"
- },
- "level": {
- "$ref": "#/definitions/ViolationLevel",
- "description": "The violation level for the rule."
- },
- "message": {
- "description": "A human-readable message describing the rule violation, rendered as markdown in Apollo Studio. Maximum length: 512 characters.",
- "type": "string"
- },
- "rule": {
- "description": "The rule being violated. This is used to group multiple violations together in Studio. Max character length is 128.",
- "type": "string"
- }
- },
- "required": [
- "level",
- "message",
- "rule"
- ],
- "type": "object"
- },
- "type": "array"
- }
- },
- "required": [
- "violations"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "results": {
- "anyOf": [
- {
- "items": {
- "properties": {
- "blocking": {
- "description": "Whether the downstream check workflow blocks the upstream check workflow from completing.",
- "type": "boolean"
- },
- "downstreamGraphID": {
- "description": "The ID of the graph that the downstream variant belongs to.",
- "type": "string"
- },
- "downstreamVariantName": {
- "description": "The name of the downstream variant.",
- "type": "string"
- },
- "failsUpstreamWorkflow": {
- "anyOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ],
- "description": "Whether the downstream check workflow is causing the upstream check workflow to fail. This occurs\nwhen the downstream check workflow is both blocking and failing. This may be null while the\ndownstream check workflow is pending."
- }
- },
- "required": [
- "blocking",
- "downstreamGraphID",
- "downstreamVariantName"
- ],
- "type": "object"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
- ],
- "description": "A list of results for all downstream checks triggered as part of the source variant's checks workflow.\nThis value is null if the task hasn't been initialized yet, or if the build task fails (the build task is a\nprerequisite to this task). This value is _not_ null _while_ the task is running. The returned list is empty\nif the source variant has no downstream variants."
- },
- "severityLevel": {
- "$ref": "#/definitions/ProposalChangeMismatchSeverity",
- "description": "The configured severity at the time the check was run. If the check failed, this is the severity that should be shown. While this Check is PENDING defaults to Service's severityLevel."
- },
- "status": {
- "$ref": "#/definitions/CheckWorkflowTaskStatus",
- "description": "The status of this task. All tasks start with the PENDING status while initializing. If any\n prerequisite task fails, then the task status becomes BLOCKED. Otherwise, if all prerequisite\n tasks pass, then this task runs (still having the PENDING status). Once the task completes, the\n task status will become either PASSED or FAILED."
- },
- "targetURL": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ],
- "description": "A studio UI url to view the details of this check workflow task"
- }
- },
- "required": [
- "id",
- "status"
- ],
- "type": "object"
- },
- "type": "array"
- }
- },
- "required": [
- "id",
- "status",
- "createdAt",
- "tasks"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "description": "Get a check workflow for this graph by its ID"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "properties": {
+ "checkWorkflow": {
+ "anyOf": [
+ {
+ "properties": {
+ "baseVariant": {
+ "anyOf": [
+ {
+ "properties": {
+ "name": {
+ "description": "The variant's name (e.g., `staging`).",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The variant provided as a base to check against. Only the differences from the\nbase schema will be tested in operations checks."
+ },
+ "completedAt": {
+ "anyOf": [
+ {
+ "description": "ISO 8601, extended format with nanoseconds, Zulu (or \"[+-]seconds\" as a string or number relative to now)"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The timestamp when the check workflow completed."
+ },
+ "createdAt": {
+ "description": "ISO 8601, extended format with nanoseconds, Zulu (or \"[+-]seconds\" as a string or number relative to now)"
+ },
+ "gitContext": {
+ "anyOf": [
+ {
+ "properties": {
+ "commit": {
+ "anyOf": [
+ {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Contextual parameters supplied by the runtime environment where the check was run."
+ },
+ "id": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "implementingServiceName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The name of the implementing service that was responsible for triggering the validation."
+ },
+ "startedAt": {
+ "anyOf": [
+ {
+ "description": "ISO 8601, extended format with nanoseconds, Zulu (or \"[+-]seconds\" as a string or number relative to now)"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The timestamp when the check workflow started."
+ },
+ "status": {
+ "$ref": "#/definitions/CheckWorkflowStatus",
+ "description": "Overall status of the workflow, based on the underlying task statuses."
+ },
+ "tasks": {
+ "description": "The set of check tasks associated with this workflow, e.g. composition, operations, etc.",
+ "items": {
+ "properties": {
+ "__typename": {
+ "description": "The typename of this object",
+ "type": "string"
+ },
+ "compositionResult": {
+ "anyOf": [
+ {
+ "properties": {
+ "errors": {
+ "description": "A list of errors that occurred during composition. Errors mean that Apollo was unable to compose the graph variant's subgraphs into a supergraph schema. If any errors are present, gateways / routers are not updated.",
+ "items": {
+ "properties": {
+ "code": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "A machine-readable error code."
+ },
+ "locations": {
+ "description": "Source locations related to the error.",
+ "items": {
+ "anyOf": [
+ {
+ "properties": {
+ "column": {
+ "description": "Column number.",
+ "type": "integer"
+ },
+ "line": {
+ "description": "Line number.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "line",
+ "column"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "message": {
+ "description": "A human-readable message describing the error.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "message",
+ "locations"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "graphCompositionID": {
+ "description": "The unique ID for this instance of composition.",
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ }
+ },
+ "required": [
+ "graphCompositionID",
+ "errors"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "An old version of buildResult that returns a very old GraphQL type that generally should be\navoided. This field will soon be deprecated."
+ },
+ "coreSchemaModified": {
+ "description": "Whether the build's output supergraph core schema differs from that of the active publish for\nthe workflow's variant at the time this field executed (NOT at the time the check workflow\nstarted).",
+ "type": "boolean"
+ },
+ "customResult": {
+ "anyOf": [
+ {
+ "properties": {
+ "violations": {
+ "items": {
+ "properties": {
+ "coordinate": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The schema coordinate of this rule violation as defined by RFC:\n\t\thttps://github.com/graphql/graphql-wg/blob/main/rfcs/SchemaCoordinates.md\n\t\tOptional for violations that aren't specific to a single schema element"
+ },
+ "level": {
+ "$ref": "#/definitions/ViolationLevel",
+ "description": "The violation level for the rule."
+ },
+ "message": {
+ "description": "A human-readable message describing the rule violation, rendered as markdown in Apollo Studio. Maximum length: 512 characters.",
+ "type": "string"
+ },
+ "rule": {
+ "description": "The rule being violated. This is used to group multiple violations together in Studio. Max character length is 128.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "level",
+ "message",
+ "rule"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "violations"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "hasWarnings": {
+ "description": "True if this Proposal check passed with warnings, otherwise false.",
+ "type": "boolean"
+ },
+ "id": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "lintResult": {
+ "anyOf": [
+ {
+ "properties": {
+ "diagnostics": {
+ "description": "The set of lint rule violations found in the schema.",
+ "items": {
+ "properties": {
+ "coordinate": {
+ "description": "The schema coordinate of this diagnostic.",
+ "type": "string"
+ },
+ "level": {
+ "$ref": "#/definitions/LintDiagnosticLevel",
+ "description": "The graph's configured level for the rule."
+ },
+ "message": {
+ "description": "The message describing the rule violation.",
+ "type": "string"
+ },
+ "rule": {
+ "$ref": "#/definitions/LintRule",
+ "description": "The lint rule being violated."
+ },
+ "sourceLocations": {
+ "description": "The human readable position in the file of the rule violation.",
+ "items": {
+ "properties": {
+ "end": {
+ "anyOf": [
+ {
+ "properties": {
+ "column": {
+ "type": "integer"
+ },
+ "line": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "line",
+ "column"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "start": {
+ "anyOf": [
+ {
+ "properties": {
+ "column": {
+ "type": "integer"
+ },
+ "line": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "line",
+ "column"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "subgraphName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "coordinate",
+ "level",
+ "message",
+ "rule",
+ "sourceLocations"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "stats": {
+ "description": "Stats generated from the resulting diagnostics.",
+ "properties": {
+ "errorsCount": {
+ "description": "Total number of lint errors.",
+ "type": "integer"
+ },
+ "ignoredCount": {
+ "description": "Total number of lint rules ignored.",
+ "type": "integer"
+ },
+ "totalCount": {
+ "description": "Total number of lint rules violated.",
+ "type": "integer"
+ },
+ "warningsCount": {
+ "description": "Total number of lint warnings.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "errorsCount",
+ "warningsCount",
+ "totalCount",
+ "ignoredCount"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "diagnostics",
+ "stats"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "operationsResult": {
+ "anyOf": [
+ {
+ "properties": {
+ "affectedQueries": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "displayName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Name to display to the user for the operation"
+ },
+ "id": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "isValid": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Determines if this query validates against the proposed schema"
+ },
+ "markedAsIgnored": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Whether this operation was ignored and its severity was downgraded for that reason"
+ },
+ "markedAsSafe": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Whether the changes were marked as safe and its severity was downgraded for that reason"
+ },
+ "name": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Name provided for the operation, which can be empty string if it is an anonymous operation"
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Operations affected by all changes in diff"
+ },
+ "areChangesTruncated": {
+ "description": "Indicates whether the changes for this operation check were truncated due to their large quantity.",
+ "type": "boolean"
+ },
+ "changeSummary": {
+ "description": "Summary/counts for all changes in diff",
+ "properties": {
+ "total": {
+ "description": "Counts for all changes.",
+ "properties": {
+ "additions": {
+ "description": "Number of changes that are additions. This includes adding types, adding fields to object, input\nobject, and interface types, adding values to enums, adding members to interfaces and unions, and\nadding arguments.",
+ "type": "integer"
+ },
+ "deprecations": {
+ "description": "Number of changes that are new usages of the @deprecated directive.",
+ "type": "integer"
+ },
+ "edits": {
+ "description": "Number of changes that are edits. This includes types changing kind, fields and arguments\nchanging type, arguments changing default value, and any description changes. This also includes\nedits to @deprecated reason strings.",
+ "type": "integer"
+ },
+ "removals": {
+ "description": "Number of changes that are removals. This includes removing types, removing fields from object,\ninput object, and interface types, removing values from enums, removing members from interfaces\nand unions, and removing arguments. This also includes removing @deprecated usages.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "additions",
+ "removals",
+ "edits",
+ "deprecations"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "total"
+ ],
+ "type": "object"
+ },
+ "changes": {
+ "description": "List of schema changes with associated affected clients and operations",
+ "items": {
+ "properties": {
+ "category": {
+ "$ref": "#/definitions/ChangeCategory",
+ "description": "Indication of the category of the change (e.g. addition, removal, edit)."
+ },
+ "code": {
+ "description": "Indicates the type of change that was made, and to what (e.g., 'TYPE_REMOVED').",
+ "type": "string"
+ },
+ "description": {
+ "description": "A human-readable description of the change.",
+ "type": "string"
+ },
+ "severity": {
+ "$ref": "#/definitions/ChangeSeverity",
+ "description": "The severity of the change (e.g., `FAILURE` or `NOTICE`)"
+ }
+ },
+ "required": [
+ "severity",
+ "code",
+ "category",
+ "description"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "checkSeverity": {
+ "$ref": "#/definitions/ChangeSeverity",
+ "description": "Indication of the success of the change, either failure, warning, or notice."
+ },
+ "numberOfAffectedOperations": {
+ "description": "Number of affected operations that are neither marked as SAFE or IGNORED.",
+ "type": "integer"
+ },
+ "numberOfCheckedOperations": {
+ "description": "Number of operations that were validated during schema diff",
+ "type": "integer"
+ },
+ "totalNumberOfAffectedOperations": {
+ "description": "Total number of affected operations including ones marked SAFE or IGNORED.",
+ "type": "integer"
+ },
+ "totalNumberOfChanges": {
+ "description": "Total number of schema changes, excluding any truncation.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "checkSeverity",
+ "numberOfCheckedOperations",
+ "totalNumberOfChanges",
+ "areChangesTruncated",
+ "numberOfAffectedOperations",
+ "totalNumberOfAffectedOperations",
+ "changeSummary",
+ "changes"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The result of the operations check. This will be null when the task is initializing or running,\nor when the build task fails (which is a prerequisite task to this one)."
+ },
+ "proposalCoverage": {
+ "$ref": "#/definitions/ProposalCoverage",
+ "description": "Indicates the level of coverage a check's changeset is in approved Proposals. PENDING while Check is still running."
+ },
+ "results": {
+ "anyOf": [
+ {
+ "items": {
+ "properties": {
+ "blocking": {
+ "description": "Whether the downstream check workflow blocks the upstream check workflow from completing.",
+ "type": "boolean"
+ },
+ "downstreamGraphID": {
+ "description": "The ID of the graph that the downstream variant belongs to.",
+ "type": "string"
+ },
+ "downstreamVariantName": {
+ "description": "The name of the downstream variant.",
+ "type": "string"
+ },
+ "failsUpstreamWorkflow": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Whether the downstream check workflow is causing the upstream check workflow to fail. This occurs\nwhen the downstream check workflow is both blocking and failing. This may be null while the\ndownstream check workflow is pending."
+ }
+ },
+ "required": [
+ "blocking",
+ "downstreamGraphID",
+ "downstreamVariantName"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "A list of results for all downstream checks triggered as part of the source variant's checks workflow.\nThis value is null if the task hasn't been initialized yet, or if the build task fails (the build task is a\nprerequisite to this task). This value is _not_ null _while_ the task is running. The returned list is empty\nif the source variant has no downstream variants."
+ },
+ "severityLevel": {
+ "$ref": "#/definitions/ProposalChangeMismatchSeverity",
+ "description": "The configured severity at the time the check was run. If the check failed, this is the severity that should be shown. While this Check is PENDING defaults to Service's severityLevel."
+ },
+ "status": {
+ "$ref": "#/definitions/CheckWorkflowTaskStatus",
+ "description": "The status of this task. All tasks start with the PENDING status while initializing. If any\n prerequisite task fails, then the task status becomes BLOCKED. Otherwise, if all prerequisite\n tasks pass, then this task runs (still having the PENDING status). Once the task completes, the\n task status will become either PASSED or FAILED."
+ },
+ "targetURL": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "A studio UI url to view the details of this check workflow task"
+ }
+ },
+ "required": [
+ "id",
+ "status"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "id",
+ "status",
+ "createdAt",
+ "tasks"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Get a check workflow for this graph by its ID"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]