@shipeasy/openapi 1.6.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -0
- package/dist/chunk-643YSMLU.js +1616 -0
- package/dist/chunk-643YSMLU.js.map +1 -0
- package/dist/chunk-MRW3DJ57.js +3385 -0
- package/dist/chunk-MRW3DJ57.js.map +1 -0
- package/dist/client-K0ShmsC7.d.ts +11284 -0
- package/dist/client.d.ts +1 -0
- package/dist/client.js +215 -0
- package/dist/client.js.map +1 -0
- package/dist/custom.d.ts +86 -0
- package/dist/custom.js +300 -0
- package/dist/custom.js.map +1 -0
- package/dist/index.d.ts +29 -41
- package/dist/index.js +258 -4375
- package/dist/index.js.map +1 -0
- package/dist/node-context.d.ts +81 -33
- package/dist/node-context.js +98 -44
- package/dist/node-context.js.map +1 -0
- package/dist/schemas.d.ts +7973 -0
- package/dist/schemas.js +1099 -0
- package/dist/schemas.js.map +1 -0
- package/openapi.json +15922 -3232
- package/openapi.yaml +14277 -0
- package/package.json +33 -26
- package/spec/components/errors.yaml +53 -0
- package/spec/components/parameters.yaml +32 -0
- package/spec/components/responses.yaml +122 -0
- package/spec/components/schemas/alert-rules.yaml +175 -0
- package/spec/components/schemas/attributes.yaml +157 -0
- package/spec/components/schemas/common.yaml +92 -0
- package/spec/components/schemas/configs.yaml +371 -0
- package/spec/components/schemas/connectors.yaml +587 -0
- package/spec/components/schemas/errors-api.yaml +209 -0
- package/spec/components/schemas/events.yaml +321 -0
- package/spec/components/schemas/experiments.yaml +865 -0
- package/spec/components/schemas/gate-templates.yaml +237 -0
- package/spec/components/schemas/gates.yaml +890 -0
- package/spec/components/schemas/i18n.yaml +478 -0
- package/spec/components/schemas/keys.yaml +186 -0
- package/spec/components/schemas/killswitches.yaml +309 -0
- package/spec/components/schemas/metrics.yaml +547 -0
- package/spec/components/schemas/ops.yaml +1013 -0
- package/spec/components/schemas/projects.yaml +222 -0
- package/spec/components/schemas/search.yaml +46 -0
- package/spec/components/schemas/universes.yaml +127 -0
- package/spec/openapi.yaml +367 -0
- package/spec/paths/alert-rules.yaml +258 -0
- package/spec/paths/attributes.yaml +272 -0
- package/spec/paths/configs.yaml +758 -0
- package/spec/paths/connectors.yaml +782 -0
- package/spec/paths/errors.yaml +382 -0
- package/spec/paths/events.yaml +380 -0
- package/spec/paths/experiments.yaml +803 -0
- package/spec/paths/gate-templates.yaml +267 -0
- package/spec/paths/gates.yaml +465 -0
- package/spec/paths/i18n.yaml +557 -0
- package/spec/paths/keys.yaml +182 -0
- package/spec/paths/killswitches.yaml +574 -0
- package/spec/paths/metrics.yaml +313 -0
- package/spec/paths/ops.yaml +446 -0
- package/spec/paths/projects.yaml +210 -0
- package/spec/paths/search.yaml +62 -0
- package/spec/paths/universes.yaml +255 -0
- package/dist/operations/attributes.d.ts +0 -33
- package/dist/operations/attributes.js +0 -16
- package/dist/operations/cli-adapter.d.ts +0 -35
- package/dist/operations/cli-adapter.js +0 -91
- package/dist/operations/coerce.d.ts +0 -32
- package/dist/operations/coerce.js +0 -53
- package/dist/operations/configs.d.ts +0 -28
- package/dist/operations/configs.js +0 -119
- package/dist/operations/docs.d.ts +0 -37
- package/dist/operations/docs.js +0 -39
- package/dist/operations/events.d.ts +0 -28
- package/dist/operations/events.js +0 -121
- package/dist/operations/experiments.d.ts +0 -28
- package/dist/operations/experiments.js +0 -280
- package/dist/operations/gates.d.ts +0 -28
- package/dist/operations/gates.js +0 -132
- package/dist/operations/i18n.d.ts +0 -28
- package/dist/operations/i18n.js +0 -121
- package/dist/operations/index.d.ts +0 -63
- package/dist/operations/index.js +0 -1751
- package/dist/operations/killswitches.d.ts +0 -28
- package/dist/operations/killswitches.js +0 -126
- package/dist/operations/mcp-adapter.d.ts +0 -35
- package/dist/operations/mcp-adapter.js +0 -94
- package/dist/operations/metrics.d.ts +0 -30
- package/dist/operations/metrics.js +0 -114
- package/dist/operations/ops.d.ts +0 -28
- package/dist/operations/ops.js +0 -313
- package/dist/operations/projects.d.ts +0 -28
- package/dist/operations/projects.js +0 -36
- package/dist/operations/sdk-docs.d.ts +0 -28
- package/dist/operations/sdk-docs.js +0 -160
- package/dist/operations/types.d.ts +0 -138
- package/dist/operations/types.js +0 -9
- package/dist/operations/universes.d.ts +0 -28
- package/dist/operations/universes.js +0 -93
- package/dist/operations/util.d.ts +0 -33
- package/dist/operations/util.js +0 -9
- package/dist/resources/alert-rules.d.ts +0 -50
- package/dist/resources/alert-rules.js +0 -75
- package/dist/resources/attributes.d.ts +0 -19
- package/dist/resources/attributes.js +0 -10
- package/dist/resources/configs.d.ts +0 -681
- package/dist/resources/configs.js +0 -509
- package/dist/resources/events.d.ts +0 -61
- package/dist/resources/events.js +0 -42
- package/dist/resources/experiments.d.ts +0 -849
- package/dist/resources/experiments.js +0 -707
- package/dist/resources/gates.d.ts +0 -808
- package/dist/resources/gates.js +0 -522
- package/dist/resources/i18n.d.ts +0 -84
- package/dist/resources/i18n.js +0 -60
- package/dist/resources/index.d.ts +0 -2767
- package/dist/resources/index.js +0 -2563
- package/dist/resources/killswitches.d.ts +0 -436
- package/dist/resources/killswitches.js +0 -514
- package/dist/resources/metrics.d.ts +0 -54
- package/dist/resources/metrics.js +0 -40
- package/dist/resources/ops.d.ts +0 -88
- package/dist/resources/ops.js +0 -36
- package/dist/resources/projects.d.ts +0 -54
- package/dist/resources/projects.js +0 -14
- package/dist/resources/universes.d.ts +0 -185
- package/dist/resources/universes.js +0 -234
- package/dist/schemas/alert-rules.d.ts +0 -65
- package/dist/schemas/alert-rules.js +0 -37
- package/dist/schemas/configs.d.ts +0 -154
- package/dist/schemas/configs.js +0 -134
- package/dist/schemas/constants.d.ts +0 -6
- package/dist/schemas/constants.js +0 -7
- package/dist/schemas/experiments.d.ts +0 -229
- package/dist/schemas/experiments.js +0 -221
- package/dist/schemas/folder.d.ts +0 -10
- package/dist/schemas/folder.js +0 -8
- package/dist/schemas/gates.d.ts +0 -386
- package/dist/schemas/gates.js +0 -190
- package/dist/schemas/index.d.ts +0 -11
- package/dist/schemas/index.js +0 -762
- package/dist/schemas/killswitches.d.ts +0 -110
- package/dist/schemas/killswitches.js +0 -226
- package/dist/schemas/metric-name.d.ts +0 -5
- package/dist/schemas/metric-name.js +0 -6
- package/dist/schemas/pagination.d.ts +0 -37
- package/dist/schemas/pagination.js +0 -44
- package/dist/schemas/universes.d.ts +0 -35
- package/dist/schemas/universes.js +0 -55
- package/dist/transport.d.ts +0 -30
- package/dist/transport.js +0 -44
|
@@ -0,0 +1,587 @@
|
|
|
1
|
+
ConnectorEvent:
|
|
2
|
+
type: string
|
|
3
|
+
enum:
|
|
4
|
+
- bug.created
|
|
5
|
+
- feature_request.created
|
|
6
|
+
description: "Lifecycle event a connector subscribes to. `bug.created` fires when a new bug report lands in the feedback inbox; `feature_request.created` fires for a new feature request. A connector dispatches (posts to Slack / appends a Sheets row / files a GitHub Issue) — or, for trigger connectors, auto-fires a coding-agent run — once per subscribed event."
|
|
7
|
+
ConnectorProvider:
|
|
8
|
+
type: string
|
|
9
|
+
enum:
|
|
10
|
+
- google_sheets
|
|
11
|
+
- github
|
|
12
|
+
- slack
|
|
13
|
+
- claude_trigger
|
|
14
|
+
- cursor_trigger
|
|
15
|
+
- copilot_trigger
|
|
16
|
+
- jules_trigger
|
|
17
|
+
description: "Connector destination. OAuth/app providers (`google_sheets`, `github`, `slack`) dispatch the event payload to an external destination. Trigger providers (`claude_trigger`, `cursor_trigger`, `copilot_trigger`, `jules_trigger`) instead kick a coding-agent run that burns down the operational queue."
|
|
18
|
+
ConnectorRecord:
|
|
19
|
+
type: object
|
|
20
|
+
properties:
|
|
21
|
+
id:
|
|
22
|
+
type: string
|
|
23
|
+
description: Stable opaque connector id (a UUID).
|
|
24
|
+
projectId:
|
|
25
|
+
type: string
|
|
26
|
+
description: Id of the project the connector belongs to.
|
|
27
|
+
provider:
|
|
28
|
+
$ref: "#/ConnectorProvider"
|
|
29
|
+
name:
|
|
30
|
+
type: string
|
|
31
|
+
maxLength: 80
|
|
32
|
+
description: Human-readable connector label shown in the dashboard.
|
|
33
|
+
enabled:
|
|
34
|
+
type: boolean
|
|
35
|
+
description: Whether the connector is active. OAuth providers are created `false` and flip to `true` only after the OAuth/config flow completes; trigger providers default to `true` on create. A disabled connector never dispatches and never auto-fires.
|
|
36
|
+
events:
|
|
37
|
+
type: array
|
|
38
|
+
items:
|
|
39
|
+
$ref: "#/ConnectorEvent"
|
|
40
|
+
description: Events this connector is subscribed to. Empty array = no auto-dispatch / no auto-fire (the connector can still be fired/tested manually).
|
|
41
|
+
config:
|
|
42
|
+
type: object
|
|
43
|
+
additionalProperties: true
|
|
44
|
+
description: "Provider-specific, non-secret configuration (e.g. a Google Sheets `spreadsheetId`/`sheetTitle`, a Slack channel ref, or a trigger's repo coordinates + routine id). Secrets are never stored here — they live in an encrypted credentials cipher that is never returned by the API."
|
|
45
|
+
accountLabel:
|
|
46
|
+
anyOf:
|
|
47
|
+
- type: string
|
|
48
|
+
- type: "null"
|
|
49
|
+
description: "Display label for the connected account / target (e.g. the OAuth account email, or a trigger's idempotency key such as its repo url or routine id). `null` until the connector is authenticated/configured."
|
|
50
|
+
lastError:
|
|
51
|
+
anyOf:
|
|
52
|
+
- type: string
|
|
53
|
+
- type: "null"
|
|
54
|
+
description: Error message from the most recent failed dispatch/fire attempt, or `null` if the last attempt succeeded (or none has run).
|
|
55
|
+
lastAttemptAt:
|
|
56
|
+
anyOf:
|
|
57
|
+
- type: string
|
|
58
|
+
- type: "null"
|
|
59
|
+
description: ISO-8601 timestamp of the most recent dispatch/fire attempt, or `null` if none has run.
|
|
60
|
+
lastSuccessAt:
|
|
61
|
+
anyOf:
|
|
62
|
+
- type: string
|
|
63
|
+
- type: "null"
|
|
64
|
+
description: ISO-8601 timestamp of the most recent successful dispatch/fire, or `null` if none has succeeded. Preserved across later failures.
|
|
65
|
+
createdAt:
|
|
66
|
+
type: string
|
|
67
|
+
description: ISO-8601 timestamp of creation.
|
|
68
|
+
updatedAt:
|
|
69
|
+
type: string
|
|
70
|
+
description: ISO-8601 timestamp of last mutation.
|
|
71
|
+
required:
|
|
72
|
+
- id
|
|
73
|
+
- projectId
|
|
74
|
+
- provider
|
|
75
|
+
- name
|
|
76
|
+
- enabled
|
|
77
|
+
- events
|
|
78
|
+
- config
|
|
79
|
+
- accountLabel
|
|
80
|
+
- lastError
|
|
81
|
+
- lastAttemptAt
|
|
82
|
+
- lastSuccessAt
|
|
83
|
+
- createdAt
|
|
84
|
+
- updatedAt
|
|
85
|
+
additionalProperties: false
|
|
86
|
+
description: "A connector row. The encrypted credentials cipher backing the connector is intentionally never serialised."
|
|
87
|
+
ListConnectorsResponse:
|
|
88
|
+
type: array
|
|
89
|
+
items:
|
|
90
|
+
$ref: "#/ConnectorRecord"
|
|
91
|
+
description: Bare array of every connector in the project (no pagination envelope).
|
|
92
|
+
GetConnectorResponse:
|
|
93
|
+
$ref: "#/ConnectorRecord"
|
|
94
|
+
CreateConnectorRequest:
|
|
95
|
+
oneOf:
|
|
96
|
+
- $ref: "#/CreateOAuthConnectorRequest"
|
|
97
|
+
- $ref: "#/CreateClaudeTriggerRequest"
|
|
98
|
+
- $ref: "#/CreateCursorTriggerRequest"
|
|
99
|
+
- $ref: "#/CreateCopilotTriggerRequest"
|
|
100
|
+
- $ref: "#/CreateJulesTriggerRequest"
|
|
101
|
+
discriminator:
|
|
102
|
+
propertyName: provider
|
|
103
|
+
mapping:
|
|
104
|
+
google_sheets: "#/CreateOAuthConnectorRequest"
|
|
105
|
+
github: "#/CreateOAuthConnectorRequest"
|
|
106
|
+
slack: "#/CreateOAuthConnectorRequest"
|
|
107
|
+
claude_trigger: "#/CreateClaudeTriggerRequest"
|
|
108
|
+
cursor_trigger: "#/CreateCursorTriggerRequest"
|
|
109
|
+
copilot_trigger: "#/CreateCopilotTriggerRequest"
|
|
110
|
+
jules_trigger: "#/CreateJulesTriggerRequest"
|
|
111
|
+
description: "Body for `POST /api/admin/connectors`, discriminated on `provider`. The OAuth providers (`google_sheets`/`github`/`slack`) create a disabled stub that is finished via the provider's OAuth flow. The trigger providers (`claude_trigger`/`cursor_trigger`/`copilot_trigger`/`jules_trigger`) arrive config + credentials together and are fireable immediately."
|
|
112
|
+
CreateOAuthConnectorRequest:
|
|
113
|
+
type: object
|
|
114
|
+
properties:
|
|
115
|
+
provider:
|
|
116
|
+
type: string
|
|
117
|
+
enum:
|
|
118
|
+
- google_sheets
|
|
119
|
+
- github
|
|
120
|
+
- slack
|
|
121
|
+
description: OAuth/app connector destination.
|
|
122
|
+
name:
|
|
123
|
+
type: string
|
|
124
|
+
minLength: 1
|
|
125
|
+
maxLength: 80
|
|
126
|
+
description: Human-readable connector label.
|
|
127
|
+
events:
|
|
128
|
+
type: array
|
|
129
|
+
minItems: 1
|
|
130
|
+
items:
|
|
131
|
+
$ref: "#/ConnectorEvent"
|
|
132
|
+
description: Events to subscribe to. At least one is required.
|
|
133
|
+
required:
|
|
134
|
+
- provider
|
|
135
|
+
- name
|
|
136
|
+
- events
|
|
137
|
+
additionalProperties: false
|
|
138
|
+
description: "Create an OAuth/app connector stub. The connector is created `enabled: false` with empty `config` and no credentials; the provider's OAuth flow then attaches credentials and enables it."
|
|
139
|
+
CreateClaudeTriggerRequest:
|
|
140
|
+
type: object
|
|
141
|
+
properties:
|
|
142
|
+
provider:
|
|
143
|
+
type: string
|
|
144
|
+
enum:
|
|
145
|
+
- claude_trigger
|
|
146
|
+
description: Discriminator. Claude Code scheduled-routine trigger.
|
|
147
|
+
name:
|
|
148
|
+
type: string
|
|
149
|
+
minLength: 1
|
|
150
|
+
maxLength: 80
|
|
151
|
+
default: Claude trigger
|
|
152
|
+
description: Human-readable connector label.
|
|
153
|
+
events:
|
|
154
|
+
type: array
|
|
155
|
+
default: []
|
|
156
|
+
items:
|
|
157
|
+
$ref: "#/ConnectorEvent"
|
|
158
|
+
description: Events that auto-fire the routine. Defaults to empty so the trigger does not auto-fire paid runs until events are subscribed.
|
|
159
|
+
config:
|
|
160
|
+
$ref: "#/ClaudeTriggerConfig"
|
|
161
|
+
token:
|
|
162
|
+
type: string
|
|
163
|
+
minLength: 1
|
|
164
|
+
description: "The routine's fire bearer token (secret). **Optional** — a tokenless trigger is recorded but not fireable until a token is added later. Encrypted into the credentials cipher; never persisted in `config` or returned."
|
|
165
|
+
enabled:
|
|
166
|
+
type: boolean
|
|
167
|
+
default: true
|
|
168
|
+
description: Whether the trigger is active on create.
|
|
169
|
+
required:
|
|
170
|
+
- provider
|
|
171
|
+
- config
|
|
172
|
+
additionalProperties: false
|
|
173
|
+
description: "Create a Claude Code routine trigger in one shot. Idempotent by `config.routineId` — re-creating with the same routine id updates the existing row."
|
|
174
|
+
CreateCursorTriggerRequest:
|
|
175
|
+
type: object
|
|
176
|
+
properties:
|
|
177
|
+
provider:
|
|
178
|
+
type: string
|
|
179
|
+
enum:
|
|
180
|
+
- cursor_trigger
|
|
181
|
+
description: Discriminator. Cursor cloud-agent trigger.
|
|
182
|
+
name:
|
|
183
|
+
type: string
|
|
184
|
+
minLength: 1
|
|
185
|
+
maxLength: 80
|
|
186
|
+
default: Cursor trigger
|
|
187
|
+
description: Human-readable connector label.
|
|
188
|
+
events:
|
|
189
|
+
type: array
|
|
190
|
+
default: []
|
|
191
|
+
items:
|
|
192
|
+
$ref: "#/ConnectorEvent"
|
|
193
|
+
description: Events that auto-fire a cold cloud-agent run. Defaults to empty.
|
|
194
|
+
config:
|
|
195
|
+
$ref: "#/CursorTriggerConfig"
|
|
196
|
+
apiKey:
|
|
197
|
+
type: string
|
|
198
|
+
minLength: 1
|
|
199
|
+
description: Cursor API key that launches the run (secret). Encrypted into the credentials cipher; never returned.
|
|
200
|
+
opsKey:
|
|
201
|
+
type: string
|
|
202
|
+
minLength: 1
|
|
203
|
+
description: Restricted Shipeasy ops key, injected into the run as `SHIPEASY_CLI_TOKEN` via the launch envVars (secret). Encrypted; never returned.
|
|
204
|
+
enabled:
|
|
205
|
+
type: boolean
|
|
206
|
+
default: true
|
|
207
|
+
description: Whether the trigger is active on create.
|
|
208
|
+
required:
|
|
209
|
+
- provider
|
|
210
|
+
- config
|
|
211
|
+
- apiKey
|
|
212
|
+
- opsKey
|
|
213
|
+
additionalProperties: false
|
|
214
|
+
description: "Create a Cursor cloud-agent trigger. Both keys are required up front (never tokenless). Idempotent by `config.repoUrl`."
|
|
215
|
+
CreateCopilotTriggerRequest:
|
|
216
|
+
type: object
|
|
217
|
+
properties:
|
|
218
|
+
provider:
|
|
219
|
+
type: string
|
|
220
|
+
enum:
|
|
221
|
+
- copilot_trigger
|
|
222
|
+
description: Discriminator. GitHub Copilot coding-agent trigger.
|
|
223
|
+
name:
|
|
224
|
+
type: string
|
|
225
|
+
minLength: 1
|
|
226
|
+
maxLength: 80
|
|
227
|
+
default: Copilot trigger
|
|
228
|
+
description: Human-readable connector label.
|
|
229
|
+
events:
|
|
230
|
+
type: array
|
|
231
|
+
default: []
|
|
232
|
+
items:
|
|
233
|
+
$ref: "#/ConnectorEvent"
|
|
234
|
+
description: Events that auto-fire a Copilot agent task. Defaults to empty.
|
|
235
|
+
config:
|
|
236
|
+
$ref: "#/CopilotTriggerConfig"
|
|
237
|
+
token:
|
|
238
|
+
type: string
|
|
239
|
+
minLength: 1
|
|
240
|
+
description: "Copilot-licensed user PAT (secret). The ops key lives in the repo's GitHub \"Agents\" secret store and is never sent through Shipeasy. Encrypted; never returned."
|
|
241
|
+
enabled:
|
|
242
|
+
type: boolean
|
|
243
|
+
default: true
|
|
244
|
+
description: Whether the trigger is active on create.
|
|
245
|
+
required:
|
|
246
|
+
- provider
|
|
247
|
+
- config
|
|
248
|
+
- token
|
|
249
|
+
additionalProperties: false
|
|
250
|
+
description: "Create a GitHub Copilot coding-agent trigger. Idempotent by `config.owner/config.repo`."
|
|
251
|
+
CreateJulesTriggerRequest:
|
|
252
|
+
type: object
|
|
253
|
+
properties:
|
|
254
|
+
provider:
|
|
255
|
+
type: string
|
|
256
|
+
enum:
|
|
257
|
+
- jules_trigger
|
|
258
|
+
description: Discriminator. Google Jules trigger.
|
|
259
|
+
name:
|
|
260
|
+
type: string
|
|
261
|
+
minLength: 1
|
|
262
|
+
maxLength: 80
|
|
263
|
+
default: Jules trigger
|
|
264
|
+
description: Human-readable connector label.
|
|
265
|
+
events:
|
|
266
|
+
type: array
|
|
267
|
+
default: []
|
|
268
|
+
items:
|
|
269
|
+
$ref: "#/ConnectorEvent"
|
|
270
|
+
description: Events that auto-fire a Jules session. Defaults to empty.
|
|
271
|
+
config:
|
|
272
|
+
$ref: "#/JulesTriggerConfig"
|
|
273
|
+
apiKey:
|
|
274
|
+
type: string
|
|
275
|
+
minLength: 1
|
|
276
|
+
description: Jules API key that launches the session (secret). Encrypted into the credentials cipher; never returned.
|
|
277
|
+
opsKey:
|
|
278
|
+
type: string
|
|
279
|
+
minLength: 1
|
|
280
|
+
description: Restricted Shipeasy ops key, embedded in the prompt (Jules exposes no env channel) (secret). Encrypted; never returned.
|
|
281
|
+
enabled:
|
|
282
|
+
type: boolean
|
|
283
|
+
default: true
|
|
284
|
+
description: Whether the trigger is active on create.
|
|
285
|
+
required:
|
|
286
|
+
- provider
|
|
287
|
+
- config
|
|
288
|
+
- apiKey
|
|
289
|
+
- opsKey
|
|
290
|
+
additionalProperties: false
|
|
291
|
+
description: "Create a Google Jules trigger. Both keys are required up front. Idempotent by `config.source`."
|
|
292
|
+
ClaudeTriggerConfig:
|
|
293
|
+
type: object
|
|
294
|
+
properties:
|
|
295
|
+
routineId:
|
|
296
|
+
type: string
|
|
297
|
+
minLength: 1
|
|
298
|
+
description: The Claude Code routine id this connector fires (the id recorded at setup). Idempotency key for the connector.
|
|
299
|
+
fireText:
|
|
300
|
+
type: string
|
|
301
|
+
minLength: 1
|
|
302
|
+
description: Optional default prompt sent on a manual fire / when no event text applies.
|
|
303
|
+
required:
|
|
304
|
+
- routineId
|
|
305
|
+
additionalProperties: false
|
|
306
|
+
description: Non-secret config for a Claude trigger.
|
|
307
|
+
CursorTriggerConfig:
|
|
308
|
+
type: object
|
|
309
|
+
properties:
|
|
310
|
+
repoUrl:
|
|
311
|
+
type: string
|
|
312
|
+
format: uri
|
|
313
|
+
description: Repo the cloud agent runs against, e.g. `https://github.com/owner/repo`. Idempotency key for the connector.
|
|
314
|
+
startingRef:
|
|
315
|
+
type: string
|
|
316
|
+
minLength: 1
|
|
317
|
+
description: Optional git ref the run starts from.
|
|
318
|
+
projectId:
|
|
319
|
+
type: string
|
|
320
|
+
minLength: 1
|
|
321
|
+
description: Shipeasy project id the run targets.
|
|
322
|
+
required:
|
|
323
|
+
- repoUrl
|
|
324
|
+
- projectId
|
|
325
|
+
additionalProperties: false
|
|
326
|
+
description: Non-secret config for a Cursor trigger.
|
|
327
|
+
CopilotTriggerConfig:
|
|
328
|
+
type: object
|
|
329
|
+
properties:
|
|
330
|
+
owner:
|
|
331
|
+
type: string
|
|
332
|
+
minLength: 1
|
|
333
|
+
description: GitHub repo owner. Together with `repo` forms the connector's idempotency key (`owner/repo`).
|
|
334
|
+
repo:
|
|
335
|
+
type: string
|
|
336
|
+
minLength: 1
|
|
337
|
+
description: GitHub repo name.
|
|
338
|
+
baseRef:
|
|
339
|
+
type: string
|
|
340
|
+
minLength: 1
|
|
341
|
+
description: Optional base ref the agent branches from.
|
|
342
|
+
projectId:
|
|
343
|
+
type: string
|
|
344
|
+
minLength: 1
|
|
345
|
+
description: Shipeasy project id the run targets.
|
|
346
|
+
required:
|
|
347
|
+
- owner
|
|
348
|
+
- repo
|
|
349
|
+
- projectId
|
|
350
|
+
additionalProperties: false
|
|
351
|
+
description: Non-secret config for a Copilot trigger.
|
|
352
|
+
JulesTriggerConfig:
|
|
353
|
+
type: object
|
|
354
|
+
properties:
|
|
355
|
+
source:
|
|
356
|
+
type: string
|
|
357
|
+
minLength: 1
|
|
358
|
+
description: Jules source for the connected repo, e.g. `sources/github/owner/repo`. Idempotency key for the connector.
|
|
359
|
+
startingBranch:
|
|
360
|
+
type: string
|
|
361
|
+
minLength: 1
|
|
362
|
+
description: Optional branch the session starts from.
|
|
363
|
+
projectId:
|
|
364
|
+
type: string
|
|
365
|
+
minLength: 1
|
|
366
|
+
description: Shipeasy project id the run targets.
|
|
367
|
+
required:
|
|
368
|
+
- source
|
|
369
|
+
- projectId
|
|
370
|
+
additionalProperties: false
|
|
371
|
+
description: Non-secret config for a Jules trigger.
|
|
372
|
+
CreateTriggerConnectorRequest:
|
|
373
|
+
oneOf:
|
|
374
|
+
- $ref: "#/CreateClaudeTriggerRequest"
|
|
375
|
+
- $ref: "#/CreateCursorTriggerRequest"
|
|
376
|
+
- $ref: "#/CreateCopilotTriggerRequest"
|
|
377
|
+
- $ref: "#/CreateJulesTriggerRequest"
|
|
378
|
+
discriminator:
|
|
379
|
+
propertyName: provider
|
|
380
|
+
mapping:
|
|
381
|
+
claude_trigger: "#/CreateClaudeTriggerRequest"
|
|
382
|
+
cursor_trigger: "#/CreateCursorTriggerRequest"
|
|
383
|
+
copilot_trigger: "#/CreateCopilotTriggerRequest"
|
|
384
|
+
jules_trigger: "#/CreateJulesTriggerRequest"
|
|
385
|
+
description: "Body for `POST /api/admin/connectors/trigger`, discriminated on `provider` — the trigger-provider subset of `CreateConnectorRequest` (no OAuth stubs). Config + credentials arrive together and the connector is usable immediately; creates are idempotent by each provider's natural key (`config.routineId` / `config.repoUrl` / `config.owner`+`config.repo` / `config.source`)."
|
|
386
|
+
UpdateTriggerConnectorRequest:
|
|
387
|
+
oneOf:
|
|
388
|
+
- $ref: "#/UpdateClaudeTriggerRequest"
|
|
389
|
+
- $ref: "#/UpdateCursorTriggerRequest"
|
|
390
|
+
- $ref: "#/UpdateCopilotTriggerRequest"
|
|
391
|
+
- $ref: "#/UpdateJulesTriggerRequest"
|
|
392
|
+
discriminator:
|
|
393
|
+
propertyName: provider
|
|
394
|
+
mapping:
|
|
395
|
+
claude_trigger: "#/UpdateClaudeTriggerRequest"
|
|
396
|
+
cursor_trigger: "#/UpdateCursorTriggerRequest"
|
|
397
|
+
copilot_trigger: "#/UpdateCopilotTriggerRequest"
|
|
398
|
+
jules_trigger: "#/UpdateJulesTriggerRequest"
|
|
399
|
+
description: "Body for `PATCH /api/admin/connectors/{id}/trigger`, discriminated on `provider`. Edits an existing trigger connector: the non-secret `config` is always supplied and replaces the stored config wholesale; `name` and the credential secret(s) are optional (a supplied secret rotates just that key, a blank/omitted one leaves the stored cipher untouched)."
|
|
400
|
+
UpdateClaudeTriggerRequest:
|
|
401
|
+
type: object
|
|
402
|
+
properties:
|
|
403
|
+
provider:
|
|
404
|
+
type: string
|
|
405
|
+
enum:
|
|
406
|
+
- claude_trigger
|
|
407
|
+
description: Discriminator. Claude Code scheduled-routine trigger.
|
|
408
|
+
name:
|
|
409
|
+
type: string
|
|
410
|
+
minLength: 1
|
|
411
|
+
maxLength: 80
|
|
412
|
+
description: New connector label. Optional — omit to leave it unchanged.
|
|
413
|
+
config:
|
|
414
|
+
$ref: "#/ClaudeTriggerConfig"
|
|
415
|
+
token:
|
|
416
|
+
type: string
|
|
417
|
+
minLength: 1
|
|
418
|
+
description: "New fire bearer token (secret). Optional — a blank/omitted token leaves the stored cipher untouched; a supplied one replaces it. Encrypted; never returned."
|
|
419
|
+
required:
|
|
420
|
+
- provider
|
|
421
|
+
- config
|
|
422
|
+
additionalProperties: false
|
|
423
|
+
description: "Per-provider PATCH body for editing an existing `claude_trigger` connector (the dashboard \"Triggers\" tab). The non-secret `config` is always supplied and replaces the stored config wholesale; `name` and `token` are optional."
|
|
424
|
+
UpdateCursorTriggerRequest:
|
|
425
|
+
type: object
|
|
426
|
+
properties:
|
|
427
|
+
provider:
|
|
428
|
+
type: string
|
|
429
|
+
enum:
|
|
430
|
+
- cursor_trigger
|
|
431
|
+
description: Discriminator. Cursor cloud-agent trigger.
|
|
432
|
+
name:
|
|
433
|
+
type: string
|
|
434
|
+
minLength: 1
|
|
435
|
+
maxLength: 80
|
|
436
|
+
description: New connector label. Optional — omit to leave it unchanged.
|
|
437
|
+
config:
|
|
438
|
+
$ref: "#/CursorTriggerConfig"
|
|
439
|
+
apiKey:
|
|
440
|
+
type: string
|
|
441
|
+
minLength: 1
|
|
442
|
+
description: "New Cursor launch key (secret). Optional — omit to leave the stored key untouched. Rotatable independently of `opsKey`. Encrypted; never returned."
|
|
443
|
+
opsKey:
|
|
444
|
+
type: string
|
|
445
|
+
minLength: 1
|
|
446
|
+
description: "New restricted Shipeasy ops key (secret). Optional — omit to leave the stored key untouched. Rotatable independently of `apiKey`. Encrypted; never returned."
|
|
447
|
+
required:
|
|
448
|
+
- provider
|
|
449
|
+
- config
|
|
450
|
+
additionalProperties: false
|
|
451
|
+
description: "Per-provider PATCH body for editing an existing `cursor_trigger` connector. `config` replaces the stored config wholesale; `name` and either credential are optional (a supplied credential rotates just that key)."
|
|
452
|
+
UpdateCopilotTriggerRequest:
|
|
453
|
+
type: object
|
|
454
|
+
properties:
|
|
455
|
+
provider:
|
|
456
|
+
type: string
|
|
457
|
+
enum:
|
|
458
|
+
- copilot_trigger
|
|
459
|
+
description: Discriminator. GitHub Copilot coding-agent trigger.
|
|
460
|
+
name:
|
|
461
|
+
type: string
|
|
462
|
+
minLength: 1
|
|
463
|
+
maxLength: 80
|
|
464
|
+
description: New connector label. Optional — omit to leave it unchanged.
|
|
465
|
+
config:
|
|
466
|
+
$ref: "#/CopilotTriggerConfig"
|
|
467
|
+
token:
|
|
468
|
+
type: string
|
|
469
|
+
minLength: 1
|
|
470
|
+
description: "New Copilot-licensed user PAT (secret). Optional — omit to leave the stored cipher untouched. Encrypted; never returned."
|
|
471
|
+
required:
|
|
472
|
+
- provider
|
|
473
|
+
- config
|
|
474
|
+
additionalProperties: false
|
|
475
|
+
description: "Per-provider PATCH body for editing an existing `copilot_trigger` connector. `config` replaces the stored config wholesale; `name` and `token` are optional."
|
|
476
|
+
UpdateJulesTriggerRequest:
|
|
477
|
+
type: object
|
|
478
|
+
properties:
|
|
479
|
+
provider:
|
|
480
|
+
type: string
|
|
481
|
+
enum:
|
|
482
|
+
- jules_trigger
|
|
483
|
+
description: Discriminator. Google Jules trigger.
|
|
484
|
+
name:
|
|
485
|
+
type: string
|
|
486
|
+
minLength: 1
|
|
487
|
+
maxLength: 80
|
|
488
|
+
description: New connector label. Optional — omit to leave it unchanged.
|
|
489
|
+
config:
|
|
490
|
+
$ref: "#/JulesTriggerConfig"
|
|
491
|
+
apiKey:
|
|
492
|
+
type: string
|
|
493
|
+
minLength: 1
|
|
494
|
+
description: "New Jules launch key (secret). Optional — omit to leave the stored key untouched. Rotatable independently of `opsKey`. Encrypted; never returned."
|
|
495
|
+
opsKey:
|
|
496
|
+
type: string
|
|
497
|
+
minLength: 1
|
|
498
|
+
description: "New restricted Shipeasy ops key (secret). Optional — omit to leave the stored key untouched. Rotatable independently of `apiKey`. Encrypted; never returned."
|
|
499
|
+
required:
|
|
500
|
+
- provider
|
|
501
|
+
- config
|
|
502
|
+
additionalProperties: false
|
|
503
|
+
description: "Per-provider PATCH body for editing an existing `jules_trigger` connector. `config` replaces the stored config wholesale; `name` and either credential are optional."
|
|
504
|
+
CreateConnectorResponse:
|
|
505
|
+
type: object
|
|
506
|
+
properties:
|
|
507
|
+
id:
|
|
508
|
+
type: string
|
|
509
|
+
description: Newly assigned connector id.
|
|
510
|
+
required:
|
|
511
|
+
- id
|
|
512
|
+
additionalProperties: false
|
|
513
|
+
UpdateConnectorRequest:
|
|
514
|
+
type: object
|
|
515
|
+
properties:
|
|
516
|
+
name:
|
|
517
|
+
type: string
|
|
518
|
+
minLength: 1
|
|
519
|
+
maxLength: 80
|
|
520
|
+
description: New connector label.
|
|
521
|
+
enabled:
|
|
522
|
+
type: boolean
|
|
523
|
+
description: Toggle the connector on/off.
|
|
524
|
+
events:
|
|
525
|
+
type: array
|
|
526
|
+
items:
|
|
527
|
+
$ref: "#/ConnectorEvent"
|
|
528
|
+
description: "Replaces the subscribed-events list wholesale. An empty array unsubscribes the connector from every event (e.g. turning off a trigger's auto-fire)."
|
|
529
|
+
config:
|
|
530
|
+
type: object
|
|
531
|
+
additionalProperties: true
|
|
532
|
+
description: "Replaces the non-secret config wholesale. Secrets are never set through this endpoint."
|
|
533
|
+
additionalProperties: false
|
|
534
|
+
description: "Body for `PATCH /api/admin/connectors/{id}`. Partial — only supplied fields change. Array/object fields (`events`, `config`) replace, not merge."
|
|
535
|
+
UpdateConnectorResponse:
|
|
536
|
+
type: object
|
|
537
|
+
properties:
|
|
538
|
+
id:
|
|
539
|
+
type: string
|
|
540
|
+
description: Connector id that was updated.
|
|
541
|
+
required:
|
|
542
|
+
- id
|
|
543
|
+
additionalProperties: false
|
|
544
|
+
description: Update returns only the id — re-fetch via `GET /api/admin/connectors/{id}` for the full row.
|
|
545
|
+
DeleteConnectorResponse:
|
|
546
|
+
type: object
|
|
547
|
+
properties:
|
|
548
|
+
ok:
|
|
549
|
+
type: boolean
|
|
550
|
+
const: true
|
|
551
|
+
required:
|
|
552
|
+
- ok
|
|
553
|
+
additionalProperties: false
|
|
554
|
+
FireConnectorRequest:
|
|
555
|
+
type: object
|
|
556
|
+
properties:
|
|
557
|
+
text:
|
|
558
|
+
type: string
|
|
559
|
+
description: "Optional prompt override for the run. When omitted, each provider falls back to its own default (Claude → the configured `fireText`; the others → their built cold-start prompt)."
|
|
560
|
+
additionalProperties: false
|
|
561
|
+
description: "Body for `POST /api/admin/connectors/{id}/fire`. Entirely optional — an empty body kicks the run with the provider default."
|
|
562
|
+
FireConnectorResponse:
|
|
563
|
+
type: object
|
|
564
|
+
properties:
|
|
565
|
+
ok:
|
|
566
|
+
type: boolean
|
|
567
|
+
description: "Always `true` — a successful fire returns HTTP 200. A dispatch failure returns HTTP 502 with the `Error` envelope, not this body."
|
|
568
|
+
required:
|
|
569
|
+
- ok
|
|
570
|
+
additionalProperties: false
|
|
571
|
+
description: "Result of a successful trigger fire: `{ ok: true }`. When the downstream dispatch fails the endpoint returns HTTP 502 (see the `Error` response), never `ok: false`."
|
|
572
|
+
TestConnectorResponse:
|
|
573
|
+
type: object
|
|
574
|
+
properties:
|
|
575
|
+
ok:
|
|
576
|
+
type: boolean
|
|
577
|
+
description: "Always `true` — a successful test returns HTTP 200. A dispatch failure returns HTTP 502 with the `Error` envelope, not this body."
|
|
578
|
+
issueUrl:
|
|
579
|
+
anyOf:
|
|
580
|
+
- type: string
|
|
581
|
+
- type: "null"
|
|
582
|
+
description: "URL of the artifact the test produced (e.g. the GitHub Issue created by a `github` connector), or `null` when the provider produces no linkable artifact."
|
|
583
|
+
required:
|
|
584
|
+
- ok
|
|
585
|
+
- issueUrl
|
|
586
|
+
additionalProperties: false
|
|
587
|
+
description: "Result of a successful connector test: `{ ok: true, issueUrl }`. When the downstream dispatch fails the endpoint returns HTTP 502 (see the `Error` response), never `ok: false`."
|