debian-mirror-gitlab/doc/api/jobs.md

759 lines
26 KiB
Markdown
Raw Normal View History

2020-10-24 23:57:45 +05:30
---
stage: Verify
group: Continuous Integration
2021-02-22 17:27:13 +05:30
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
2020-10-24 23:57:45 +05:30
---
2017-08-17 22:00:37 +05:30
# Jobs API
## List project jobs
2020-01-01 13:55:28 +05:30
Get a list of jobs in a project. Jobs are sorted in descending order of their IDs.
2017-08-17 22:00:37 +05:30
2020-04-08 14:13:33 +05:30
```plaintext
2017-08-17 22:00:37 +05:30
GET /projects/:id/jobs
```
2019-02-15 15:39:39 +05:30
| Attribute | Type | Required | Description |
|-----------|--------------------------------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
2019-07-07 11:18:12 +05:30
| `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. |
2019-02-15 15:39:39 +05:30
| `scope` | string **or** array of strings | no | Scope of jobs to show. Either one of or an array of the following: `created`, `pending`, `running`, `failed`, `success`, `canceled`, `skipped`, or `manual`. All jobs are returned if `scope` is not provided. |
2017-08-17 22:00:37 +05:30
2020-03-13 15:44:24 +05:30
```shell
2020-06-23 00:09:42 +05:30
curl --globoff --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/jobs?scope[]=pending&scope[]=running"
2017-08-17 22:00:37 +05:30
```
Example of response
```json
[
{
"commit": {
"author_email": "admin@example.com",
"author_name": "Administrator",
"created_at": "2015-12-24T16:51:14.000+01:00",
"id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
"message": "Test the CI integration.",
"short_id": "0ff3ae19",
"title": "Test the CI integration."
},
"coverage": null,
2019-09-04 21:01:54 +05:30
"allow_failure": false,
2020-01-01 13:55:28 +05:30
"created_at": "2015-12-24T15:51:21.802Z",
"started_at": "2015-12-24T17:54:27.722Z",
"finished_at": "2015-12-24T17:54:27.895Z",
"duration": 0.173,
"artifacts_file": {
"filename": "artifacts.zip",
"size": 1000
},
"artifacts": [
{"file_type": "archive", "size": 1000, "filename": "artifacts.zip", "file_format": "zip"},
{"file_type": "metadata", "size": 186, "filename": "metadata.gz", "file_format": "gzip"},
{"file_type": "trace", "size": 1500, "filename": "job.log", "file_format": "raw"},
{"file_type": "junit", "size": 750, "filename": "junit.xml.gz", "file_format": "gzip"}
],
"artifacts_expire_at": "2016-01-23T17:54:27.895Z",
2021-03-11 19:13:27 +05:30
"tag_list": [
"docker runner", "ubuntu18"
],
2020-01-01 13:55:28 +05:30
"id": 7,
"name": "teaspoon",
2017-08-17 22:00:37 +05:30
"pipeline": {
"id": 6,
2021-04-17 20:07:23 +05:30
"project_id": 1,
2017-08-17 22:00:37 +05:30
"ref": "master",
"sha": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
"status": "pending"
},
"ref": "master",
2018-11-20 20:47:30 +05:30
"artifacts": [],
2017-08-17 22:00:37 +05:30
"runner": null,
"stage": "test",
"status": "failed",
"tag": false,
2020-01-01 13:55:28 +05:30
"web_url": "https://example.com/foo/bar/-/jobs/7",
2017-08-17 22:00:37 +05:30
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
2018-12-05 23:21:45 +05:30
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
2017-08-17 22:00:37 +05:30
"web_url": "http://gitlab.dev/root",
2018-12-05 23:21:45 +05:30
"created_at": "2015-12-21T13:14:24.077Z",
"bio": null,
"location": null,
"public_email": "",
"skype": "",
"linkedin": "",
"twitter": "",
"website_url": "",
"organization": ""
2017-08-17 22:00:37 +05:30
}
},
{
"commit": {
"author_email": "admin@example.com",
"author_name": "Administrator",
"created_at": "2015-12-24T16:51:14.000+01:00",
"id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
"message": "Test the CI integration.",
"short_id": "0ff3ae19",
"title": "Test the CI integration."
},
"coverage": null,
2019-09-04 21:01:54 +05:30
"allow_failure": false,
2020-01-01 13:55:28 +05:30
"created_at": "2015-12-24T15:51:21.727Z",
"started_at": "2015-12-24T17:54:24.729Z",
"finished_at": "2015-12-24T17:54:24.921Z",
"duration": 0.192,
"artifacts_expire_at": "2016-01-23T17:54:24.921Z",
2021-03-11 19:13:27 +05:30
"tag_list": [
"docker runner", "win10-2004"
],
2020-01-01 13:55:28 +05:30
"id": 6,
"name": "rspec:other",
2017-08-17 22:00:37 +05:30
"pipeline": {
"id": 6,
2021-04-17 20:07:23 +05:30
"project_id": 1,
2017-08-17 22:00:37 +05:30
"ref": "master",
"sha": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
"status": "pending"
},
"ref": "master",
2018-11-20 20:47:30 +05:30
"artifacts": [],
2017-08-17 22:00:37 +05:30
"runner": null,
"stage": "test",
"status": "failed",
"tag": false,
2020-01-01 13:55:28 +05:30
"web_url": "https://example.com/foo/bar/-/jobs/6",
2017-08-17 22:00:37 +05:30
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
2018-12-05 23:21:45 +05:30
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
2017-08-17 22:00:37 +05:30
"web_url": "http://gitlab.dev/root",
2018-12-05 23:21:45 +05:30
"created_at": "2015-12-21T13:14:24.077Z",
"bio": null,
"location": null,
"public_email": "",
"skype": "",
"linkedin": "",
"twitter": "",
"website_url": "",
"organization": ""
2017-08-17 22:00:37 +05:30
}
}
]
```
## List pipeline jobs
Get a list of jobs for a pipeline.
2020-04-08 14:13:33 +05:30
```plaintext
2017-08-17 22:00:37 +05:30
GET /projects/:id/pipelines/:pipeline_id/jobs
```
2021-03-11 19:13:27 +05:30
| Attribute | Type | Required | Description |
|-------------------|--------------------------------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. |
| `pipeline_id` | integer | yes | ID of a pipeline. |
| `scope` | string **or** array of strings | no | Scope of jobs to show. Either one of or an array of the following: `created`, `pending`, `running`, `failed`, `success`, `canceled`, `skipped`, or `manual`. All jobs are returned if `scope` is not provided. |
| `include_retried` | boolean | no | Include retried jobs in the response. Defaults to `false`. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/272627) in GitLab 13.9. |
2017-08-17 22:00:37 +05:30
2020-03-13 15:44:24 +05:30
```shell
2020-06-23 00:09:42 +05:30
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/pipelines/6/jobs?scope[]=pending&scope[]=running"
2017-08-17 22:00:37 +05:30
```
Example of response
```json
[
{
"commit": {
"author_email": "admin@example.com",
"author_name": "Administrator",
"created_at": "2015-12-24T16:51:14.000+01:00",
"id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
"message": "Test the CI integration.",
"short_id": "0ff3ae19",
"title": "Test the CI integration."
},
"coverage": null,
2019-09-04 21:01:54 +05:30
"allow_failure": false,
2018-11-08 19:23:39 +05:30
"created_at": "2015-12-24T15:51:21.727Z",
2018-12-05 23:21:45 +05:30
"started_at": "2015-12-24T17:54:24.729Z",
2018-11-08 19:23:39 +05:30
"finished_at": "2015-12-24T17:54:24.921Z",
2018-12-05 23:21:45 +05:30
"duration": 0.192,
2018-11-18 11:00:15 +05:30
"artifacts_expire_at": "2016-01-23T17:54:24.921Z",
2021-03-11 19:13:27 +05:30
"tag_list": [
"docker runner", "ubuntu18"
],
2018-11-08 19:23:39 +05:30
"id": 6,
"name": "rspec:other",
2017-08-17 22:00:37 +05:30
"pipeline": {
"id": 6,
2021-04-17 20:07:23 +05:30
"project_id": 1,
2017-08-17 22:00:37 +05:30
"ref": "master",
"sha": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
"status": "pending"
},
"ref": "master",
2018-11-20 20:47:30 +05:30
"artifacts": [],
2017-08-17 22:00:37 +05:30
"runner": null,
"stage": "test",
"status": "failed",
"tag": false,
2018-11-18 11:00:15 +05:30
"web_url": "https://example.com/foo/bar/-/jobs/6",
2017-08-17 22:00:37 +05:30
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
2018-12-05 23:21:45 +05:30
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
2017-08-17 22:00:37 +05:30
"web_url": "http://gitlab.dev/root",
2018-12-05 23:21:45 +05:30
"created_at": "2015-12-21T13:14:24.077Z",
"bio": null,
"location": null,
"public_email": "",
"skype": "",
"linkedin": "",
"twitter": "",
"website_url": "",
"organization": ""
2017-08-17 22:00:37 +05:30
}
},
{
"commit": {
"author_email": "admin@example.com",
"author_name": "Administrator",
"created_at": "2015-12-24T16:51:14.000+01:00",
"id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
"message": "Test the CI integration.",
"short_id": "0ff3ae19",
"title": "Test the CI integration."
},
"coverage": null,
2019-09-04 21:01:54 +05:30
"allow_failure": false,
2018-11-08 19:23:39 +05:30
"created_at": "2015-12-24T15:51:21.802Z",
2018-12-05 23:21:45 +05:30
"started_at": "2015-12-24T17:54:27.722Z",
"finished_at": "2015-12-24T17:54:27.895Z",
"duration": 0.173,
2018-11-08 19:23:39 +05:30
"artifacts_file": {
"filename": "artifacts.zip",
"size": 1000
},
2018-11-20 20:47:30 +05:30
"artifacts": [
{"file_type": "archive", "size": 1000, "filename": "artifacts.zip", "file_format": "zip"},
{"file_type": "metadata", "size": 186, "filename": "metadata.gz", "file_format": "gzip"},
{"file_type": "trace", "size": 1500, "filename": "job.log", "file_format": "raw"},
{"file_type": "junit", "size": 750, "filename": "junit.xml.gz", "file_format": "gzip"}
],
2018-11-18 11:00:15 +05:30
"artifacts_expire_at": "2016-01-23T17:54:27.895Z",
2021-03-11 19:13:27 +05:30
"tag_list": [
"docker runner", "ubuntu18"
],
2018-11-08 19:23:39 +05:30
"id": 7,
"name": "teaspoon",
2017-08-17 22:00:37 +05:30
"pipeline": {
"id": 6,
2021-04-17 20:07:23 +05:30
"project_id": 1,
2017-08-17 22:00:37 +05:30
"ref": "master",
"sha": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
"status": "pending"
},
"ref": "master",
"runner": null,
"stage": "test",
"status": "failed",
"tag": false,
2018-11-18 11:00:15 +05:30
"web_url": "https://example.com/foo/bar/-/jobs/7",
2017-08-17 22:00:37 +05:30
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
2018-12-05 23:21:45 +05:30
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
2017-08-17 22:00:37 +05:30
"web_url": "http://gitlab.dev/root",
2018-12-05 23:21:45 +05:30
"created_at": "2015-12-21T13:14:24.077Z",
"bio": null,
"location": null,
"public_email": "",
"skype": "",
"linkedin": "",
"twitter": "",
"website_url": "",
"organization": ""
2017-08-17 22:00:37 +05:30
}
}
]
```
2020-10-24 23:57:45 +05:30
In GitLab 13.3 and later, this endpoint [returns data for any pipeline](pipelines.md#single-pipeline-requests)
including [child pipelines](../ci/parent_child_pipelines.md).
2021-03-11 19:13:27 +05:30
In GitLab 13.5 and later, this endpoint does not return retried jobs in the response
by default.
In GitLab 13.9 and later, this endpoint can include retried jobs in the response
with `include_retried` set to `true`.
2020-06-23 00:09:42 +05:30
## List pipeline bridges
Get a list of bridge jobs for a pipeline.
```plaintext
GET /projects/:id/pipelines/:pipeline_id/bridges
```
| Attribute | Type | Required | Description |
|---------------|--------------------------------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. |
| `pipeline_id` | integer | yes | ID of a pipeline. |
| `scope` | string **or** array of strings | no | Scope of jobs to show. Either one of or an array of the following: `created`, `pending`, `running`, `failed`, `success`, `canceled`, `skipped`, or `manual`. All jobs are returned if `scope` is not provided. |
```shell
2021-02-22 17:27:13 +05:30
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/pipelines/6/bridges?scope[]=pending&scope[]=running"
2020-06-23 00:09:42 +05:30
```
Example of response
```json
[
{
"commit": {
"author_email": "admin@example.com",
"author_name": "Administrator",
"created_at": "2015-12-24T16:51:14.000+01:00",
"id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
"message": "Test the CI integration.",
"short_id": "0ff3ae19",
"title": "Test the CI integration."
},
"coverage": null,
"allow_failure": false,
"created_at": "2015-12-24T15:51:21.802Z",
"started_at": "2015-12-24T17:54:27.722Z",
"finished_at": "2015-12-24T17:58:27.895Z",
"duration": 240,
"id": 7,
"name": "teaspoon",
"pipeline": {
"id": 6,
2021-04-17 20:07:23 +05:30
"project_id": 1,
2020-06-23 00:09:42 +05:30
"ref": "master",
"sha": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
"status": "pending",
"created_at": "2015-12-24T15:50:16.123Z",
"updated_at": "2015-12-24T18:00:44.432Z",
"web_url": "https://example.com/foo/bar/pipelines/6"
},
"ref": "master",
"stage": "test",
"status": "pending",
"tag": false,
"web_url": "https://example.com/foo/bar/-/jobs/7",
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.dev/root",
"created_at": "2015-12-21T13:14:24.077Z",
"bio": null,
"location": null,
"public_email": "",
"skype": "",
"linkedin": "",
"twitter": "",
"website_url": "",
"organization": ""
},
"downstream_pipeline": {
"id": 5,
"sha": "f62a4b2fb89754372a346f24659212eb8da13601",
"ref": "master",
"status": "pending",
"created_at": "2015-12-24T17:54:27.722Z",
"updated_at": "2015-12-24T17:58:27.896Z",
"web_url": "https://example.com/diaspora/diaspora-client/pipelines/5"
}
}
]
```
2021-04-17 20:07:23 +05:30
## Get job token's job
Retrieve the job that generated a job token.
```plaintext
GET /job
```
Examples
```shell
curl --header "JOB-TOKEN: <your_job_token>" "https://gitlab.example.com/api/v4/job"
curl "https://gitlab.example.com/api/v4/job?job_token=<your_job_token>"
```
Example of response
```json
{
"commit": {
"author_email": "admin@example.com",
"author_name": "Administrator",
"created_at": "2015-12-24T16:51:14.000+01:00",
"id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
"message": "Test the CI integration.",
"short_id": "0ff3ae19",
"title": "Test the CI integration."
},
"coverage": null,
"allow_failure": false,
"created_at": "2015-12-24T15:51:21.880Z",
"started_at": "2015-12-24T17:54:30.733Z",
"finished_at": "2015-12-24T17:54:31.198Z",
"duration": 0.465,
"artifacts_expire_at": "2016-01-23T17:54:31.198Z",
"id": 8,
"name": "rubocop",
"pipeline": {
"id": 6,
"project_id": 1,
"ref": "master",
"sha": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
"status": "pending"
},
"ref": "master",
"artifacts": [],
"runner": null,
"stage": "test",
"status": "failed",
"tag": false,
"web_url": "https://example.com/foo/bar/-/jobs/8",
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.dev/root",
"created_at": "2015-12-21T13:14:24.077Z",
"bio": null,
"location": null,
"public_email": "",
"skype": "",
"linkedin": "",
"twitter": "",
"website_url": "",
"organization": ""
}
}
```
2017-08-17 22:00:37 +05:30
## Get a single job
Get a single job of a project
2020-04-08 14:13:33 +05:30
```plaintext
2017-08-17 22:00:37 +05:30
GET /projects/:id/jobs/:job_id
```
2019-02-15 15:39:39 +05:30
| Attribute | Type | Required | Description |
|-----------|----------------|----------|------------------------------------------------------------------------------------------------------------------|
2019-07-07 11:18:12 +05:30
| `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. |
| `job_id` | integer | yes | ID of a job. |
2017-08-17 22:00:37 +05:30
2020-03-13 15:44:24 +05:30
```shell
2019-02-15 15:39:39 +05:30
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/jobs/8"
2017-08-17 22:00:37 +05:30
```
Example of response
```json
{
"commit": {
"author_email": "admin@example.com",
"author_name": "Administrator",
"created_at": "2015-12-24T16:51:14.000+01:00",
"id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
"message": "Test the CI integration.",
"short_id": "0ff3ae19",
"title": "Test the CI integration."
},
"coverage": null,
2019-09-04 21:01:54 +05:30
"allow_failure": false,
2017-08-17 22:00:37 +05:30
"created_at": "2015-12-24T15:51:21.880Z",
2018-12-05 23:21:45 +05:30
"started_at": "2015-12-24T17:54:30.733Z",
2017-08-17 22:00:37 +05:30
"finished_at": "2015-12-24T17:54:31.198Z",
2018-12-05 23:21:45 +05:30
"duration": 0.465,
2018-11-08 19:23:39 +05:30
"artifacts_expire_at": "2016-01-23T17:54:31.198Z",
2021-03-11 19:13:27 +05:30
"tag_list": [
"docker runner", "macos-10.15"
],
2017-08-17 22:00:37 +05:30
"id": 8,
"name": "rubocop",
"pipeline": {
"id": 6,
2021-04-17 20:07:23 +05:30
"project_id": 1,
2017-08-17 22:00:37 +05:30
"ref": "master",
"sha": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
"status": "pending"
},
"ref": "master",
2018-11-20 20:47:30 +05:30
"artifacts": [],
2017-08-17 22:00:37 +05:30
"runner": null,
"stage": "test",
"status": "failed",
"tag": false,
2018-11-18 11:00:15 +05:30
"web_url": "https://example.com/foo/bar/-/jobs/8",
2017-08-17 22:00:37 +05:30
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
2018-12-05 23:21:45 +05:30
"state": "active",
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
2017-08-17 22:00:37 +05:30
"web_url": "http://gitlab.dev/root",
2018-12-05 23:21:45 +05:30
"created_at": "2015-12-21T13:14:24.077Z",
"bio": null,
"location": null,
"public_email": "",
"skype": "",
"linkedin": "",
"twitter": "",
"website_url": "",
"organization": ""
2017-08-17 22:00:37 +05:30
}
}
```
2019-12-21 20:55:43 +05:30
## Get a log file
2017-08-17 22:00:37 +05:30
2019-12-21 20:55:43 +05:30
Get a log (trace) of a specific job of a project:
2017-08-17 22:00:37 +05:30
2020-04-08 14:13:33 +05:30
```plaintext
2017-08-17 22:00:37 +05:30
GET /projects/:id/jobs/:job_id/trace
```
2019-02-15 15:39:39 +05:30
| Attribute | Type | Required | Description |
|-----------|----------------|----------|------------------------------------------------------------------------------------------------------------------|
2020-05-24 23:13:21 +05:30
| `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. |
| `job_id` | integer | yes | ID of a job. |
2017-08-17 22:00:37 +05:30
2020-03-13 15:44:24 +05:30
```shell
2019-10-12 21:52:04 +05:30
curl --location --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/jobs/8/trace"
2017-08-17 22:00:37 +05:30
```
2019-02-15 15:39:39 +05:30
Possible response status codes:
2017-08-17 22:00:37 +05:30
2019-12-21 20:55:43 +05:30
| Status | Description |
|-----------|-------------------------------|
| 200 | Serves the log file |
| 404 | Job not found or no log file |
2017-08-17 22:00:37 +05:30
## Cancel a job
Cancel a single job of a project
2020-04-08 14:13:33 +05:30
```plaintext
2017-08-17 22:00:37 +05:30
POST /projects/:id/jobs/:job_id/cancel
```
2019-02-15 15:39:39 +05:30
| Attribute | Type | Required | Description |
|-----------|----------------|----------|------------------------------------------------------------------------------------------------------------------|
2019-07-07 11:18:12 +05:30
| `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. |
| `job_id` | integer | yes | ID of a job. |
2017-08-17 22:00:37 +05:30
2020-03-13 15:44:24 +05:30
```shell
2019-02-15 15:39:39 +05:30
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/jobs/1/cancel"
2017-08-17 22:00:37 +05:30
```
Example of response
```json
{
"commit": {
"author_email": "admin@example.com",
"author_name": "Administrator",
"created_at": "2015-12-24T16:51:14.000+01:00",
"id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
"message": "Test the CI integration.",
"short_id": "0ff3ae19",
"title": "Test the CI integration."
},
"coverage": null,
2019-09-04 21:01:54 +05:30
"allow_failure": false,
2017-08-17 22:00:37 +05:30
"created_at": "2016-01-11T10:13:33.506Z",
2018-12-05 23:21:45 +05:30
"started_at": "2016-01-11T10:14:09.526Z",
"finished_at": null,
"duration": 8,
2018-11-18 11:00:15 +05:30
"id": 42,
2017-08-17 22:00:37 +05:30
"name": "rubocop",
"ref": "master",
2018-11-20 20:47:30 +05:30
"artifacts": [],
2017-08-17 22:00:37 +05:30
"runner": null,
"stage": "test",
"status": "canceled",
"tag": false,
2018-11-18 11:00:15 +05:30
"web_url": "https://example.com/foo/bar/-/jobs/42",
2017-08-17 22:00:37 +05:30
"user": null
}
```
## Retry a job
Retry a single job of a project
2020-04-08 14:13:33 +05:30
```plaintext
2017-08-17 22:00:37 +05:30
POST /projects/:id/jobs/:job_id/retry
```
2019-02-15 15:39:39 +05:30
| Attribute | Type | Required | Description |
|-----------|----------------|----------|------------------------------------------------------------------------------------------------------------------|
2019-07-07 11:18:12 +05:30
| `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. |
| `job_id` | integer | yes | ID of a job. |
2017-08-17 22:00:37 +05:30
2020-03-13 15:44:24 +05:30
```shell
2019-02-15 15:39:39 +05:30
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/jobs/1/retry"
2017-08-17 22:00:37 +05:30
```
Example of response
```json
{
"commit": {
"author_email": "admin@example.com",
"author_name": "Administrator",
"created_at": "2015-12-24T16:51:14.000+01:00",
"id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
"message": "Test the CI integration.",
"short_id": "0ff3ae19",
"title": "Test the CI integration."
},
"coverage": null,
2019-09-04 21:01:54 +05:30
"allow_failure": false,
2017-08-17 22:00:37 +05:30
"created_at": "2016-01-11T10:13:33.506Z",
2018-12-05 23:21:45 +05:30
"started_at": null,
2017-08-17 22:00:37 +05:30
"finished_at": null,
2018-12-05 23:21:45 +05:30
"duration": null,
2018-11-18 11:00:15 +05:30
"id": 42,
2017-08-17 22:00:37 +05:30
"name": "rubocop",
"ref": "master",
2018-11-20 20:47:30 +05:30
"artifacts": [],
2017-08-17 22:00:37 +05:30
"runner": null,
"stage": "test",
"status": "pending",
"tag": false,
2018-11-18 11:00:15 +05:30
"web_url": "https://example.com/foo/bar/-/jobs/42",
2017-08-17 22:00:37 +05:30
"user": null
}
```
## Erase a job
2019-12-21 20:55:43 +05:30
Erase a single job of a project (remove job artifacts and a job log)
2017-08-17 22:00:37 +05:30
2020-04-08 14:13:33 +05:30
```plaintext
2017-08-17 22:00:37 +05:30
POST /projects/:id/jobs/:job_id/erase
```
Parameters
2019-02-15 15:39:39 +05:30
| Attribute | Type | Required | Description |
|-----------|----------------|----------|------------------------------------------------------------------------------------------------------------------|
2019-07-07 11:18:12 +05:30
| `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. |
| `job_id` | integer | yes | ID of a job. |
2017-08-17 22:00:37 +05:30
Example of request
2020-03-13 15:44:24 +05:30
```shell
2019-02-15 15:39:39 +05:30
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/jobs/1/erase"
2017-08-17 22:00:37 +05:30
```
Example of response
```json
{
"commit": {
"author_email": "admin@example.com",
"author_name": "Administrator",
"created_at": "2015-12-24T16:51:14.000+01:00",
"id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
"message": "Test the CI integration.",
"short_id": "0ff3ae19",
"title": "Test the CI integration."
},
"coverage": null,
2019-09-04 21:01:54 +05:30
"allow_failure": false,
2017-08-17 22:00:37 +05:30
"download_url": null,
2018-11-18 11:00:15 +05:30
"id": 42,
2017-08-17 22:00:37 +05:30
"name": "rubocop",
"ref": "master",
2018-11-20 20:47:30 +05:30
"artifacts": [],
2017-08-17 22:00:37 +05:30
"runner": null,
"stage": "test",
"created_at": "2016-01-11T10:13:33.506Z",
"started_at": "2016-01-11T10:13:33.506Z",
"finished_at": "2016-01-11T10:15:10.506Z",
2018-12-05 23:21:45 +05:30
"duration": 97.0,
2017-08-17 22:00:37 +05:30
"status": "failed",
"tag": false,
2018-11-18 11:00:15 +05:30
"web_url": "https://example.com/foo/bar/-/jobs/42",
2017-08-17 22:00:37 +05:30
"user": null
}
```
## Play a job
Triggers a manual action to start a job.
2020-04-08 14:13:33 +05:30
```plaintext
2017-08-17 22:00:37 +05:30
POST /projects/:id/jobs/:job_id/play
```
2019-02-15 15:39:39 +05:30
| Attribute | Type | Required | Description |
|-----------|----------------|----------|------------------------------------------------------------------------------------------------------------------|
2019-07-07 11:18:12 +05:30
| `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. |
| `job_id` | integer | yes | ID of a job. |
2017-08-17 22:00:37 +05:30
2020-03-13 15:44:24 +05:30
```shell
2019-02-15 15:39:39 +05:30
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/jobs/1/play"
2017-08-17 22:00:37 +05:30
```
Example of response
```json
{
"commit": {
"author_email": "admin@example.com",
"author_name": "Administrator",
"created_at": "2015-12-24T16:51:14.000+01:00",
"id": "0ff3ae198f8601a285adcf5c0fff204ee6fba5fd",
"message": "Test the CI integration.",
"short_id": "0ff3ae19",
"title": "Test the CI integration."
},
"coverage": null,
2019-09-04 21:01:54 +05:30
"allow_failure": false,
2017-08-17 22:00:37 +05:30
"created_at": "2016-01-11T10:13:33.506Z",
2018-12-05 23:21:45 +05:30
"started_at": null,
2017-08-17 22:00:37 +05:30
"finished_at": null,
2018-12-05 23:21:45 +05:30
"duration": null,
2018-11-18 11:00:15 +05:30
"id": 42,
2017-08-17 22:00:37 +05:30
"name": "rubocop",
"ref": "master",
2018-11-20 20:47:30 +05:30
"artifacts": [],
2017-08-17 22:00:37 +05:30
"runner": null,
"stage": "test",
"status": "started",
"tag": false,
2018-11-18 11:00:15 +05:30
"web_url": "https://example.com/foo/bar/-/jobs/42",
2017-08-17 22:00:37 +05:30
"user": null
}
```