diff --git a/lib/api-helper/goal/chooseAndSetGoals.ts b/lib/api-helper/goal/chooseAndSetGoals.ts index f05d9a8fa..0a2a0c9cb 100644 --- a/lib/api-helper/goal/chooseAndSetGoals.ts +++ b/lib/api-helper/goal/chooseAndSetGoals.ts @@ -20,7 +20,6 @@ import { logger, ProjectOperationCredentials, RemoteRepoRef, - Success, } from "@atomist/automation-client"; import { AddressChannels, @@ -31,7 +30,6 @@ import { GoalWithPrecondition, hasPreconditions, } from "../../api/goal/Goal"; -import { ExecuteGoal } from "../../api/goal/GoalInvocation"; import { Goals } from "../../api/goal/Goals"; import { SdmGoalFulfillment, diff --git a/lib/api-helper/goal/storeGoals.ts b/lib/api-helper/goal/storeGoals.ts index 61dd62d4c..ede6eb298 100644 --- a/lib/api-helper/goal/storeGoals.ts +++ b/lib/api-helper/goal/storeGoals.ts @@ -232,6 +232,7 @@ export async function storeGoalSet(ctx: HandlerContext, owner: push.repo.owner, providerId: push.repo.org.provider.providerId, }, + state: goalSetState(sdmGoals), goals: sdmGoals.map(g => ({ name: g.name, uniqueName: g.uniqueName, @@ -241,6 +242,34 @@ export async function storeGoalSet(ctx: HandlerContext, return ctx.messageClient.send(sdmGoalSet, addressEvent(GoalSetRootType)); } +export function goalSetState(goals: Array<{ state: SdmGoalState }>): SdmGoalState { + if (goals.some(g => g.state === SdmGoalState.failure)) { + return SdmGoalState.failure; + } else if (goals.some(g => g.state === SdmGoalState.canceled)) { + return SdmGoalState.canceled; + } else if (goals.some(g => g.state === SdmGoalState.stopped)) { + return SdmGoalState.stopped; + } else if (goals.some(g => g.state === SdmGoalState.in_process)) { + return SdmGoalState.in_process; + } else if (goals.some(g => g.state === SdmGoalState.waiting_for_pre_approval)) { + return SdmGoalState.waiting_for_pre_approval; + } else if (goals.some(g => g.state === SdmGoalState.waiting_for_approval)) { + return SdmGoalState.waiting_for_approval; + } else if (goals.some(g => g.state === SdmGoalState.pre_approved)) { + return SdmGoalState.pre_approved; + } else if (goals.some(g => g.state === SdmGoalState.approved)) { + return SdmGoalState.approved; + } else if (goals.some(g => g.state === SdmGoalState.requested)) { + return SdmGoalState.requested; + } else if (goals.some(g => g.state === SdmGoalState.planned)) { + return SdmGoalState.planned; + } else if (goals.some(g => g.state === SdmGoalState.skipped)) { + return SdmGoalState.skipped; + } else { + return SdmGoalState.success; + } +} + function cleanPush(push: PushFields.Fragment): PushFields.Fragment { const newPush = _.cloneDeep(push); delete (newPush as any).goals; diff --git a/lib/api-helper/listener/goalSetListener.ts b/lib/api-helper/listener/goalSetListener.ts new file mode 100644 index 000000000..4a7449cdd --- /dev/null +++ b/lib/api-helper/listener/goalSetListener.ts @@ -0,0 +1,54 @@ +/* + * Copyright © 2018 Atomist, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { + addressEvent, + logger, + QueryNoCacheOptions, +} from "@atomist/automation-client"; +import { GoalSetRootType } from "../../api/goal/SdmGoalSetMessage"; +import { GoalCompletionListener } from "../../api/listener/GoalCompletionListener"; +import { SdmGoalSetForId } from "../../typings/types"; +import { goalSetState } from "../goal/storeGoals"; + +/** + * Update the state of the SdmGoalSet as the goals progress + * @param gcl + */ +export const GoalSetGoalCompletionListener: GoalCompletionListener = async gcl => { + const state = goalSetState(gcl.allGoals || []); + + logger.debug(`GoalSet '${gcl.completedGoal.goalSetId}' now in state '${state}' because goal '${ + gcl.completedGoal.uniqueName}' was '${gcl.completedGoal.state}'`); + + const result = await gcl.context.graphClient.query({ + name: "SdmGoalSetForId", + variables: { + goalSetId: [gcl.completedGoal.goalSetId], + }, + options: QueryNoCacheOptions, + }); + if (result && result.SdmGoalSet && result.SdmGoalSet.length === 1) { + const goalSet = result.SdmGoalSet[0]; + if (goalSet.state !== state) { + const newGoalSet = { + ...goalSet, + state, + }; + await gcl.context.messageClient.send(newGoalSet, addressEvent(GoalSetRootType)); + } + } +}; diff --git a/lib/api-helper/machine/AbstractSoftwareDeliveryMachine.ts b/lib/api-helper/machine/AbstractSoftwareDeliveryMachine.ts index de84a1293..d30f373a6 100644 --- a/lib/api-helper/machine/AbstractSoftwareDeliveryMachine.ts +++ b/lib/api-helper/machine/AbstractSoftwareDeliveryMachine.ts @@ -63,6 +63,7 @@ import { import { IngesterRegistration } from "../../api/registration/IngesterRegistration"; import { InterpretLog } from "../../spi/log/InterpretedLog"; import { DefaultGoalImplementationMapper } from "../goal/DefaultGoalImplementationMapper"; +import { GoalSetGoalCompletionListener } from "../listener/goalSetListener"; import { lastLinesLogInterpreter } from "../log/logInterpreters"; import { HandlerRegistrationManagerSupport } from "./HandlerRegistrationManagerSupport"; import { ListenerRegistrationManagerSupport } from "./ListenerRegistrationManagerSupport"; @@ -309,6 +310,9 @@ export abstract class AbstractSoftwareDeliveryMachine Promise.resolve(this.scheduleTriggeredListeners())); + + // Register the goal completion listenr to update goal set state + this.addGoalCompletionListener(GoalSetGoalCompletionListener); } } diff --git a/lib/api/goal/SdmGoalSetMessage.ts b/lib/api/goal/SdmGoalSetMessage.ts index 54bca127c..e63ef31cb 100644 --- a/lib/api/goal/SdmGoalSetMessage.ts +++ b/lib/api/goal/SdmGoalSetMessage.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { SdmGoalState } from "../../typings/types"; import { SdmProvenance } from "./SdmGoalMessage"; export const GoalSetRootType = "SdmGoalSet"; @@ -31,11 +32,13 @@ export interface SdmGoalSetMessage { providerId: string; }; + state: SdmGoalState; + goalSet: string; goalSetId: string; ts: number; - goals: Array<{ name: string, uniqueName: string}>; + goals: Array<{ name: string, uniqueName: string }>; provenance: SdmProvenance; } diff --git a/lib/api/goal/common/Queue.ts b/lib/api/goal/common/Queue.ts new file mode 100644 index 000000000..d885ec41e --- /dev/null +++ b/lib/api/goal/common/Queue.ts @@ -0,0 +1,204 @@ +/* + * Copyright © 2018 Atomist, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { + EventFired, + GraphQL, + HandlerContext, + logger, + OnEvent, + QueryNoCacheOptions, + Success, +} from "@atomist/automation-client"; +import * as _ from "lodash"; +import { updateGoal } from "../../../api-helper/goal/storeGoals"; +import { LogSuppressor } from "../../../api-helper/log/logInterpreters"; +import { + InProcessSdmGoalSets, + OnAnySdmGoalSets, + SdmGoalsByGoalSetIdAndUniqueName, + SdmGoalState, + SdmGoalWithPushFields, +} from "../../../typings/types"; +import { SoftwareDeliveryMachine } from "../../machine/SoftwareDeliveryMachine"; +import { SoftwareDeliveryMachineConfiguration } from "../../machine/SoftwareDeliveryMachineOptions"; +import { AnyPush } from "../../mapping/support/commonPushTests"; +import { + Goal, + GoalDefinition, +} from "../Goal"; +import { DefaultGoalNameGenerator } from "../GoalNameGenerator"; +import { + FulfillableGoal, + FulfillableGoalDetails, + getGoalDefinitionFrom, +} from "../GoalWithFulfillment"; +import { SdmGoalEvent } from "../SdmGoalEvent"; +import { IndependentOfEnvironment } from "../support/environment"; +import SdmGoalSet = InProcessSdmGoalSets.SdmGoalSet; + +/** + * Options to configure the Queue goal + */ +export interface QueueOptions { + concurrent?: number; + fetch?: number; +} + +export const DefaultQueueOptions: QueueOptions = { + concurrent: 2, + fetch: 10, +}; + +/** + * Goal to queue current goal set until it is the first in the list and can execute + */ +export class Queue extends FulfillableGoal { + + constructor(private readonly options: FulfillableGoalDetails & QueueOptions = DefaultQueueOptions, + ...dependsOn: Goal[]) { + + super({ + ...getGoalDefinitionFrom(options, DefaultGoalNameGenerator.generateName("queue"), QueueDefinition), + }, ...dependsOn); + + this.addFulfillment({ + name: `cancel-${this.definition.uniqueName}`, + pushTest: AnyPush, + goalExecutor: async gi => ({ state: SdmGoalState.in_process }), + logInterpreter: LogSuppressor, + }); + } + + public register(sdm: SoftwareDeliveryMachine): void { + super.register(sdm); + + const optsToUse: QueueOptions = { + ...DefaultQueueOptions, + ...this.options, + }; + + sdm.addEvent({ + name: `OnAnySdmGoalSet`, + description: `Handle queuing for goal ${this.definition.uniqueName}`, + subscription: GraphQL.subscription({ + name: "OnAnySdmGoalSet", + variables: { + registration: [sdm.configuration.name] as any, + }, + }), + listener: handleSdmGoalSetEvent(optsToUse, this.definition, sdm.configuration), + }); + } +} + +const QueueDefinition: GoalDefinition = { + uniqueName: "queue", + displayName: "queue goals", + environment: IndependentOfEnvironment, + workingDescription: "Queued", + completedDescription: "Started goals", + failedDescription: "Failed to queue goals", +}; + +export function handleSdmGoalSetEvent(options: QueueOptions, + definition: GoalDefinition, + configuration: SoftwareDeliveryMachineConfiguration): OnEvent { + return async (e: EventFired, ctx: HandlerContext) => { + const optsToUse: QueueOptions = { + ...DefaultQueueOptions, + ...options, + }; + + const goalSets = await ctx.graphClient.query({ + name: "InProcessSdmGoalSets", + variables: { + fetch: optsToUse.fetch + optsToUse.concurrent, + registration: [configuration.name], + }, + options: QueryNoCacheOptions, + }); + + if (goalSets && goalSets.SdmGoalSet && goalSets.SdmGoalSet) { + await startGoals(goalSets, optsToUse, definition, ctx); + await updateGoals(goalSets, optsToUse, definition, ctx); + } + + return Success; + }; +} + +async function loadQueueGoals(goalsSets: SdmGoalSet[], + definition: GoalDefinition, + ctx: HandlerContext): Promise { + return (await ctx.graphClient.query({ + name: "SdmGoalsByGoalSetIdAndUniqueName", + variables: { + goalSetId: goalsSets.map(gs => gs.goalSetId), + uniqueName: [definition.uniqueName], + }, + options: QueryNoCacheOptions, + })).SdmGoal as SdmGoalWithPushFields.Fragment[] || []; +} + +async function startGoals(goalSets: InProcessSdmGoalSets.Query, + options: QueueOptions, + definition: GoalDefinition, + ctx: HandlerContext) { + // Update goal sets that are allowed to start + const goalSetsToStart = goalSets.SdmGoalSet.slice(0, options.concurrent) + .filter(gs => gs.goals.some(g => g.uniqueName === definition.uniqueName)); + if (goalSetsToStart.length > 0) { + + logger.debug(`Following goal sets are ready to start: '${goalSetsToStart.map(gs => gs.goalSetId).join(", ")}'`); + const queueGoals = await loadQueueGoals(goalSetsToStart, definition, ctx); + + for (const goalSetToStart of goalSetsToStart) { + const queueGoal = _.maxBy(queueGoals.filter(g => g.goalSetId === goalSetToStart.goalSetId), "ts") as SdmGoalEvent; + logger.debug(`Updating goal '${definition.uniqueName}' of goal set '${queueGoal.goalSetId}' to 'success'`); + if (queueGoal.state === SdmGoalState.in_process) { + await updateGoal(ctx, queueGoal, { + state: SdmGoalState.success, + description: definition.completedDescription, + }); + } + } + } +} + +async function updateGoals(goalSets: InProcessSdmGoalSets.Query, + options: QueueOptions, + definition: GoalDefinition, ctx: HandlerContext) { + // Update pending goal sets with a counter + const goalSetsToUpdate = goalSets.SdmGoalSet.slice(options.concurrent) + .filter(gs => gs.goals.some(g => g.uniqueName === definition.uniqueName)); + if (goalSetsToUpdate.length > 0) { + + const updateGoals = await loadQueueGoals(goalSetsToUpdate, definition, ctx); + + for (const goalSetToUpdate of goalSetsToUpdate) { + const updGoal = _.maxBy(updateGoals.filter(g => g.goalSetId === goalSetToUpdate.goalSetId), "ts") as SdmGoalEvent; + const phase = `at ${goalSetsToUpdate.findIndex(gs => gs.goalSetId === updGoal.goalSetId) + 1}`; + if (updGoal.state === SdmGoalState.in_process && updGoal.phase !== phase) { + await updateGoal(ctx, updGoal, { + state: SdmGoalState.in_process, + description: definition.workingDescription, + phase, + }); + } + } + } +} diff --git a/lib/api/goal/common/createGoal.ts b/lib/api/goal/common/createGoal.ts index 64a7a0fb2..db3267a00 100644 --- a/lib/api/goal/common/createGoal.ts +++ b/lib/api/goal/common/createGoal.ts @@ -93,7 +93,8 @@ export function createPredicatedGoal(egi: EssentialGoalInfo, */ export function createPredicatedGoalExecutor(uniqueName: string, goalExecutor: ExecuteGoal, - w: WaitRules): ExecuteGoal { + w: WaitRules, + unref: boolean = true): ExecuteGoal { if (!!w.timeoutSeconds && !!w.timeoutMillis) { throw new Error("Invalid combination: Cannot specify timeoutSeconds and timeoutMillis: Choose one"); } @@ -104,21 +105,26 @@ export function createPredicatedGoalExecutor(uniqueName: string, waitRulesToUse.timeoutMillis = waitRulesToUse.timeoutMillis || 1000 * w.timeoutSeconds; return async gi => { - for (let tries = 0; tries++;) { - if (tries > w.retries) { + let tries = 1; + while (true) { + if (tries > waitRulesToUse.retries) { throw new Error(`Goal '${uniqueName}' timed out after max retries: ${JSON.stringify(waitRulesToUse)}`); } - if (await w.condition(gi)) { + if (await waitRulesToUse.condition(gi)) { return goalExecutor(gi); } - logger.info("Waiting %d seconds for '%s'", w.timeoutSeconds, uniqueName); - await wait(w.timeoutMillis); + tries++; + logger.info("Waiting %dms for '%s'", waitRulesToUse.timeoutMillis, uniqueName); + await wait(waitRulesToUse.timeoutMillis, unref); } }; } -function wait(timeoutMillis: number): Promise { +function wait(timeoutMillis: number, unref: boolean): Promise { return new Promise(resolve => { - setTimeout(() => resolve(), timeoutMillis).unref(); + const timer = setTimeout(resolve, timeoutMillis); + if (unref) { + timer.unref(); + } }); } diff --git a/lib/graphql/query/InProcessSdmGoalSets.graphql b/lib/graphql/query/InProcessSdmGoalSets.graphql new file mode 100644 index 000000000..df4bbe509 --- /dev/null +++ b/lib/graphql/query/InProcessSdmGoalSets.graphql @@ -0,0 +1,25 @@ +query InProcessSdmGoalSets($fetch: Int!, $registration: [String!]) { + SdmGoalSet( + _orderBy: "ts" + _ordering: asc + _first: $fetch + state: [pre_approved, requested, approved, planned, in_process] + ) { + goalSetId + goalSet + state + provenance(registration: $registration) @required { + registration + } + sha + branch + repo { + owner + name + } + goals { + uniqueName + name + } + } +} diff --git a/lib/graphql/query/SdmGoalByGoalSetIdAndUniqueName.graphql b/lib/graphql/query/SdmGoalByGoalSetIdAndUniqueName.graphql new file mode 100644 index 000000000..04d06d31f --- /dev/null +++ b/lib/graphql/query/SdmGoalByGoalSetIdAndUniqueName.graphql @@ -0,0 +1,15 @@ +query SdmGoalsByGoalSetIdAndUniqueName( + $goalSetId: [String!] + $uniqueName: [String] + $state: [SdmGoalState] +) { + SdmGoal( + _first: 100 + goalSetId: $goalSetId + uniqueName: $uniqueName + state: $state + ) { + ...SdmGoalWithPushFields + ...SdmGoalRepo + } +} diff --git a/lib/graphql/query/SdmGoalSetForId.graphql b/lib/graphql/query/SdmGoalSetForId.graphql new file mode 100644 index 000000000..5873de4f7 --- /dev/null +++ b/lib/graphql/query/SdmGoalSetForId.graphql @@ -0,0 +1,28 @@ +query SdmGoalSetForId($goalSetId: [String!]) { + SdmGoalSet(goalSetId: $goalSetId) { + branch + goalSet + goalSetId + goals { + name + uniqueName + } + provenance { + channelId + correlationId + name + registration + ts + userId + version + } + repo { + name + owner + providerId + } + sha + state + ts + } +} diff --git a/lib/graphql/schema.json b/lib/graphql/schema.json index 627fa7234..c37053cad 100644 --- a/lib/graphql/schema.json +++ b/lib/graphql/schema.json @@ -9455,12 +9455,12 @@ "deprecationReason": null }, { - "name": "SdmGoal", - "description": "Auto-generated query for SdmGoal", + "name": "CommitIssueRelationship", + "description": "Auto-generated query for CommitIssueRelationship", "args": [ { "name": "id", - "description": "The ID of this SdmGoal", + "description": "The ID of this CommitIssueRelationship", "type": { "kind": "SCALAR", "name": "ID", @@ -9539,119 +9539,118 @@ "defaultValue": null }, { - "name": "approvalRequired", + "name": "type", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { - "kind": "SCALAR", - "name": "Boolean", + "kind": "ENUM", + "name": "CommitIssueRelationshipType", "ofType": null } }, "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommitIssueRelationship", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "Deployment", + "description": "Auto-generated query for Deployment", + "args": [ + { + "name": "id", + "description": "The ID of this Deployment", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null }, { - "name": "branch", - "description": null, + "name": "_offset", + "description": "Paging offset (default 0)", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "Int", + "ofType": null }, "defaultValue": null }, { - "name": "data", - "description": null, + "name": "_first", + "description": "Return the first X results (default 10)", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "Int", + "ofType": null }, "defaultValue": null }, { - "name": "description", - "description": null, + "name": "_orderBy", + "description": "Name of property to sort on", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "defaultValue": null }, { - "name": "environment", - "description": null, + "name": "_after", + "description": "Search only after this timestamp", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "Int", + "ofType": null }, "defaultValue": null }, { - "name": "error", - "description": null, + "name": "_before", + "description": "Search only before this timestamp", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "Int", + "ofType": null }, "defaultValue": null }, { - "name": "externalKey", - "description": null, + "name": "_ordering", + "description": "Direction of ordering", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "ENUM", + "name": "_Ordering", + "ofType": null }, "defaultValue": null }, { - "name": "externalUrl", - "description": null, + "name": "_search", + "description": "Elastic Search simple full text search syntax", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "defaultValue": null }, { - "name": "goalSet", + "name": "environment", "description": null, "type": { "kind": "LIST", @@ -9665,119 +9664,118 @@ "defaultValue": null }, { - "name": "goalSetId", + "name": "ts", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Deployment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IssueRelationship", + "description": "Auto-generated query for IssueRelationship", + "args": [ + { + "name": "id", + "description": "The ID of this IssueRelationship", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null }, { - "name": "name", - "description": null, + "name": "_offset", + "description": "Paging offset (default 0)", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "Int", + "ofType": null }, "defaultValue": null }, { - "name": "phase", - "description": null, + "name": "_first", + "description": "Return the first X results (default 10)", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "Int", + "ofType": null }, "defaultValue": null }, { - "name": "preApprovalRequired", - "description": null, + "name": "_orderBy", + "description": "Name of property to sort on", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "defaultValue": null }, { - "name": "retryFeasible", - "description": null, + "name": "_after", + "description": "Search only after this timestamp", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } + "kind": "SCALAR", + "name": "Int", + "ofType": null }, "defaultValue": null }, { - "name": "sha", - "description": null, + "name": "_before", + "description": "Search only before this timestamp", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "Int", + "ofType": null }, "defaultValue": null }, { - "name": "state", - "description": null, + "name": "_ordering", + "description": "Direction of ordering", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SdmGoalState", - "ofType": null - } + "kind": "ENUM", + "name": "_Ordering", + "ofType": null }, "defaultValue": null }, { - "name": "ts", - "description": null, + "name": "_search", + "description": "Elastic Search simple full text search syntax", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "defaultValue": null }, { - "name": "uniqueName", + "name": "relationshipId", "description": null, "type": { "kind": "LIST", @@ -9791,7 +9789,7 @@ "defaultValue": null }, { - "name": "url", + "name": "state", "description": null, "type": { "kind": "LIST", @@ -9805,14 +9803,14 @@ "defaultValue": null }, { - "name": "version", + "name": "type", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null } }, @@ -9824,7 +9822,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SdmGoal", + "name": "IssueRelationship", "ofType": null } }, @@ -9832,12 +9830,12 @@ "deprecationReason": null }, { - "name": "SdmGoalSet", - "description": "Auto-generated query for SdmGoalSet", + "name": "Card", + "description": "Auto-generated query for Card", "args": [ { "name": "id", - "description": "The ID of this SdmGoalSet", + "description": "The ID of this Card", "type": { "kind": "SCALAR", "name": "ID", @@ -9916,7 +9914,7 @@ "defaultValue": null }, { - "name": "branch", + "name": "key", "description": null, "type": { "kind": "LIST", @@ -9930,7 +9928,7 @@ "defaultValue": null }, { - "name": "goalSet", + "name": "post", "description": null, "type": { "kind": "LIST", @@ -9944,7 +9942,7 @@ "defaultValue": null }, { - "name": "goalSetId", + "name": "shortTitle", "description": null, "type": { "kind": "LIST", @@ -9958,21 +9956,21 @@ "defaultValue": null }, { - "name": "sha", + "name": "ts", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, "defaultValue": null }, { - "name": "ts", + "name": "ttl", "description": null, "type": { "kind": "LIST", @@ -9984,6 +9982,20 @@ } }, "defaultValue": null + }, + { + "name": "type", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null } ], "type": { @@ -9991,7 +10003,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SdmGoalSet", + "name": "Card", "ofType": null } }, @@ -9999,12 +10011,12 @@ "deprecationReason": null }, { - "name": "SdmGoalDisplay", - "description": "Auto-generated query for SdmGoalDisplay", + "name": "Notification", + "description": "Auto-generated query for Notification", "args": [ { "name": "id", - "description": "The ID of this SdmGoalDisplay", + "description": "The ID of this Notification", "type": { "kind": "SCALAR", "name": "ID", @@ -10083,21 +10095,37 @@ "defaultValue": null }, { - "name": "branch", + "name": "body", "description": null, "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "defaultValue": null }, { - "name": "sha", + "name": "contentType", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "key", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "post", "description": null, "type": { "kind": "LIST", @@ -10111,21 +10139,17 @@ "defaultValue": null }, { - "name": "state", + "name": "ts", "description": null, "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SdmGoalDisplayState", - "ofType": null - } + "kind": "SCALAR", + "name": "Int", + "ofType": null }, "defaultValue": null }, { - "name": "ts", + "name": "ttl", "description": null, "type": { "kind": "LIST", @@ -10144,7 +10168,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SdmGoalDisplay", + "name": "Notification", "ofType": null } }, @@ -10152,12 +10176,12 @@ "deprecationReason": null }, { - "name": "SdmBuildIdentifier", - "description": "Auto-generated query for SdmBuildIdentifier", + "name": "AtomistLog", + "description": "Auto-generated query for AtomistLog", "args": [ { "name": "id", - "description": "The ID of this SdmBuildIdentifier", + "description": "The ID of this AtomistLog", "type": { "kind": "SCALAR", "name": "ID", @@ -10236,8 +10260,64 @@ "defaultValue": null }, { - "name": "identifier", - "description": null, + "name": "timestamp", + "description": "Status timestamp", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "team_id", + "description": "Team ID for which log message is produced", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "level", + "description": "Log message level: debug, info, warn, error, fatal", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "message", + "description": "Log message", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "category", + "description": "Grouping, namespace etc.", "type": { "kind": "LIST", "name": null, @@ -10255,7 +10335,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SdmBuildIdentifier", + "name": "AtomistLog", "ofType": null } }, @@ -10263,12 +10343,12 @@ "deprecationReason": null }, { - "name": "SdmDeployEnablement", - "description": "Auto-generated query for SdmDeployEnablement", + "name": "SdmGoal", + "description": "Auto-generated query for SdmGoal", "args": [ { "name": "id", - "description": "The ID of this SdmDeployEnablement", + "description": "The ID of this SdmGoal", "type": { "kind": "SCALAR", "name": "ID", @@ -10347,7 +10427,21 @@ "defaultValue": null }, { - "name": "owner", + "name": "approvalRequired", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "branch", "description": null, "type": { "kind": "LIST", @@ -10361,7 +10455,7 @@ "defaultValue": null }, { - "name": "providerId", + "name": "data", "description": null, "type": { "kind": "LIST", @@ -10375,7 +10469,161 @@ "defaultValue": null }, { - "name": "repo", + "name": "description", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "environment", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "error", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "externalKey", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "externalUrl", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "goalSet", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "goalSetId", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "phase", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "preApprovalRequired", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "retryFeasible", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "sha", "description": null, "type": { "kind": "LIST", @@ -10396,7 +10644,63 @@ "name": null, "ofType": { "kind": "ENUM", - "name": "SdmDeployState", + "name": "SdmGoalState", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "ts", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "uniqueName", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "url", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "version", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", "ofType": null } }, @@ -10408,7 +10712,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SdmDeployEnablement", + "name": "SdmGoal", "ofType": null } }, @@ -10416,12 +10720,12 @@ "deprecationReason": null }, { - "name": "SdmVersion", - "description": "Auto-generated query for SdmVersion", + "name": "SdmGoalSet", + "description": "Auto-generated query for SdmGoalSet", "args": [ { "name": "id", - "description": "The ID of this SdmVersion", + "description": "The ID of this SdmGoalSet", "type": { "kind": "SCALAR", "name": "ID", @@ -10514,7 +10818,7 @@ "defaultValue": null }, { - "name": "sha", + "name": "goalSet", "description": null, "type": { "kind": "LIST", @@ -10528,7 +10832,21 @@ "defaultValue": null }, { - "name": "version", + "name": "goalSetId", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "sha", "description": null, "type": { "kind": "LIST", @@ -10540,6 +10858,34 @@ } }, "defaultValue": null + }, + { + "name": "state", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SdmGoalState", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "ts", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null } ], "type": { @@ -10547,7 +10893,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SdmVersion", + "name": "SdmGoalSet", "ofType": null } }, @@ -10555,12 +10901,12 @@ "deprecationReason": null }, { - "name": "SdmGoalSetBadge", - "description": "Auto-generated query for SdmGoalSetBadge", + "name": "SdmGoalDisplay", + "description": "Auto-generated query for SdmGoalDisplay", "args": [ { "name": "id", - "description": "The ID of this SdmGoalSetBadge", + "description": "The ID of this SdmGoalDisplay", "type": { "kind": "SCALAR", "name": "ID", @@ -10639,7 +10985,7 @@ "defaultValue": null }, { - "name": "sdm", + "name": "branch", "description": null, "type": { "kind": "LIST", @@ -10653,7 +10999,7 @@ "defaultValue": null }, { - "name": "token", + "name": "sha", "description": null, "type": { "kind": "LIST", @@ -10665,6 +11011,34 @@ } }, "defaultValue": null + }, + { + "name": "state", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SdmGoalDisplayState", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "ts", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null } ], "type": { @@ -10672,7 +11046,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SdmGoalSetBadge", + "name": "SdmGoalDisplay", "ofType": null } }, @@ -10680,12 +11054,12 @@ "deprecationReason": null }, { - "name": "CommitIssueRelationship", - "description": "Auto-generated query for CommitIssueRelationship", + "name": "SdmBuildIdentifier", + "description": "Auto-generated query for SdmBuildIdentifier", "args": [ { "name": "id", - "description": "The ID of this CommitIssueRelationship", + "description": "The ID of this SdmBuildIdentifier", "type": { "kind": "SCALAR", "name": "ID", @@ -10764,14 +11138,14 @@ "defaultValue": null }, { - "name": "type", + "name": "identifier", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { - "kind": "ENUM", - "name": "CommitIssueRelationshipType", + "kind": "SCALAR", + "name": "String", "ofType": null } }, @@ -10783,7 +11157,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "CommitIssueRelationship", + "name": "SdmBuildIdentifier", "ofType": null } }, @@ -10791,12 +11165,12 @@ "deprecationReason": null }, { - "name": "Deployment", - "description": "Auto-generated query for Deployment", + "name": "SdmDeployEnablement", + "description": "Auto-generated query for SdmDeployEnablement", "args": [ { "name": "id", - "description": "The ID of this Deployment", + "description": "The ID of this SdmDeployEnablement", "type": { "kind": "SCALAR", "name": "ID", @@ -10875,7 +11249,7 @@ "defaultValue": null }, { - "name": "environment", + "name": "owner", "description": null, "type": { "kind": "LIST", @@ -10889,14 +11263,42 @@ "defaultValue": null }, { - "name": "ts", + "name": "providerId", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "repo", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SdmDeployState", "ofType": null } }, @@ -10908,7 +11310,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "Deployment", + "name": "SdmDeployEnablement", "ofType": null } }, @@ -10916,12 +11318,12 @@ "deprecationReason": null }, { - "name": "IssueRelationship", - "description": "Auto-generated query for IssueRelationship", + "name": "SdmVersion", + "description": "Auto-generated query for SdmVersion", "args": [ { "name": "id", - "description": "The ID of this IssueRelationship", + "description": "The ID of this SdmVersion", "type": { "kind": "SCALAR", "name": "ID", @@ -11000,7 +11402,7 @@ "defaultValue": null }, { - "name": "relationshipId", + "name": "branch", "description": null, "type": { "kind": "LIST", @@ -11014,7 +11416,7 @@ "defaultValue": null }, { - "name": "state", + "name": "sha", "description": null, "type": { "kind": "LIST", @@ -11028,7 +11430,7 @@ "defaultValue": null }, { - "name": "type", + "name": "version", "description": null, "type": { "kind": "LIST", @@ -11047,7 +11449,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "IssueRelationship", + "name": "SdmVersion", "ofType": null } }, @@ -11055,12 +11457,12 @@ "deprecationReason": null }, { - "name": "Card", - "description": "Auto-generated query for Card", + "name": "SdmGoalSetBadge", + "description": "Auto-generated query for SdmGoalSetBadge", "args": [ { "name": "id", - "description": "The ID of this Card", + "description": "The ID of this SdmGoalSetBadge", "type": { "kind": "SCALAR", "name": "ID", @@ -11139,7 +11541,7 @@ "defaultValue": null }, { - "name": "key", + "name": "sdm", "description": null, "type": { "kind": "LIST", @@ -11153,7 +11555,7 @@ "defaultValue": null }, { - "name": "post", + "name": "token", "description": null, "type": { "kind": "LIST", @@ -11165,890 +11567,29 @@ } }, "defaultValue": null - }, + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SdmGoalSetBadge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitBySha", + "description": "Find a commit by sha", + "args": [ { - "name": "shortTitle", - "description": null, + "name": "sha", + "description": "The sha of the commit", "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "ts", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "ttl", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "type", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Card", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "Notification", - "description": "Auto-generated query for Notification", - "args": [ - { - "name": "id", - "description": "The ID of this Notification", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_offset", - "description": "Paging offset (default 0)", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_first", - "description": "Return the first X results (default 10)", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_orderBy", - "description": "Name of property to sort on", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_after", - "description": "Search only after this timestamp", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_before", - "description": "Search only before this timestamp", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_ordering", - "description": "Direction of ordering", - "type": { - "kind": "ENUM", - "name": "_Ordering", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_search", - "description": "Elastic Search simple full text search syntax", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "body", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "key", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "post", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "ts", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "ttl", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Notification", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "Feedback", - "description": "Auto-generated query for Feedback", - "args": [ - { - "name": "id", - "description": "The ID of this Feedback", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_offset", - "description": "Paging offset (default 0)", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_first", - "description": "Return the first X results (default 10)", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_orderBy", - "description": "Name of property to sort on", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_after", - "description": "Search only after this timestamp", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_before", - "description": "Search only before this timestamp", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_ordering", - "description": "Direction of ordering", - "type": { - "kind": "ENUM", - "name": "_Ordering", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_search", - "description": "Elastic Search simple full text search syntax", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "email", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "message", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "invocation_id", - "description": "compositeId", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Feedback", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ManifestoSignature", - "description": "Auto-generated query for ManifestoSignature", - "args": [ - { - "name": "id", - "description": "The ID of this ManifestoSignature", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_offset", - "description": "Paging offset (default 0)", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_first", - "description": "Return the first X results (default 10)", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_orderBy", - "description": "Name of property to sort on", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_after", - "description": "Search only after this timestamp", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_before", - "description": "Search only before this timestamp", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_ordering", - "description": "Direction of ordering", - "type": { - "kind": "ENUM", - "name": "_Ordering", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_search", - "description": "Elastic Search simple full text search syntax", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "userId", - "description": "compositeId", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "email", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "userName", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "user", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "ManifestoSignature", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SentryAlert", - "description": "Auto-generated query for SentryAlert", - "args": [ - { - "name": "id", - "description": "The ID of this SentryAlert", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_offset", - "description": "Paging offset (default 0)", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_first", - "description": "Return the first X results (default 10)", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_orderBy", - "description": "Name of property to sort on", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_after", - "description": "Search only after this timestamp", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_before", - "description": "Search only before this timestamp", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_ordering", - "description": "Direction of ordering", - "type": { - "kind": "ENUM", - "name": "_Ordering", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_search", - "description": "Elastic Search simple full text search syntax", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "culprit", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "level", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "message", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "project", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "project_name", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "url", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SentryAlert", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "AtomistLog", - "description": "Auto-generated query for AtomistLog", - "args": [ - { - "name": "id", - "description": "The ID of this AtomistLog", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_offset", - "description": "Paging offset (default 0)", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_first", - "description": "Return the first X results (default 10)", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_orderBy", - "description": "Name of property to sort on", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_after", - "description": "Search only after this timestamp", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_before", - "description": "Search only before this timestamp", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_ordering", - "description": "Direction of ordering", - "type": { - "kind": "ENUM", - "name": "_Ordering", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_search", - "description": "Elastic Search simple full text search syntax", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "timestamp", - "description": "Status timestamp", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "team_id", - "description": "Team ID for which log message is produced", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "level", - "description": "Log message level: debug, info, warn, error, fatal", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "message", - "description": "Log message", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "category", - "description": "Grouping, namespace etc.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "AtomistLog", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commitBySha", - "description": "Find a commit by sha", - "args": [ - { - "name": "sha", - "description": "The sha of the commit", - "type": { - "kind": "NON_NULL", + "kind": "NON_NULL", "name": null, "ofType": { "kind": "SCALAR", @@ -86362,382 +85903,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "Fingerprint", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "impact", - "description": "Commit impact ParentImpact", - "args": [ - { - "name": "id", - "description": "id of ParentImpact", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url", - "description": "url of ParentImpact", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "data", - "description": "data of ParentImpact", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "ids", - "description": "ids is list variant of id of ParentImpact", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "urls", - "description": "urls is list variant of url of ParentImpact", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "datas", - "description": "datas is list variant of data of ParentImpact", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "orderBy", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_ParentImpactOrdering", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "filter", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "_ParentImpactFilter", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "ParentImpact", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "image", - "description": "Commit image DockerImage", - "args": [ - { - "name": "image", - "description": "image of DockerImage", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "imageName", - "description": "imageName of DockerImage", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "timestamp", - "description": "timestamp of DockerImage", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "images", - "description": "images is list variant of image of DockerImage", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "imageNames", - "description": "imageNames is list variant of imageName of DockerImage", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "timestamps", - "description": "timestamps is list variant of timestamp of DockerImage", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "orderBy", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_DockerImageOrdering", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "filter", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "_DockerImageFilter", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "DockerImage", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "images", - "description": "Commit images DockerImage", - "args": [ - { - "name": "image", - "description": "image of DockerImage", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "imageName", - "description": "imageName of DockerImage", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "timestamp", - "description": "timestamp of DockerImage", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "images", - "description": "images is list variant of image of DockerImage", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "imageNames", - "description": "imageNames is list variant of imageName of DockerImage", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "timestamps", - "description": "timestamps is list variant of timestamp of DockerImage", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "orderBy", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_DockerImageOrdering", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "filter", - "description": null, - "type": { - "kind": "INPUT_OBJECT", - "name": "_DockerImageFilter", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Long", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "_ids", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Long", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "first", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "offset", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "DockerImage", + "name": "Fingerprint", "ofType": null } }, @@ -86745,15 +85911,374 @@ "deprecationReason": null }, { - "name": "sentryAlerts", - "description": null, - "args": [], + "name": "impact", + "description": "Commit impact ParentImpact", + "args": [ + { + "name": "id", + "description": "id of ParentImpact", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": "url of ParentImpact", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "data", + "description": "data of ParentImpact", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "ids is list variant of id of ParentImpact", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "urls", + "description": "urls is list variant of url of ParentImpact", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "datas", + "description": "datas is list variant of data of ParentImpact", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "orderBy", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_ParentImpactOrdering", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "filter", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "_ParentImpactFilter", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ParentImpact", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "Commit image DockerImage", + "args": [ + { + "name": "image", + "description": "image of DockerImage", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "imageName", + "description": "imageName of DockerImage", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "timestamp", + "description": "timestamp of DockerImage", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "images", + "description": "images is list variant of image of DockerImage", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "imageNames", + "description": "imageNames is list variant of imageName of DockerImage", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "timestamps", + "description": "timestamps is list variant of timestamp of DockerImage", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "orderBy", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_DockerImageOrdering", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "filter", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "_DockerImageFilter", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DockerImage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "images", + "description": "Commit images DockerImage", + "args": [ + { + "name": "image", + "description": "image of DockerImage", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "imageName", + "description": "imageName of DockerImage", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "timestamp", + "description": "timestamp of DockerImage", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "images", + "description": "images is list variant of image of DockerImage", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "imageNames", + "description": "imageNames is list variant of imageName of DockerImage", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "timestamps", + "description": "timestamps is list variant of timestamp of DockerImage", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "orderBy", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "_DockerImageOrdering", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "filter", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "_DockerImageFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "_id", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "_ids", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Long", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "first", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "offset", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], "type": { "kind": "LIST", "name": null, "ofType": { "kind": "OBJECT", - "name": "SentryAlert", + "name": "DockerImage", "ofType": null } }, @@ -92336,7 +91861,22 @@ { "name": "provenance", "description": null, - "args": [], + "args": [ + { + "name": "registration", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], "type": { "kind": "OBJECT", "name": "SdmProvenance", @@ -92424,6 +91964,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "state", + "description": null, + "args": [], + "type": { + "kind": "ENUM", + "name": "SdmGoalState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "ts", "description": null, @@ -98976,326 +98528,6 @@ "enumValues": null, "possibleTypes": null }, - { - "kind": "OBJECT", - "name": "SentryAlert", - "description": null, - "fields": [ - { - "name": "commit", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "Commit", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "culprit", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "event", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "SentryEvent", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "level", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "message", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "project", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "project_name", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "The ID of this SentryAlert", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SentryEvent", - "description": null, - "fields": [ - { - "name": "event_id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "extra", - "description": null, - "args": [ - { - "name": "git_sha", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "SentryEventExtra", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SentryEventExtra", - "description": null, - "fields": [ - { - "name": "artifact", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "correlation_id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "environment", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "git_owner", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "git_repo", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "git_sha", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "invocation_id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "operation_name", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "operation_type", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "team_id", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "team_name", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "version", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, { "kind": "ENUM", "name": "_BranchOrdering", @@ -108552,234 +107784,39 @@ "name": "botInvitedSelf", "description": "botInvitedSelf of ChatChannel", "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "archived", - "description": "archived of ChatChannel", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "ids", - "description": "ids is list variant of id of ChatChannel", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "names", - "description": "names is list variant of name of ChatChannel", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "providers", - "description": "providers is list variant of provider of ChatChannel", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "normalizedNames", - "description": "normalizedNames is list variant of normalizedName of ChatChannel", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "channelIds", - "description": "channelIds is list variant of channelId of ChatChannel", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "isDefaults", - "description": "isDefaults is list variant of isDefault of ChatChannel", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "botInvitedSelfs", - "description": "botInvitedSelfs is list variant of botInvitedSelf of ChatChannel", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "archiveds", - "description": "archiveds is list variant of archived of ChatChannel", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "orderBy", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "_ChatChannelOrdering", - "ofType": null - } + "kind": "SCALAR", + "name": "Boolean", + "ofType": null }, "defaultValue": null }, { - "name": "filter", - "description": null, + "name": "archived", + "description": "archived of ChatChannel", "type": { - "kind": "INPUT_OBJECT", - "name": "_ChatChannelFilter", + "kind": "SCALAR", + "name": "Boolean", "ofType": null }, "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "ChatChannel", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "_Ordering", - "description": "asc or desc ordering. Must be used with orderBy", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "desc", - "description": "Descending order", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "asc", - "description": "Ascending order", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SdmBuildIdentifier", - "description": null, - "fields": [ - { - "name": "identifier", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "repo", - "description": null, - "args": [ + }, { - "name": "name", - "description": null, + "name": "ids", + "description": "ids is list variant of id of ChatChannel", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "ID", "ofType": null } }, "defaultValue": null }, { - "name": "owner", - "description": null, + "name": "names", + "description": "names is list variant of name of ChatChannel", "type": { "kind": "LIST", "name": null, @@ -108792,8 +107829,8 @@ "defaultValue": null }, { - "name": "providerId", - "description": null, + "name": "providers", + "description": "providers is list variant of provider of ChatChannel", "type": { "kind": "LIST", "name": null, @@ -108804,199 +107841,10 @@ } }, "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "SdmBuildIdentifierRepository", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "The ID of this SdmBuildIdentifier", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SdmBuildIdentifierRepository", - "description": null, - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "owner", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "providerId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "SdmDeployState", - "description": null, - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "requested", - "description": null, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "disabled", - "description": null, - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SdmDeployEnablement", - "description": null, - "fields": [ - { - "name": "owner", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "providerId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "repo", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "state", - "description": null, - "args": [], - "type": { - "kind": "ENUM", - "name": "SdmDeployState", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "The ID of this SdmDeployEnablement", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SdmVersion", - "description": null, - "fields": [ - { - "name": "branch", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "repo", - "description": null, - "args": [ + }, { - "name": "name", - "description": null, + "name": "normalizedNames", + "description": "normalizedNames is list variant of normalizedName of ChatChannel", "type": { "kind": "LIST", "name": null, @@ -109009,8 +107857,8 @@ "defaultValue": null }, { - "name": "owner", - "description": null, + "name": "channelIds", + "description": "channelIds is list variant of channelId of ChatChannel", "type": { "kind": "LIST", "name": null, @@ -109023,208 +107871,75 @@ "defaultValue": null }, { - "name": "providerId", - "description": null, + "name": "isDefaults", + "description": "isDefaults is list variant of isDefault of ChatChannel", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "SdmVersionRepository", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sha", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "version", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "The ID of this SdmVersion", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SdmVersionRepository", - "description": null, - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "owner", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "providerId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SdmGoalSetBadge", - "description": null, - "fields": [ - { - "name": "repo", - "description": null, - "args": [ + }, { - "name": "name", - "description": null, + "name": "botInvitedSelfs", + "description": "botInvitedSelfs is list variant of botInvitedSelf of ChatChannel", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, "defaultValue": null }, { - "name": "owner", - "description": null, + "name": "archiveds", + "description": "archiveds is list variant of archived of ChatChannel", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, "defaultValue": null }, { - "name": "providerId", + "name": "orderBy", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "ENUM", + "name": "_ChatChannelOrdering", "ofType": null } }, "defaultValue": null + }, + { + "name": "filter", + "description": null, + "type": { + "kind": "INPUT_OBJECT", + "name": "_ChatChannelFilter", + "ofType": null + }, + "defaultValue": null } ], "type": { "kind": "OBJECT", - "name": "SdmGoalSetBadgeRepository", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "sdm", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "token", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "The ID of this SdmGoalSetBadge", - "args": [], - "type": { - "kind": "SCALAR", - "name": "ID", + "name": "ChatChannel", "ofType": null }, "isDeprecated": false, @@ -109237,50 +107952,26 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "SdmGoalSetBadgeRepository", - "description": null, - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, + "kind": "ENUM", + "name": "_Ordering", + "description": "asc or desc ordering. Must be used with orderBy", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "name": "owner", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, + "name": "desc", + "description": "Descending order", "isDeprecated": false, "deprecationReason": null }, { - "name": "providerId", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, + "name": "asc", + "description": "Ascending order", "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [], - "enumValues": null, "possibleTypes": null }, { @@ -111549,13 +110240,397 @@ "description": null, "args": [], "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "NotificationActionParameterOption", - "ofType": null - } + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NotificationActionParameterOption", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NotificationActionParameterOption", + "description": null, + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NotificationActionParameter", + "description": null, + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NotificationRecipient", + "description": null, + "fields": [ + { + "name": "address", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AtomistLog", + "description": "Atomist log messages", + "fields": [ + { + "name": "timestamp", + "description": "Status timestamp", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "team_id", + "description": "Team ID for which log message is produced", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "level", + "description": "Log message level: debug, info, warn, error, fatal", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "Log message", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "category", + "description": "Grouping, namespace etc.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "correlation_context", + "description": "Atomist log correlation context", + "args": [ + { + "name": "correlation_id", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AtomistLogCorrelationContext", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of this AtomistLog", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AtomistLogCorrelationContext", + "description": "Atomist log correlation context", + "fields": [ + { + "name": "correlation_id", + "description": "Correlation ID", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "automation", + "description": "Automation for which log message is produced", + "args": [ + { + "name": "name", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "version", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AtomistLogAutomation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AtomistLogAutomation", + "description": "Automation for which log message is produced", + "fields": [ + { + "name": "name", + "description": "Automation name", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Automation description", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SdmBuildIdentifier", + "description": null, + "fields": [ + { + "name": "identifier", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "repo", + "description": null, + "args": [ + { + "name": "name", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "owner", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "providerId", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SdmBuildIdentifierRepository", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of this SdmBuildIdentifier", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null }, "isDeprecated": false, "deprecationReason": null @@ -111568,7 +110643,7 @@ }, { "kind": "OBJECT", - "name": "NotificationActionParameterOption", + "name": "SdmBuildIdentifierRepository", "description": null, "fields": [ { @@ -111584,30 +110659,7 @@ "deprecationReason": null }, { - "name": "value", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationActionParameter", - "description": null, - "fields": [ - { - "name": "name", + "name": "owner", "description": null, "args": [], "type": { @@ -111619,7 +110671,7 @@ "deprecationReason": null }, { - "name": "value", + "name": "providerId", "description": null, "args": [], "type": { @@ -111637,39 +110689,35 @@ "possibleTypes": null }, { - "kind": "OBJECT", - "name": "NotificationRecipient", + "kind": "ENUM", + "name": "SdmDeployState", "description": null, - "fields": [ + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ { - "name": "address", + "name": "requested", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "disabled", "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, "isDeprecated": false, "deprecationReason": null } ], - "inputFields": null, - "interfaces": [], - "enumValues": null, "possibleTypes": null }, { "kind": "OBJECT", - "name": "Feedback", + "name": "SdmDeployEnablement", "description": null, "fields": [ { - "name": "email", + "name": "owner", "description": null, "args": [], "type": { @@ -111681,7 +110729,7 @@ "deprecationReason": null }, { - "name": "message", + "name": "providerId", "description": null, "args": [], "type": { @@ -111693,8 +110741,8 @@ "deprecationReason": null }, { - "name": "invocation_id", - "description": "compositeId", + "name": "repo", + "description": null, "args": [], "type": { "kind": "SCALAR", @@ -111704,9 +110752,21 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "state", + "description": null, + "args": [], + "type": { + "kind": "ENUM", + "name": "SdmDeployState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "id", - "description": "The ID of this Feedback", + "description": "The ID of this SdmDeployEnablement", "args": [], "type": { "kind": "SCALAR", @@ -111724,12 +110784,12 @@ }, { "kind": "OBJECT", - "name": "ManifestoSignature", + "name": "SdmVersion", "description": null, "fields": [ { - "name": "userId", - "description": "compositeId", + "name": "branch", + "description": null, "args": [], "type": { "kind": "SCALAR", @@ -111740,19 +110800,62 @@ "deprecationReason": null }, { - "name": "email", + "name": "repo", "description": null, - "args": [], + "args": [ + { + "name": "name", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "owner", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "providerId", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "SdmVersionRepository", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "userName", + "name": "sha", "description": null, "args": [], "type": { @@ -111764,7 +110867,7 @@ "deprecationReason": null }, { - "name": "user", + "name": "version", "description": null, "args": [], "type": { @@ -111777,7 +110880,7 @@ }, { "name": "id", - "description": "The ID of this ManifestoSignature", + "description": "The ID of this SdmVersion", "args": [], "type": { "kind": "SCALAR", @@ -111795,24 +110898,24 @@ }, { "kind": "OBJECT", - "name": "AtomistLog", - "description": "Atomist log messages", + "name": "SdmVersionRepository", + "description": null, "fields": [ { - "name": "timestamp", - "description": "Status timestamp", + "name": "name", + "description": null, "args": [], "type": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "team_id", - "description": "Team ID for which log message is produced", + "name": "owner", + "description": null, "args": [], "type": { "kind": "SCALAR", @@ -111823,8 +110926,8 @@ "deprecationReason": null }, { - "name": "level", - "description": "Log message level: debug, info, warn, error, fatal", + "name": "providerId", + "description": null, "args": [], "type": { "kind": "SCALAR", @@ -111833,22 +110936,76 @@ }, "isDeprecated": false, "deprecationReason": null - }, + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SdmGoalSetBadge", + "description": null, + "fields": [ { - "name": "message", - "description": "Log message", - "args": [], + "name": "repo", + "description": null, + "args": [ + { + "name": "name", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "owner", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "providerId", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], "type": { - "kind": "SCALAR", - "name": "String", + "kind": "OBJECT", + "name": "SdmGoalSetBadgeRepository", "ofType": null }, "isDeprecated": false, "deprecationReason": null }, { - "name": "category", - "description": "Grouping, namespace etc.", + "name": "sdm", + "description": null, "args": [], "type": { "kind": "SCALAR", @@ -111859,23 +111016,12 @@ "deprecationReason": null }, { - "name": "correlation_context", - "description": "Atomist log correlation context", - "args": [ - { - "name": "correlation_id", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], + "name": "token", + "description": null, + "args": [], "type": { - "kind": "OBJECT", - "name": "AtomistLogCorrelationContext", + "kind": "SCALAR", + "name": "String", "ofType": null }, "isDeprecated": false, @@ -111883,7 +111029,7 @@ }, { "name": "id", - "description": "The ID of this AtomistLog", + "description": "The ID of this SdmGoalSetBadge", "args": [], "type": { "kind": "SCALAR", @@ -111901,12 +111047,12 @@ }, { "kind": "OBJECT", - "name": "AtomistLogCorrelationContext", - "description": "Atomist log correlation context", + "name": "SdmGoalSetBadgeRepository", + "description": null, "fields": [ { - "name": "correlation_id", - "description": "Correlation ID", + "name": "name", + "description": null, "args": [], "type": { "kind": "SCALAR", @@ -111917,52 +111063,8 @@ "deprecationReason": null }, { - "name": "automation", - "description": "Automation for which log message is produced", - "args": [ - { - "name": "name", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "version", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "AtomistLogAutomation", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "AtomistLogAutomation", - "description": "Automation for which log message is produced", - "fields": [ - { - "name": "name", - "description": "Automation name", + "name": "owner", + "description": null, "args": [], "type": { "kind": "SCALAR", @@ -111973,8 +111075,8 @@ "deprecationReason": null }, { - "name": "version", - "description": "Automation description", + "name": "providerId", + "description": null, "args": [], "type": { "kind": "SCALAR", @@ -122177,65 +121279,40 @@ "deprecationReason": null }, { - "name": "SdmGoal", - "description": "Auto-generated subscription for SdmGoal", + "name": "CommitIssueRelationship", + "description": "Auto-generated subscription for CommitIssueRelationship", "args": [ { - "name": "approvalRequired", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "branch", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "data", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "description", + "name": "type", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "ENUM", + "name": "CommitIssueRelationshipType", "ofType": null } }, "defaultValue": null - }, + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommitIssueRelationship", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "Deployment", + "description": "Auto-generated subscription for Deployment", + "args": [ { "name": "environment", "description": null, @@ -122251,49 +121328,38 @@ "defaultValue": null }, { - "name": "error", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "externalKey", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "externalUrl", + "name": "ts", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, "defaultValue": null - }, + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Deployment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IssueRelationship", + "description": "Auto-generated subscription for IssueRelationship", + "args": [ { - "name": "goalSet", + "name": "relationshipId", "description": null, "type": { "kind": "LIST", @@ -122307,7 +121373,7 @@ "defaultValue": null }, { - "name": "goalSetId", + "name": "state", "description": null, "type": { "kind": "LIST", @@ -122321,7 +121387,7 @@ "defaultValue": null }, { - "name": "name", + "name": "type", "description": null, "type": { "kind": "LIST", @@ -122333,9 +121399,26 @@ } }, "defaultValue": null - }, + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IssueRelationship", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "Card", + "description": "Auto-generated subscription for Card", + "args": [ { - "name": "phase", + "name": "key", "description": null, "type": { "kind": "LIST", @@ -122349,35 +121432,7 @@ "defaultValue": null }, { - "name": "preApprovalRequired", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "retryFeasible", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "sha", + "name": "post", "description": null, "type": { "kind": "LIST", @@ -122391,70 +121446,56 @@ "defaultValue": null }, { - "name": "state", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SdmGoalState", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "ts", + "name": "shortTitle", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null } }, "defaultValue": null }, { - "name": "uniqueName", + "name": "ts", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, "defaultValue": null }, { - "name": "url", + "name": "ttl", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, "defaultValue": null }, { - "name": "version", + "name": "type", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null } }, @@ -122466,7 +121507,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SdmGoal", + "name": "Card", "ofType": null } }, @@ -122474,53 +121515,41 @@ "deprecationReason": null }, { - "name": "SdmGoalSet", - "description": "Auto-generated subscription for SdmGoalSet", + "name": "Notification", + "description": "Auto-generated subscription for Notification", "args": [ { - "name": "branch", + "name": "body", "description": null, "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "defaultValue": null }, { - "name": "goalSet", + "name": "contentType", "description": null, "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "defaultValue": null }, { - "name": "goalSetId", + "name": "key", "description": null, "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } + "kind": "SCALAR", + "name": "String", + "ofType": null }, "defaultValue": null }, { - "name": "sha", + "name": "post", "description": null, "type": { "kind": "LIST", @@ -122536,6 +121565,16 @@ { "name": "ts", "description": null, + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ttl", + "description": null, "type": { "kind": "LIST", "name": null, @@ -122553,7 +121592,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SdmGoalSet", + "name": "Notification", "ofType": null } }, @@ -122561,26 +121600,26 @@ "deprecationReason": null }, { - "name": "SdmGoalDisplay", - "description": "Auto-generated subscription for SdmGoalDisplay", + "name": "AtomistLog", + "description": "Auto-generated subscription for AtomistLog", "args": [ { - "name": "branch", - "description": null, + "name": "timestamp", + "description": "Status timestamp", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, "defaultValue": null }, { - "name": "sha", - "description": null, + "name": "team_id", + "description": "Team ID for which log message is produced", "type": { "kind": "LIST", "name": null, @@ -122593,53 +121632,36 @@ "defaultValue": null }, { - "name": "state", - "description": null, + "name": "level", + "description": "Log message level: debug, info, warn, error, fatal", "type": { "kind": "LIST", "name": null, "ofType": { - "kind": "ENUM", - "name": "SdmGoalDisplayState", + "kind": "SCALAR", + "name": "String", "ofType": null } }, "defaultValue": null }, { - "name": "ts", - "description": null, + "name": "message", + "description": "Log message", "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null } }, "defaultValue": null - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SdmGoalDisplay", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SdmBuildIdentifier", - "description": "Auto-generated subscription for SdmBuildIdentifier", - "args": [ + }, { - "name": "identifier", - "description": null, + "name": "category", + "description": "Grouping, namespace etc.", "type": { "kind": "LIST", "name": null, @@ -122657,7 +121679,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SdmBuildIdentifier", + "name": "AtomistLog", "ofType": null } }, @@ -122665,25 +121687,25 @@ "deprecationReason": null }, { - "name": "SdmDeployEnablement", - "description": "Auto-generated subscription for SdmDeployEnablement", + "name": "SdmGoal", + "description": "Auto-generated subscription for SdmGoal", "args": [ { - "name": "owner", + "name": "approvalRequired", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, "defaultValue": null }, { - "name": "providerId", + "name": "branch", "description": null, "type": { "kind": "LIST", @@ -122697,7 +121719,7 @@ "defaultValue": null }, { - "name": "repo", + "name": "data", "description": null, "type": { "kind": "LIST", @@ -122711,38 +121733,7 @@ "defaultValue": null }, { - "name": "state", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "SdmDeployState", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SdmDeployEnablement", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SdmVersion", - "description": "Auto-generated subscription for SdmVersion", - "args": [ - { - "name": "branch", + "name": "description", "description": null, "type": { "kind": "LIST", @@ -122756,7 +121747,7 @@ "defaultValue": null }, { - "name": "sha", + "name": "environment", "description": null, "type": { "kind": "LIST", @@ -122770,7 +121761,7 @@ "defaultValue": null }, { - "name": "version", + "name": "error", "description": null, "type": { "kind": "LIST", @@ -122782,26 +121773,9 @@ } }, "defaultValue": null - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SdmVersion", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SdmGoalSetBadge", - "description": "Auto-generated subscription for SdmGoalSetBadge", - "args": [ + }, { - "name": "sdm", + "name": "externalKey", "description": null, "type": { "kind": "LIST", @@ -122815,7 +121789,7 @@ "defaultValue": null }, { - "name": "token", + "name": "externalUrl", "description": null, "type": { "kind": "LIST", @@ -122827,57 +121801,23 @@ } }, "defaultValue": null - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SdmGoalSetBadge", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "CommitIssueRelationship", - "description": "Auto-generated subscription for CommitIssueRelationship", - "args": [ + }, { - "name": "type", + "name": "goalSet", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { - "kind": "ENUM", - "name": "CommitIssueRelationshipType", + "kind": "SCALAR", + "name": "String", "ofType": null } }, "defaultValue": null - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "CommitIssueRelationship", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "Deployment", - "description": "Auto-generated subscription for Deployment", - "args": [ + }, { - "name": "environment", + "name": "goalSetId", "description": null, "type": { "kind": "LIST", @@ -122891,38 +121831,21 @@ "defaultValue": null }, { - "name": "ts", + "name": "name", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null } }, "defaultValue": null - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Deployment", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "IssueRelationship", - "description": "Auto-generated subscription for IssueRelationship", - "args": [ + }, { - "name": "relationshipId", + "name": "phase", "description": null, "type": { "kind": "LIST", @@ -122936,52 +121859,35 @@ "defaultValue": null }, { - "name": "state", + "name": "preApprovalRequired", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, "defaultValue": null }, { - "name": "type", + "name": "retryFeasible", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Boolean", "ofType": null } }, "defaultValue": null - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "IssueRelationship", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "Card", - "description": "Auto-generated subscription for Card", - "args": [ + }, { - "name": "key", + "name": "sha", "description": null, "type": { "kind": "LIST", @@ -122995,70 +121901,70 @@ "defaultValue": null }, { - "name": "post", + "name": "state", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "ENUM", + "name": "SdmGoalState", "ofType": null } }, "defaultValue": null }, { - "name": "shortTitle", + "name": "ts", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, "defaultValue": null }, { - "name": "ts", + "name": "uniqueName", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null } }, "defaultValue": null }, { - "name": "ttl", + "name": "url", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null } }, "defaultValue": null }, { - "name": "type", + "name": "version", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, @@ -123070,7 +121976,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "Card", + "name": "SdmGoal", "ofType": null } }, @@ -123078,41 +121984,11 @@ "deprecationReason": null }, { - "name": "Notification", - "description": "Auto-generated subscription for Notification", + "name": "SdmGoalSet", + "description": "Auto-generated subscription for SdmGoalSet", "args": [ { - "name": "body", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "contentType", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "key", - "description": null, - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "post", + "name": "branch", "description": null, "type": { "kind": "LIST", @@ -123126,48 +122002,35 @@ "defaultValue": null }, { - "name": "ts", + "name": "goalSet", "description": null, "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } }, "defaultValue": null }, { - "name": "ttl", + "name": "goalSetId", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null } }, "defaultValue": null - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Notification", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "Feedback", - "description": "Auto-generated subscription for Feedback", - "args": [ + }, { - "name": "email", + "name": "sha", "description": null, "type": { "kind": "LIST", @@ -123181,28 +122044,28 @@ "defaultValue": null }, { - "name": "message", + "name": "state", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "ENUM", + "name": "SdmGoalState", "ofType": null } }, "defaultValue": null }, { - "name": "invocation_id", - "description": "compositeId", + "name": "ts", + "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, @@ -123214,7 +122077,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "Feedback", + "name": "SdmGoalSet", "ofType": null } }, @@ -123222,12 +122085,12 @@ "deprecationReason": null }, { - "name": "ManifestoSignature", - "description": "Auto-generated subscription for ManifestoSignature", + "name": "SdmGoalDisplay", + "description": "Auto-generated subscription for SdmGoalDisplay", "args": [ { - "name": "userId", - "description": "compositeId", + "name": "branch", + "description": null, "type": { "kind": "LIST", "name": null, @@ -123240,7 +122103,7 @@ "defaultValue": null }, { - "name": "email", + "name": "sha", "description": null, "type": { "kind": "LIST", @@ -123254,28 +122117,28 @@ "defaultValue": null }, { - "name": "userName", + "name": "state", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "ENUM", + "name": "SdmGoalDisplayState", "ofType": null } }, "defaultValue": null }, { - "name": "user", + "name": "ts", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "String", + "name": "Int", "ofType": null } }, @@ -123287,7 +122150,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "ManifestoSignature", + "name": "SdmGoalDisplay", "ofType": null } }, @@ -123295,25 +122158,11 @@ "deprecationReason": null }, { - "name": "SentryAlert", - "description": "Auto-generated subscription for SentryAlert", + "name": "SdmBuildIdentifier", + "description": "Auto-generated subscription for SdmBuildIdentifier", "args": [ { - "name": "culprit", - "description": null, - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "level", + "name": "identifier", "description": null, "type": { "kind": "LIST", @@ -123325,9 +122174,26 @@ } }, "defaultValue": null - }, + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SdmBuildIdentifier", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SdmDeployEnablement", + "description": "Auto-generated subscription for SdmDeployEnablement", + "args": [ { - "name": "message", + "name": "owner", "description": null, "type": { "kind": "LIST", @@ -123341,7 +122207,7 @@ "defaultValue": null }, { - "name": "project", + "name": "providerId", "description": null, "type": { "kind": "LIST", @@ -123355,7 +122221,7 @@ "defaultValue": null }, { - "name": "project_name", + "name": "repo", "description": null, "type": { "kind": "LIST", @@ -123369,14 +122235,14 @@ "defaultValue": null }, { - "name": "url", + "name": "state", "description": null, "type": { "kind": "LIST", "name": null, "ofType": { - "kind": "SCALAR", - "name": "String", + "kind": "ENUM", + "name": "SdmDeployState", "ofType": null } }, @@ -123388,7 +122254,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "SentryAlert", + "name": "SdmDeployEnablement", "ofType": null } }, @@ -123396,26 +122262,26 @@ "deprecationReason": null }, { - "name": "AtomistLog", - "description": "Auto-generated subscription for AtomistLog", + "name": "SdmVersion", + "description": "Auto-generated subscription for SdmVersion", "args": [ { - "name": "timestamp", - "description": "Status timestamp", + "name": "branch", + "description": null, "type": { "kind": "LIST", "name": null, "ofType": { "kind": "SCALAR", - "name": "Int", + "name": "String", "ofType": null } }, "defaultValue": null }, { - "name": "team_id", - "description": "Team ID for which log message is produced", + "name": "sha", + "description": null, "type": { "kind": "LIST", "name": null, @@ -123428,8 +122294,8 @@ "defaultValue": null }, { - "name": "level", - "description": "Log message level: debug, info, warn, error, fatal", + "name": "version", + "description": null, "type": { "kind": "LIST", "name": null, @@ -123440,10 +122306,27 @@ } }, "defaultValue": null - }, + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SdmVersion", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SdmGoalSetBadge", + "description": "Auto-generated subscription for SdmGoalSetBadge", + "args": [ { - "name": "message", - "description": "Log message", + "name": "sdm", + "description": null, "type": { "kind": "LIST", "name": null, @@ -123456,8 +122339,8 @@ "defaultValue": null }, { - "name": "category", - "description": "Grouping, namespace etc.", + "name": "token", + "description": null, "type": { "kind": "LIST", "name": null, @@ -123475,7 +122358,7 @@ "name": null, "ofType": { "kind": "OBJECT", - "name": "AtomistLog", + "name": "SdmGoalSetBadge", "ofType": null } }, diff --git a/lib/graphql/subscription/OnAnySdmGoalSet.graphql b/lib/graphql/subscription/OnAnySdmGoalSet.graphql new file mode 100644 index 000000000..a5a0380f9 --- /dev/null +++ b/lib/graphql/subscription/OnAnySdmGoalSet.graphql @@ -0,0 +1,16 @@ +subscription OnAnySdmGoalSets($registration: [String!]) { + SdmGoalSet { + goalSetId + goalSet + state + provenance(registration: $registration) @required { + registration + } + sha + branch + repo { + owner + name + } + } +} diff --git a/test/api-helper/goal/storeGoals.test.ts b/test/api-helper/goal/storeGoals.test.ts new file mode 100644 index 000000000..a049c0c74 --- /dev/null +++ b/test/api-helper/goal/storeGoals.test.ts @@ -0,0 +1,67 @@ +/* + * Copyright © 2018 Atomist, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import * as assert from "power-assert"; +import { goalSetState } from "../../../lib/api-helper/goal/storeGoals"; +import { SdmGoalState } from "../../../lib/typings/types"; + +describe("storeGoals", () => { + + describe("goalSetState", () => { + + function createGoals(...states: string[]): Array<{ state: SdmGoalState }> { + return states.map(s => ({ state: s as SdmGoalState })); + } + + it("should correctly determine success", () => { + assert.strictEqual(goalSetState(createGoals("success", "success", "success")), SdmGoalState.success); + }); + + it("should correctly determine in_process", () => { + assert.strictEqual(goalSetState(createGoals("success", "in_process", "success")), SdmGoalState.in_process); + assert.strictEqual(goalSetState(createGoals("planned", "in_process", "success")), SdmGoalState.in_process); + assert.strictEqual(goalSetState(createGoals("requested", "in_process", "success")), SdmGoalState.in_process); + }); + + it("should correctly determine failure", () => { + assert.strictEqual(goalSetState(createGoals("success", "in_process", "failure")), SdmGoalState.failure); + assert.strictEqual(goalSetState(createGoals("canceled", "in_process", "failure")), SdmGoalState.failure); + assert.strictEqual(goalSetState(createGoals("stopped", "in_process", "failure")), SdmGoalState.failure); + assert.strictEqual(goalSetState(createGoals("waiting_for_approval", "in_process", "failure")), SdmGoalState.failure); + assert.strictEqual(goalSetState(createGoals("waiting_for_pre_approval", "stopped", "failure")), SdmGoalState.failure); + }); + + it("should correctly determine in_process", () => { + assert.strictEqual(goalSetState(createGoals("requested", "in_process", "planned")), SdmGoalState.in_process); + assert.strictEqual(goalSetState(createGoals("requested", "in_process", "planned")), SdmGoalState.in_process); + assert.strictEqual(goalSetState(createGoals("waiting_for_approval", "in_process", "success")), SdmGoalState.in_process); + }); + + it("should correctly determine planned", () => { + assert.strictEqual(goalSetState(createGoals("planned", "success", "planned")), SdmGoalState.planned); + }); + + it("should correctly determine waiting_for_approval", () => { + assert.strictEqual(goalSetState(createGoals("requested", "waiting_for_approval", "success")), SdmGoalState.waiting_for_approval); + }); + + it("should correctly determine waiting_for_pre_approval", () => { + assert.strictEqual(goalSetState(createGoals("waiting_for_pre_approval", "waiting_for_approval", "success")), + SdmGoalState.waiting_for_pre_approval); + }); + }); + +}); diff --git a/test/api/goal/common/Queue.test.ts b/test/api/goal/common/Queue.test.ts new file mode 100644 index 000000000..0e551f3c0 --- /dev/null +++ b/test/api/goal/common/Queue.test.ts @@ -0,0 +1,206 @@ +/* + * Copyright © 2018 Atomist, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import * as assert from "assert"; +import { fail } from "power-assert"; +import { + handleSdmGoalSetEvent, + Queue, +} from "../../../../lib/api/goal/common/Queue"; +import { Goal } from "../../../../lib/api/goal/Goal"; +import { ExecuteGoal } from "../../../../lib/api/goal/GoalInvocation"; +import { IndependentOfEnvironment } from "../../../../lib/api/goal/support/environment"; +import { + OnAnySdmGoalSets, + SdmGoalState, +} from "../../../../lib/typings/types"; + +describe("Queue", () => { + + describe("Queue", () => { + + it("should set up correct goal definition", async () => { + const q = new Queue({ uniqueName: "queue-test" }); + assert.strictEqual(q.definition.uniqueName, "queue-test"); + assert.strictEqual(q.definition.environment, IndependentOfEnvironment); + }); + + it("should set register event handler", async () => { + const q = new Queue(); + const sdm = { + addEvent: e => { + assert.strictEqual(e.name, "OnAnySdmGoalSet"); + assert(e.subscription.includes("test-sdm")); + }, + addGoalImplementation: async (implementationName: string, + goal: Goal, + goalExecutor: ExecuteGoal) => { + const r = await goalExecutor({} as any); + assert.strictEqual((r as any).state, SdmGoalState.in_process); + }, + configuration: { + name: "test-sdm", + }, + }; + q.register(sdm as any); + }); + + }); + + describe("handleSdmGoalSetEvent", () => { + + it("should trigger no goal sets on no pending", async () => { + const graphClient = { + query: o => { + assert.deepStrictEqual(o.variables.registration, ["test-sdm"]); + return { + SdmGoalSet: [], + }; + }, + }; + const messageClient = { + send: () => { + fail(); + }, + }; + const e: OnAnySdmGoalSets.Subscription = { + SdmGoalSet: [{ + goalSetId: "123456", + }], + }; + const h = handleSdmGoalSetEvent({}, { uniqueName: "test" }, { name: "test-sdm" } as any); + const r = await h({ data: e } as any, { graphClient, messageClient } as any, {}); + assert.strictEqual(r.code, 0); + }); + + it("should trigger correct goal sets pending", async () => { + const graphClient = { + query: o => { + if (o.name === "InProcessSdmGoalSets") { + assert.deepStrictEqual(o.variables.registration, ["test-sdm"]); + return { + SdmGoalSet: [{ + goalSetId: "1", + state: SdmGoalState.in_process, + goals: [{ name: "some-goal", uniqueName: "some-goal " }], + }, { + goalSetId: "2", + state: SdmGoalState.requested, + goals: [{ name: "test", uniqueName: "test" }], + }, { + goalSetId: "3", + state: SdmGoalState.requested, + goals: [{ name: "test", uniqueName: "test" }], + }, { + goalSetId: "4", + state: SdmGoalState.requested, + goals: [{ name: "test", uniqueName: "test" }], + }], + }; + } else if (o.name === "SdmGoalsByGoalSetIdAndUniqueName") { + if (o.variables.goalSetId[0] === "2") { + return { + SdmGoal: [{ + uniqueName: "test", + goalSetId: "2", + state: SdmGoalState.in_process, + ts: Date.now(), + push: { + repo: { + owner: "atomist", + name: "sdm", + org: { + provider: { + providerId: "123456", + }, + }, + }, + }, + }], + }; + } else { + return { + SdmGoal: [{ + uniqueName: "test", + goalSetId: "3", + state: SdmGoalState.in_process, + ts: Date.now(), + push: { + repo: { + owner: "atomist", + name: "sdm", + org: { + provider: { + providerId: "123456", + }, + }, + }, + }, + }, { + uniqueName: "test", + goalSetId: "4", + state: SdmGoalState.in_process, + ts: Date.now(), + push: { + repo: { + owner: "atomist", + name: "sdm", + org: { + provider: { + providerId: "123456", + }, + }, + }, + }, + }], + }; + } + } + }, + }; + let start = 0; + let update = 0; + const messageClient = { + send: msg => { + if (!msg.phase) { + assert.strictEqual(msg.goalSetId, "2"); + assert.strictEqual(msg.uniqueName, "test"); + start++; + } else { + assert(msg.phase.includes("at")); + update++; + } + }, + }; + const e: OnAnySdmGoalSets.Subscription = { + SdmGoalSet: [{ + goalSetId: "4", + }], + }; + const h = handleSdmGoalSetEvent({}, { uniqueName: "test" }, { name: "test-sdm" } as any); + const r = await h({ data: e } as any, { + graphClient, + messageClient, + context: { name: "test-sdm", version: "1" }, + } as any, {}); + assert.strictEqual(start, 1); + assert.strictEqual(update, 2); + assert.strictEqual(r.code, 0); + }); + + }); + +}); diff --git a/test/api/goal/common/createGoal.test.ts b/test/api/goal/common/createGoal.test.ts index 9767ade90..57bf7b23a 100644 --- a/test/api/goal/common/createGoal.test.ts +++ b/test/api/goal/common/createGoal.test.ts @@ -14,12 +14,82 @@ * limitations under the License. */ +import { Success } from "@atomist/automation-client"; +import * as assert from "power-assert"; +import { createPredicatedGoalExecutor } from "../../../../lib/api/goal/common/createGoal"; import { suggestAction } from "../../../../lib/api/goal/common/suggestAction"; +import { GoalInvocation } from "../../../../lib/api/goal/GoalInvocation"; describe("createGoal", () => { - it("should return", () => { - suggestAction({ displayName: "foo", message: "foo bar"}); + describe("createGoal", () => { + + it("should return", () => { + suggestAction({ displayName: "foo", message: "foo bar" }); + }); + + }); + + describe("createPredicatedGoalExecutor", () => { + + it("should correctly retry", async () => { + let count = 0; + const ge = createPredicatedGoalExecutor( + "test", + async () => { + return Success; + }, + { + condition: async gi => { + count++; + return count === 9; + }, + retries: 10, + timeoutMillis: 100, + }, false); + const r = await ge({} as GoalInvocation); + assert.equal(count, 9); + }); + + it("should pass when condition is true", async () => { + let executed = false; + const ge = createPredicatedGoalExecutor( + "test", + async () => { + executed = true; + }, + { + condition: async gi => { + return true; + }, + retries: 3, + timeoutMillis: 100, + }, false); + await ge({} as GoalInvocation); + assert.strictEqual(executed, true); + }); + + it("should fail when condition is never true", async () => { + let executed = false; + const ge = createPredicatedGoalExecutor( + "test", + async () => { + executed = true; + }, + { + condition: async gi => { + return false; + }, + retries: 3, + timeoutMillis: 100, + }, false); + try { + await ge({} as GoalInvocation); + } catch (e) { + assert(e.message.includes("Goal 'test' timed out after max retries")); + } + }); + }); });