파이프라인 트리거 토큰 API

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

API를 통해 파이프라인을 트리거하는 방법에 대해 더 읽을 수 있습니다.

프로젝트 트리거 토큰 목록

프로젝트의 파이프라인 트리거 토큰 목록을 가져옵니다.

GET /projects/:id/triggers
속성 유형 필수 설명
id integer/string Yes 프로젝트의 ID 또는 URL 인코딩 된 경로
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/triggers"
[
    {
        "id": 10,
        "description": "내 트리거",
        "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/string Yes 프로젝트의 ID 또는 URL 인코딩 된 경로
trigger_id integer Yes 트리거 ID
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/triggers/5"
{
    "id": 10,
    "description": "내 트리거",
    "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 Yes 트리거 이름
id integer/string Yes 프로젝트의 ID 또는 URL 인코딩 된 경로
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
     --form description="내 설명" "https://gitlab.example.com/api/v4/projects/1/triggers"
{
    "id": 10,
    "description": "내 트리거",
    "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/string Yes 프로젝트의 ID 또는 URL 인코딩 된 경로
trigger_id integer Yes 트리거 ID
description string No 트리거 이름
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
     --form description="내 설명" "https://gitlab.example.com/api/v4/projects/1/triggers/10"
{
    "id": 10,
    "description": "내 트리거",
    "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/string Yes 프로젝트의 ID 또는 URL 인코딩 된 경로
trigger_id integer Yes 트리거 ID
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/triggers/5"

토큰을 사용하여 파이프라인 트리거

파이프라인 트리거 토큰 또는 CI/CD 작업 토큰을 사용하여 파이프라인을 트리거합니다.

CI/CD 작업 토큰을 사용하면 트리거된 파이프라인은 다중 프로젝트 파이프라인이 됩니다. 요청을 인증하는 작업은 상위 파이프라인과 연관되어 있으며 파이프라인 그래프에서 확인할 수 있습니다.

작업에서 트리거 토큰을 사용하면 해당 작업은 상위 파이프라인과 연결되지 않습니다.

POST /projects/:id/trigger/pipeline

지원되는 속성:

속성 유형 필수 설명
id integer/string Yes 프로젝트의 ID 또는 URL 인코딩 된 경로.
ref string Yes 파이프라인을 실행할 브랜치 또는 태그.
token string Yes 트리거 토큰 또는 CI/CD 작업 토큰.
variables 해시 No 파이프라인 변수를 포함하는 키-값 문자열 맵. 예: { VAR1: "value1", VAR2: "value2" }.

예제 요청:

curl --request POST --form "variables[VAR1]=value1" --form "variables[VAR2]=value2" "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"
  }
}