システムフックAPI

すべてのメソッドには管理者の作成権限が必要です。

GitLabユーザーインターフェースからシステムフックのURLエンドポイントを設定することができます:

  1. 左のサイドバーで、Search を選択するか、次のページに進んでください。
  2. Admin Areaを選択します。
  3. システムフック(/admin/hooks) を選択します。

システムフックについてもっと読む

システムフック一覧

すべてのシステムフックのリストを取得します。

GET /hooks

リクエストの例

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/hooks"

応答例

[
  {
    "id":1,
    "url":"https://gitlab.example.com/hook",
    "created_at":"2016-10-31T12:32:15.192Z",
    "push_events":true,
    "tag_push_events":false,
    "merge_requests_events": true,
    "repository_update_events": true,
    "enable_ssl_verification":true
  }
]

システムフックの取得

GitLab 14.9で導入されました

IDでシステムフックを取得します。

GET /hooks/:id
属性種類必須説明
id整数。yesフックのID

リクエストの例

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/hooks/1"

応答例

[
  {
    "id": 1,
    "url": "https://gitlab.example.com/hook",
    "created_at": "2016-10-31T12:32:15.192Z",
    "push_events": true,
    "tag_push_events": false,
    "merge_requests_events": true,
    "repository_update_events": true,
    "enable_ssl_verification": true
  }
]

新しいシステムフックの追加

新しいシステムフックを追加します。

POST /hooks
属性種類必須説明
url文字列です。yesフックのURL
token文字列です。いいえ受信したペイロードを検証するためのシークレットトークン。
push_eventsbooleanいいえtrueの場合、プッシュイベント時にフックがかかります
tag_push_eventsbooleanいいえtrueの場合、新しいタグがプッシュされたときにフックが発生します。
merge_requests_eventsbooleanいいえマージリクエストイベントのトリガーフック
repository_update_eventsbooleanいいえリポジトリ更新イベントのトリガーフック
enable_ssl_verificationbooleanいいえフック起動時にSSL検証を行うかどうか

リクエストの例

curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/hooks?url=https://gitlab.example.com/hook"

応答例

[
  {
    "id":1,
    "url":"https://gitlab.example.com/hook",
    "created_at":"2016-10-31T12:32:15.192Z",
    "push_events":true,
    "tag_push_events":false,
    "merge_requests_events": true,
    "repository_update_events": true,
    "enable_ssl_verification":true
  }
]

テストシステムフック

モックデータを使ってシステムフックを実行します。

POST /hooks/:id
属性種類必須説明
id整数。yesフックのID

リクエストの例

curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/hooks/1"

レスポンスは常にモックデータです:

{
   "project_id" : 1,
   "owner_email" : "example@gitlabhq.com",
   "owner_name" : "Someone",
   "name" : "Ruby",
   "path" : "ruby",
   "event_name" : "project_create"
}

システムフックの削除

システムフックを削除します。

DELETE /hooks/:id
属性種類必須説明
id整数。yesフックのID

リクエストの例

curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/hooks/2"