システムフックAPI
すべてのメソッドには管理者の作成権限が必要です。
GitLabユーザーインターフェースからシステムフックのURLエンドポイントを設定することができます:
- 左のサイドバーで、Search を選択するか、次のページに進んでください。
- Admin Areaを選択します。
-
システムフック(
/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_events | boolean | いいえ | trueの場合、プッシュイベント時にフックがかかります |
tag_push_events | boolean | いいえ | trueの場合、新しいタグがプッシュされたときにフックが発生します。 |
merge_requests_events | boolean | いいえ | マージリクエストイベントのトリガーフック |
repository_update_events | boolean | いいえ | リポジトリ更新イベントのトリガーフック |
enable_ssl_verification | boolean | いいえ | フック起動時に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"