正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

パイプライントリガートークンAPI

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

このAPIを使用して、パイプラインをトリガーします。

プロジェクトのトリガートークンのリストを取得する

プロジェクトのパイプライントリガートークンのリストを取得します。

GET /projects/:id/triggers
属性必須説明
id整数または文字列はいプロジェクトの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
    }
]

認証済みユーザーがトリガートークンを作成した場合、トリガートークンは完全に表示されます。他のユーザーが作成したトリガートークンは、4文字に短縮されます。

トリガートークンの詳細を取得する

プロジェクトのパイプライントリガートークンの詳細を取得します。

GET /projects/:id/triggers/:trigger_id
属性必須説明
id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
trigger_id整数はいトリガー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文字列はいトリガー名
id整数または文字列はいプロジェクトの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整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
trigger_id整数はいトリガーID
description文字列いいえトリガー名
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整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
trigger_id整数はいトリガーID
curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/triggers/5"

トークンでパイプラインをトリガーする

パイプライントリガートークンまたはCI/CDジョブトークンを使用して認証することにより、パイプラインをトリガーします。

CI/CDジョブトークンを使用すると、トリガーされたパイプラインはマルチプロジェクトパイプラインになります。リクエストを認証するジョブはアップストリームパイプラインに関連付けられ、パイプライングラフに表示されます。

ジョブでトリガートークンを使用する場合、ジョブはアップストリームパイプラインに関連付けられません。

POST /projects/:id/trigger/pipeline

サポートされている属性:

属性必須説明
id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
ref文字列はいパイプラインを実行するブランチまたはタグ。
token文字列はいトリガートークンまたはCI/CDジョブトークン。
variablesハッシュいいえパイプライン変数を含むキーと値の文字列のマップ。例: { VAR1: "value1", VAR2: "value2" }
inputsハッシュいいえパイプラインの作成時に使用するインプットのマップ(キーと値のペア)。

変数を使用したリクエストの例:

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
}