summaryrefslogtreecommitdiff
path: root/spec/contracts/contracts/project/pipelines/index/pipelines#index-get_list_project_pipelines.json
blob: 01c6563f76a93a4beb9c4089ebbf6417b4303ebe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
{
  "consumer": {
    "name": "Pipelines#index"
  },
  "provider": {
    "name": "GET list project pipelines"
  },
  "interactions": [
    {
      "description": "a request for a list of project pipelines",
      "providerState": "a few pipelines for a project exists",
      "request": {
        "method": "GET",
        "path": "/gitlab-org/gitlab-qa/-/pipelines.json",
        "query": "scope=all&page=1",
        "headers": {
          "Accept": "*/*"
        }
      },
      "response": {
        "status": 200,
        "headers": {
          "Content-Type": "application/json; charset=utf-8"
        },
        "body": {
          "pipelines": [
            {
              "id": 564173401,
              "iid": 8197225,
              "user": {
                "id": 1781152,
                "username": "gitlab-bot",
                "name": "🤖 GitLab Bot 🤖",
                "state": "active",
                "avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/1516152/avatar.png",
                "web_url": "https://gitlab.com/gitlab-bot",
                "show_status": false,
                "path": "/gitlab-bot"
              },
              "active": true,
              "source": "schedule",
              "created_at": "2022-06-11T00:05:21.558Z",
              "updated_at": "2022-06-11T00:05:34.258Z",
              "path": "/gitlab-org/gitlab/-/pipelines/561224401",
              "flags": {
                "stuck": false,
                "auto_devops": false,
                "merge_request": false,
                "yaml_errors": false,
                "retryable": false,
                "cancelable": false,
                "failure_reason": false,
                "detached_merge_request_pipeline": false,
                "merge_request_pipeline": false,
                "merge_train_pipeline": false,
                "latest": true
              },
              "details": {
                "status": {
                  "icon": "status_running",
                  "text": "running",
                  "label": "running",
                  "group": "running",
                  "tooltip": "passed",
                  "has_details": true,
                  "details_path": "/gitlab-org/gitlab/-/pipelines/566374401",
                  "illustration": null,
                  "favicon": "/assets/ci_favicons/favicon_status_running.png"
                },
                "stages": [
                  {
                    "name": "sync",
                    "title": "sync: passed",
                    "status": {
                      "icon": "status_success",
                      "text": "passed",
                      "label": "passed",
                      "group": "success",
                      "tooltip": "passed",
                      "has_details": true,
                      "details_path": "/gitlab-org/gitlab/-/pipelines/561174401#sync",
                      "illustration": null,
                      "favicon": "/assets/ci_favicons/favicon_status_success.png"
                    },
                    "path": "/gitlab-org/gitlab/-/pipelines/561124401#sync",
                    "dropdown_path": "/gitlab-org/gitlab/-/pipelines/561174401/stage.json?stage=sync"
                  }
                ],
                "duration": 25,
                "finished_at": "2022-06-11T00:55:21.558Z",
                "name": "Pipeline",
                "manual_actions": [
                  {
                    "name": "review-docs-deploy",
                    "playable": true,
                    "scheduled": false
                  }
                ],
                "scheduled_actions": [
                  {
                    "name": "review-docs-schedule",
                    "playable": true,
                    "scheduled": false
                  }
                ]
              },
              "ref": {
                "name": "master",
                "path": "/gitlab-org/gitlab/-/commits/master",
                "tag": false,
                "branch": true,
                "merge_request": false
              },
              "commit": {
                "id": "e6d797385144b955c6d4ecfa00e9656dc33efd2b",
                "short_id": "e6d79738",
                "created_at": "2022-06-10T22:02:10.000+00:00",
                "parent_ids": [
                  "3b0e053a24958174eaa7e3b183c7263432890d1c"
                ],
                "title": "Merge branch 'ee-test' into 'master'",
                "message": "Merge branch 'ee-test' into 'master'\nThis is a test.",
                "author_name": "John Doe",
                "author_email": "jdoe@gitlab.com",
                "authored_date": "2022-06-10T22:02:10.000+00:00",
                "committer_name": "John Doe",
                "committer_email": "jdoe@gitlab.com",
                "committed_date": "2022-06-10T22:02:10.000+00:00",
                "trailers": {},
                "web_url": "https://gitlab.com/gitlab-org/gitlab/-/commit/f559253c514d9ab707c66e",
                "author": null,
                "author_gravatar_url": "https://secure.gravatar.com/avatar/d85e45af29611ac2c1395e3c3d6ec5d6?s=80&d=identicon",
                "commit_url": "https://gitlab.com/gitlab-org/gitlab/-/commit/dc7522f559253c514d9ab707c66e7a1026abca5a",
                "commit_path": "/gitlab-org/gitlab/-/commit/dc7522f559253c514d9ab707c66e7a1026abca5a"
              },
              "project": {
                "id": 253964,
                "name": "GitLab",
                "full_path": "/gitlab-org/gitlab",
                "full_name": "GitLab.org / GitLab"
              },
              "triggered_by": null,
              "triggered": []
            }
          ],
          "count": {
            "all": "1,000+"
          }
        },
        "matchingRules": {
          "$.body.pipelines": {
            "min": 1
          },
          "$.body.pipelines[*].*": {
            "match": "type"
          },
          "$.body.pipelines[*].id": {
            "match": "type"
          },
          "$.body.pipelines[*].iid": {
            "match": "type"
          },
          "$.body.pipelines[*].user.id": {
            "match": "type"
          },
          "$.body.pipelines[*].user.username": {
            "match": "type"
          },
          "$.body.pipelines[*].user.name": {
            "match": "type"
          },
          "$.body.pipelines[*].user.state": {
            "match": "regex",
            "regex": "^(active|blocked)$"
          },
          "$.body.pipelines[*].user.avatar_url": {
            "match": "regex",
            "regex": "^(http|https):\\/\\/[a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$"
          },
          "$.body.pipelines[*].user.web_url": {
            "match": "regex",
            "regex": "^(http|https):\\/\\/[a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$"
          },
          "$.body.pipelines[*].user.show_status": {
            "match": "type"
          },
          "$.body.pipelines[*].user.path": {
            "match": "regex",
            "regex": "^\\/[a-zA-Z0-9#-=?_]+$"
          },
          "$.body.pipelines[*].active": {
            "match": "type"
          },
          "$.body.pipelines[*].source": {
            "match": "regex",
            "regex": "^(push|web|trigger|schedule|api|external|pipeline|chat|webide|merge_request_event|external_pull_request_event|parent_pipeline|ondemand_dast_scan|ondemand_dast_validation)$"
          },
          "$.body.pipelines[*].created_at": {
            "match": "regex",
            "regex": "^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d(:?[0-5]\\d)?|Z)$"
          },
          "$.body.pipelines[*].updated_at": {
            "match": "regex",
            "regex": "^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d(:?[0-5]\\d)?|Z)$"
          },
          "$.body.pipelines[*].path": {
            "match": "regex",
            "regex": "^\\/[a-zA-Z0-9#-=?_]+$"
          },
          "$.body.pipelines[*].flags.stuck": {
            "match": "type"
          },
          "$.body.pipelines[*].flags.auto_devops": {
            "match": "type"
          },
          "$.body.pipelines[*].flags.merge_request": {
            "match": "type"
          },
          "$.body.pipelines[*].flags.yaml_errors": {
            "match": "type"
          },
          "$.body.pipelines[*].flags.retryable": {
            "match": "type"
          },
          "$.body.pipelines[*].flags.cancelable": {
            "match": "type"
          },
          "$.body.pipelines[*].flags.failure_reason": {
            "match": "type"
          },
          "$.body.pipelines[*].flags.detached_merge_request_pipeline": {
            "match": "type"
          },
          "$.body.pipelines[*].flags.merge_request_pipeline": {
            "match": "type"
          },
          "$.body.pipelines[*].flags.merge_train_pipeline": {
            "match": "type"
          },
          "$.body.pipelines[*].flags.latest": {
            "match": "type"
          },
          "$.body.pipelines[*].details.status.icon": {
            "match": "regex",
            "regex": "^status_(canceled|created|failed|manual|pending|preparing|running|scheduled|skipped|success|warning)$"
          },
          "$.body.pipelines[*].details.status.text": {
            "match": "regex",
            "regex": "^(canceled|created|delayed|failed|manual|passed|pending|preparing|running|skipped|waiting)$"
          },
          "$.body.pipelines[*].details.status.label": {
            "match": "regex",
            "regex": "^(canceled|created|delayed|failed|manual action|passed|pending|preparing|running|skipped|passed with warnings|waiting for resource)$"
          },
          "$.body.pipelines[*].details.status.group": {
            "match": "regex",
            "regex": "^(canceled|created|failed|manual|pending|preparing|running|scheduled|skipped|success|success_warning|waiting-for-resource)$"
          },
          "$.body.pipelines[*].details.status.tooltip": {
            "match": "regex",
            "regex": "^(canceled|created|delayed|failed|manual action|passed|pending|preparing|running|skipped|passed with warnings|waiting for resource)$"
          },
          "$.body.pipelines[*].details.status.has_details": {
            "match": "type"
          },
          "$.body.pipelines[*].details.status.details_path": {
            "match": "regex",
            "regex": "^\\/[a-zA-Z0-9#-=?_]+$"
          },
          "$.body.pipelines[*].details.status.favicon": {
            "match": "regex",
            "regex": "^\\/[a-zA-Z0-9#-=?_]+$"
          },
          "$.body.pipelines[*].details.stages": {
            "min": 1
          },
          "$.body.pipelines[*].details.stages[*].*": {
            "match": "type"
          },
          "$.body.pipelines[*].details.stages[*].name": {
            "match": "type"
          },
          "$.body.pipelines[*].details.stages[*].title": {
            "match": "type"
          },
          "$.body.pipelines[*].details.stages[*].status.icon": {
            "match": "regex",
            "regex": "^status_(canceled|created|failed|manual|pending|preparing|running|scheduled|skipped|success|warning)$"
          },
          "$.body.pipelines[*].details.stages[*].status.text": {
            "match": "regex",
            "regex": "^(canceled|created|delayed|failed|manual|passed|pending|preparing|running|skipped|waiting)$"
          },
          "$.body.pipelines[*].details.stages[*].status.label": {
            "match": "regex",
            "regex": "^(canceled|created|delayed|failed|manual action|passed|pending|preparing|running|skipped|passed with warnings|waiting for resource)$"
          },
          "$.body.pipelines[*].details.stages[*].status.group": {
            "match": "regex",
            "regex": "^(canceled|created|failed|manual|pending|preparing|running|scheduled|skipped|success|success_warning|waiting-for-resource)$"
          },
          "$.body.pipelines[*].details.stages[*].status.tooltip": {
            "match": "regex",
            "regex": "^(canceled|created|delayed|failed|manual action|passed|pending|preparing|running|skipped|passed with warnings|waiting for resource)$"
          },
          "$.body.pipelines[*].details.stages[*].status.has_details": {
            "match": "type"
          },
          "$.body.pipelines[*].details.stages[*].status.details_path": {
            "match": "regex",
            "regex": "^\\/[a-zA-Z0-9#-=?_]+$"
          },
          "$.body.pipelines[*].details.stages[*].status.favicon": {
            "match": "regex",
            "regex": "^\\/[a-zA-Z0-9#-=?_]+$"
          },
          "$.body.pipelines[*].details.stages[*].path": {
            "match": "regex",
            "regex": "^\\/[a-zA-Z0-9#-=?_]+$"
          },
          "$.body.pipelines[*].details.stages[*].dropdown_path": {
            "match": "regex",
            "regex": "^\\/[a-zA-Z0-9#-=?_]+$"
          },
          "$.body.pipelines[*].details.duration": {
            "match": "type"
          },
          "$.body.pipelines[*].details.finished_at": {
            "match": "regex",
            "regex": "^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d(:?[0-5]\\d)?|Z)$"
          },
          "$.body.pipelines[*].details.name": {
            "match": "type"
          },
          "$.body.pipelines[*].details.manual_actions": {
            "min": 1
          },
          "$.body.pipelines[*].details.manual_actions[*].*": {
            "match": "type"
          },
          "$.body.pipelines[*].details.manual_actions[*].name": {
            "match": "type"
          },
          "$.body.pipelines[*].details.manual_actions[*].playable": {
            "match": "type"
          },
          "$.body.pipelines[*].details.manual_actions[*].scheduled": {
            "match": "type"
          },
          "$.body.pipelines[*].details.scheduled_actions": {
            "min": 1
          },
          "$.body.pipelines[*].details.scheduled_actions[*].*": {
            "match": "type"
          },
          "$.body.pipelines[*].details.scheduled_actions[*].name": {
            "match": "type"
          },
          "$.body.pipelines[*].details.scheduled_actions[*].playable": {
            "match": "type"
          },
          "$.body.pipelines[*].details.scheduled_actions[*].scheduled": {
            "match": "type"
          },
          "$.body.pipelines[*].ref.name": {
            "match": "type"
          },
          "$.body.pipelines[*].ref.path": {
            "match": "regex",
            "regex": "^\\/[a-zA-Z0-9#-=?_]+$"
          },
          "$.body.pipelines[*].ref.tag": {
            "match": "type"
          },
          "$.body.pipelines[*].ref.branch": {
            "match": "type"
          },
          "$.body.pipelines[*].ref.merge_request": {
            "match": "type"
          },
          "$.body.pipelines[*].commit.id": {
            "match": "type"
          },
          "$.body.pipelines[*].commit.short_id": {
            "match": "type"
          },
          "$.body.pipelines[*].commit.created_at": {
            "match": "regex",
            "regex": "^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d(:?[0-5]\\d)?|Z)$"
          },
          "$.body.pipelines[*].commit.parent_ids": {
            "min": 1
          },
          "$.body.pipelines[*].commit.parent_ids[*].*": {
            "match": "type"
          },
          "$.body.pipelines[*].commit.parent_ids[*]": {
            "match": "type"
          },
          "$.body.pipelines[*].commit.title": {
            "match": "type"
          },
          "$.body.pipelines[*].commit.message": {
            "match": "type"
          },
          "$.body.pipelines[*].commit.author_name": {
            "match": "type"
          },
          "$.body.pipelines[*].commit.author_email": {
            "match": "regex",
            "regex": "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$"
          },
          "$.body.pipelines[*].commit.authored_date": {
            "match": "regex",
            "regex": "^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d(:?[0-5]\\d)?|Z)$"
          },
          "$.body.pipelines[*].commit.committer_name": {
            "match": "type"
          },
          "$.body.pipelines[*].commit.committer_email": {
            "match": "regex",
            "regex": "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$"
          },
          "$.body.pipelines[*].commit.committed_date": {
            "match": "regex",
            "regex": "^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d(:?[0-5]\\d)?|Z)$"
          },
          "$.body.pipelines[*].commit.web_url": {
            "match": "regex",
            "regex": "^(http|https):\\/\\/[a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$"
          },
          "$.body.pipelines[*].commit.author_gravatar_url": {
            "match": "regex",
            "regex": "^(http|https):\\/\\/[a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$"
          },
          "$.body.pipelines[*].commit.commit_url": {
            "match": "regex",
            "regex": "^(http|https):\\/\\/[a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$"
          },
          "$.body.pipelines[*].commit.commit_path": {
            "match": "regex",
            "regex": "^\\/[a-zA-Z0-9#-=?_]+$"
          },
          "$.body.pipelines[*].project.id": {
            "match": "type"
          },
          "$.body.pipelines[*].project.name": {
            "match": "type"
          },
          "$.body.pipelines[*].project.full_path": {
            "match": "regex",
            "regex": "^\\/[a-zA-Z0-9#-=?_]+$"
          },
          "$.body.pipelines[*].project.full_name": {
            "match": "type"
          },
          "$.body.count.all": {
            "match": "type"
          }
        }
      }
    }
  ],
  "metadata": {
    "pactSpecification": {
      "version": "2.0.0"
    }
  }
}