파이프라인 트리거 토큰 API
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
이 API를 사용하여 파이프라인을 트리거합니다. 프로젝트의 파이프라인 트리거 토큰을 나열합니다. 트리거 토큰은 인증된 사용자가 트리거 토큰을 만든 경우 전체로 표시됩니다. 프로젝트의 파이프라인 트리거 토큰 세부 정보를 조회합니다.
이 API를 사용하여 파이프라인을 트리거합니다.
프로젝트 트리거 토큰 목록#
프로젝트의 파이프라인 트리거 토큰을 나열합니다.
GET /projects/:id/triggers
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로 |
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/triggers"
[
{
"id": 10,
"description": "my trigger",
"created_at": "2016-01-07T09:53:58.235Z",
"last_used": null,
"token": "6d056f63e50fe6f8c5f8f4aa10edb7",
"updated_at": "2016-01-07T09:53:58.235Z",
"owner": null
}
]
트리거 토큰은 인증된 사용자가 트리거 토큰을 만든 경우 전체로 표시됩니다. 다른 사용자가 만든 트리거 토큰은 네 자리로 축약됩니다.
트리거 토큰 세부 정보 조회#
프로젝트의 파이프라인 트리거 토큰 세부 정보를 조회합니다.
GET /projects/:id/triggers/:trigger_id
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로 |
trigger_id |
integer | 예 | 트리거 ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/triggers/5"
{
"id": 10,
"description": "my trigger",
"created_at": "2016-01-07T09:53:58.235Z",
"last_used": null,
"token": "6d056f63e50fe6f8c5f8f4aa10edb7",
"updated_at": "2016-01-07T09:53:58.235Z",
"owner": null
}
트리거 토큰 만들기#
프로젝트에 대한 파이프라인 트리거 토큰을 만듭니다.
POST /projects/:id/triggers
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
description |
string | 예 | 트리거 이름 |
id |
integer or string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로 |
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--form description="my description" \
--url "https://gitlab.example.com/api/v4/projects/1/triggers"
{
"id": 10,
"description": "my trigger",
"created_at": "2016-01-07T09:53:58.235Z",
"last_used": null,
"token": "6d056f63e50fe6f8c5f8f4aa10edb7",
"updated_at": "2016-01-07T09:53:58.235Z",
"owner": null
}
파이프라인 트리거 토큰 업데이트#
프로젝트의 파이프라인 트리거 토큰을 업데이트합니다.
PUT /projects/:id/triggers/:trigger_id
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로 |
trigger_id |
integer | 예 | 트리거 ID |
description |
string | 아니요 | 트리거 이름 |
curl --request PUT \
--header "PRIVATE-TOKEN: <your_access_token>" \
--form description="my description" \
--url "https://gitlab.example.com/api/v4/projects/1/triggers/10"
{
"id": 10,
"description": "my trigger",
"created_at": "2016-01-07T09:53:58.235Z",
"last_used": null,
"token": "6d056f63e50fe6f8c5f8f4aa10edb7",
"updated_at": "2016-01-07T09:53:58.235Z",
"owner": null
}
파이프라인 트리거 토큰 삭제#
프로젝트의 파이프라인 트리거 토큰을 삭제합니다.
DELETE /projects/:id/triggers/:trigger_id
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로 |
trigger_id |
integer | 예 | 트리거 ID |
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/triggers/5"
토큰으로 파이프라인 트리거#
히스토리
inputs속성이 GitLab 17.10에서ci_inputs_for_pipelines라는 기능 플래그와 함께 도입. 기본적으로 비활성화됨.inputs속성이 GitLab 17.11에서 GitLab.com, GitLab Self-Managed, GitLab Dedicated에서 활성화.inputs속성이 GitLab 18.1에서 일반 공개. 기능 플래그ci_inputs_for_pipelines제거됨.
파이프라인 트리거 토큰 또는 인증을 위한 CI/CD 잡 토큰을 사용하여 파이프라인을 트리거합니다.
CI/CD 잡 토큰을 사용하면 트리거된 파이프라인은 멀티 프로젝트 파이프라인입니다. 요청을 인증하는 잡은 업스트림 파이프라인과 연결되며, 이는 파이프라인 그래프에서 볼 수 있습니다.
잡에서 트리거 토큰을 사용하면 잡은 업스트림 파이프라인과 연결되지 않습니다.
POST /projects/:id/trigger/pipeline
지원되는 속성:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
ref |
string | 예 | 파이프라인을 실행할 브랜치 또는 태그. |
token |
string | 예 | 트리거 토큰 또는 CI/CD 잡 토큰. |
variables |
hash | 아니요 | 파이프라인 변수를 포함하는 키-값 문자열의 맵. 예: { VAR1: "value1", VAR2: "value2" }. |
inputs |
hash | 아니요 | 파이프라인을 만들 때 사용할 키-값 쌍으로 된 입력 맵. |
변수가 있는 요청 예시:
curl --request POST \
--form "variables[VAR1]=value1" \
--form "variables[VAR2]=value2" \
--url "https://gitlab.example.com/api/v4/projects/123/trigger/pipeline?token=2cb1840fb9dfc9fb0b7b1609cd29cb&ref=main"
입력이 있는 요청 예시:
curl --request POST \
--header "Content-Type: application/json" \
--data '{"inputs": {"environment": "environment", "scan_security": false, "level": 3}}' \
--url "https://gitlab.example.com/api/v4/projects/123/trigger/pipeline?token=2cb1840fb9dfc9fb0b7b1609cd29cb&ref=main"
응답 예시:
{
"id": 257,
"iid": 118,
"project_id": 123,
"sha": "91e2711a93e5d9e8dddfeb6d003b636b25bf6fc9",
"ref": "main",
"status": "created",
"source": "trigger",
"created_at": "2022-03-31T01:12:49.068Z",
"updated_at": "2022-03-31T01:12:49.068Z",
"web_url": "http://127.0.0.1:3000/test-group/test-project/-/pipelines/257",
"before_sha": "0000000000000000000000000000000000000000",
"tag": false,
"yaml_errors": null,
"user": {
"id": 1,
"username": "root",
"name": "Administrator",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://127.0.0.1:3000/root"
},
"started_at": null,
"finished_at": null,
"committed_at": null,
"duration": null,
"queued_duration": null,
"coverage": null,
"detailed_status": {
"icon": "status_created",
"text": "created",
"label": "created",
"group": "created",
"tooltip": "created",
"has_details": true,
"details_path": "/test-group/test-project/-/pipelines/257",
"illustration": null,
"favicon": "/assets/ci_favicons/favicon_status_created-4b975aa976d24e5a3ea7cd9a5713e6ce2cd9afd08b910415e96675de35f64955.png"
},
"archived": false
}
