Help us learn about your current experience with the documentation. Take the survey.
群组 Webhook API
- Tier: Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
使用 REST API 与群组 webhook 进行交互。也称为群组钩子。 这些与系统范围的 系统钩子 和仅限于单个项目的 项目 webhook 不同。
前提条件:
- 您必须是管理员或拥有该群组的所有者角色。
列出群组钩子
获取群组钩子列表
GET /groups/:id/hooks支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer/string | 是 | 群组的 ID 或 URL 编码路径。 |
示例请求:
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/3/hooks"示例响应:
[
{
"id": 1,
"url": "http://example.com/hook",
"name": "Test group hook",
"description": "This is a test group hook.",
"created_at": "2024-09-01T09:10:54.854Z",
"push_events": true,
"tag_push_events": false,
"merge_requests_events": false,
"repository_update_events": false,
"enable_ssl_verification": true,
"alert_status": "executable",
"disabled_until": null,
"url_variables": [],
"push_events_branch_filter": null,
"branch_filter_strategy": "all_branches",
"group_id": 99,
"issues_events": false,
"confidential_issues_events": false,
"note_events": false,
"confidential_note_events": false,
"pipeline_events": false,
"wiki_page_events": false,
"job_events": false,
"deployment_events": false,
"feature_flag_events": false,
"releases_events": false,
"milestone_events": false,
"subgroup_events": false,
"emoji_events": false,
"resource_access_token_events": false,
"member_events": false,
"project_events": false,
"custom_webhook_template": "{\"event\":\"{{object_kind}}\"}",
"custom_headers": [
{
"key": "Authorization"
}
]
}
]获取群组钩子
获取特定群组的钩子。
GET /groups/:id/hooks/:hook_id支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer/string | 是 | 群组的 ID 或 URL 编码路径。 |
hook_id |
integer | 是 | 群组钩子的 ID。 |
示例请求:
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/3/hooks/1"示例响应:
{
"id": 1,
"url": "http://example.com/hook",
"name": "Hook name",
"description": "Hook description",
"group_id": 3,
"push_events": true,
"push_events_branch_filter": "",
"branch_filter_strategy": "wildcard",
"issues_events": true,
"confidential_issues_events": true,
"merge_requests_events": true,
"tag_push_events": true,
"note_events": true,
"confidential_note_events": true,
"job_events": true,
"pipeline_events": true,
"wiki_page_events": true,
"deployment_events": true,
"feature_flag_events": false,
"releases_events": true,
"milestone_events": false,
"subgroup_events": true,
"member_events": true,
"project_events": true,
"enable_ssl_verification": true,
"repository_update_events": false,
"alert_status": "executable",
"disabled_until": null,
"url_variables": [ ],
"created_at": "2012-10-12T17:04:47Z",
"resource_access_token_events": true,
"custom_webhook_template": "{\"event\":\"{{object_kind}}\"}",
"custom_headers": [
{
"key": "Authorization"
}
]
}获取群组钩子事件
获取特定群组钩子从开始日期起过去七天的事件列表。
GET /groups/:id/hooks/:hook_id/events支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer/string | 是 | 群组的 ID 或 URL 编码路径。 |
hook_id |
integer | 是 | 项目钩子的 ID。 |
status |
integer or string | 否 | 事件的响应状态码,例如:200 或 500。您可以按状态类别搜索:successful (200-299)、client_failure (400-499) 和 server_failure (500-599)。 |
page |
integer | 否 | 要检索的页面。默认为 1。 |
per_page |
integer | 否 | 每页返回的记录数。默认为 20。 |
示例请求:
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/3/hooks/1/events"示例响应:
[
{
"id": 1,
"url": "https://example.net/",
"trigger": "push_hooks",
"request_headers": {
"Content-Type": "application/json",
"User-Agent": "GitLab/17.1.0-pre",
"Idempotency-Key": "a5461c4d-9c7f-4af9-add6-cddebe3c426f",
"X-Gitlab-Event": "Push Hook",
"X-Gitlab-Webhook-UUID": "3c5c0404-c866-44bc-a5f6-452bb1bfc76e",
"X-Gitlab-Instance": "https://gitlab.example.com",
"X-Gitlab-Event-UUID": "9cebe914-4827-408f-b014-cfa23a47a35f",
"X-Gitlab-Token": "[REDACTED]"
},
"request_data": {
"object_kind": "push",
"event_name": "push",
"after": "f15b32277d2c55c6c595845a87109b09c913c556",
"ref": "refs/heads/master",
"ref_protected": true,
"checkout_sha": "f15b32277d2c55c6c595845a87109b09c913c556",
"message": null,
"user_id": 1,
"user_name": "Administrator",
"user_username": "root",
"user_email": null,
"user_avatar": "https://www.gravatar.com/avatar/13efe0d4559475ba84ecc802061febbdea6e224fcbffd7ec7da9cd431845299c?s=80&d=identicon",
"project_id": 7,
"project": {
"id": 7,
"name": "Flight",
"description": "Incidunt ea ab officia a veniam.",
"web_url": "https://gitlab.example.com/flightjs/Flight",
"avatar_url": null,
"git_ssh_url": "ssh://git@gitlab.example.com:2222/flightjs/Flight.git",
"git_http_url": "https://gitlab.example.com/flightjs/Flight.git",
"namespace": "Flightjs",
"visibility_level": 10,
"path_with_namespace": "flightjs/Flight",
"default_branch": "master",
"ci_config_path": null,
"homepage": "https://gitlab.example.com/flightjs/Flight",
"url": "ssh://git@gitlab.example.com:2222/flightjs/Flight.git",
"ssh_url": "ssh://git@gitlab.example.com:2222/flightjs/Flight.git",
"http_url": "https://gitlab.example.com/flightjs/Flight.git"
},
"commits": [
{
"id": "f15b32277d2c55c6c595845a87109b09c913c556",
"message": "v1.5.2\n",
"title": "v1.5.2",
"timestamp": "2017-06-19T14:39:53-07:00",
"url": "https://gitlab.example.com/flightjs/Flight/-/commit/f15b32277d2c55c6c595845a87109b09c913c556",
"author": {
"name": "Andrew Lunny",
"email": "[REDACTED]"
},
"added": [],
"modified": [
"package.json"
],
"removed": []
},
{
"id": "8749d49930866a4871fa086adbd7d2057fcc3ebb",
"message": "Merge pull request #378 from flightjs/alunny/publish_lib\n\npublish lib and index to npm",
"title": "Merge pull request #378 from flightjs/alunny/publish_lib",
"timestamp": "2017-06-16T10:26:39-07:00",
"url": "https://gitlab.example.com/flightjs/Flight/-/commit/8749d49930866a4871fa086adbd7d2057fcc3ebb",
"author": {
"name": "angus croll",
"email": "[REDACTED]"
},
"added": [],
"modified": [
"package.json"
],
"removed": []
},
{
"id": "468abc807a2b2572f43e72c743b76cee6db24025",
"message": "publish lib and index to npm\n",
"title": "publish lib and index to npm",
"timestamp": "2017-06-16T10:23:04-07:00",
"url": "https://gitlab.example.com/flightjs/Flight/-/commit/468abc807a2b2572f43e72c743b76cee6db24025",
"author": {
"name": "Andrew Lunny",
"email": "[REDACTED]"
},
"added": [],
"modified": [
"package.json"
],
"removed": []
}
],
"total_commits_count": 3,
"push_options": {},
"repository": {
"name": "Flight",
"url": "ssh://git@gitlab.example.com:2222/flightjs/Flight.git",
"description": "Incidunt ea ab officia a veniam.",
"homepage": "https://gitlab.example.com/flightjs/Flight",
"git_http_url": "https://gitlab.example.com/flightjs/Flight.git",
"git_ssh_url": "ssh://git@gitlab.example.com:2222/flightjs/Flight.git",
"visibility_level": 10
}
},
"response_headers": {
"Date": "Sun, 26 May 2024 03:03:17 GMT",
"Content-Type": "application/json; charset=utf-8",
"Content-Length": "16",
"Connection": "close",
"X-Powered-By": "Express",
"Access-Control-Allow-Origin": "*",
"X-Pd-Status": "sent to primary"
},
"response_body": "{\"success\":true}",
"execution_duration": 1.0906479999999874,
"response_status": "200"
},
{
"id": 2,
"url": "https://example.net/",
"trigger": "push_hooks",
"request_headers": {
"Content-Type": "application/json",
"User-Agent": "GitLab/17.1.0-pre",
"Idempotency-Key": "1f0a54f0-0529-408d-a5b8-a2a98ff5f94a",
"X-Gitlab-Event": "Push Hook",
"X-Gitlab-Webhook-UUID": "a753eedb-1d72-4549-9ca7-eac8ea8e50dd",
"X-Gitlab-Instance": "https://gitlab.example.com:3000",
"X-Gitlab-Event-UUID": "842d7c3e-3114-4396-8a95-66c084d53cb1",
"X-Gitlab-Token": "[REDACTED]"
},
"request_data": {
"object_kind": "push",
"event_name": "push",
"before": "468abc807a2b2572f43e72c743b76cee6db24025",
"after": "f15b32277d2c55c6c595845a87109b09c913c556",
"ref": "refs/heads/master",
"ref_protected": true,
"checkout_sha": "f15b32277d2c55c6c595845a87109b09c913c556",
"message": null,
"user_id": 1,
"user_name": "Administrator",
"user_username": "root",
"user_email": null,
"user_avatar": "https://www.gravatar.com/avatar/13efe0d4559475ba84ecc802061febbdea6e224fcbffd7ec7da9cd431845299c?s=80&d=identicon",
"project_id": 7,
"project": {
"id": 7,
"name": "Flight",
"description": "Incidunt ea ab officia a veniam.",
"web_url": "https://gitlab.example.com/flightjs/Flight",
"avatar_url": null,
"git_ssh_url": "ssh://git@gitlab.example.com:2222/flightjs/Flight.git",
"git_http_url": "https://gitlab.example.com/flightjs/Flight.git",
"namespace": "Flightjs",
"visibility_level": 10,
"path_with_namespace": "flightjs/Flight",
"default_branch": "master",
"ci_config_path": null,
"homepage": "https://gitlab.example.com/flightjs/Flight",
"url": "ssh://git@gitlab.example.com:2222/flightjs/Flight.git",
"ssh_url": "ssh://git@gitlab.example.com:2222/flightjs/Flight.git",
"http_url": "https://gitlab.example.com/flightjs/Flight.git"
},
"commits": [
{
"id": "f15b32277d2c55c6c595845a87109b09c913c556",
"message": "v1.5.2\n",
"title": "v1.5.2",
"timestamp": "2017-06-19T14:39:53-07:00",
"url": "https://gitlab.example.com/flightjs/Flight/-/commit/f15b32277d2c55c6c595845a87109b09c913c556",
"author": {
"name": "Andrew Lunny",
"email": "[REDACTED]"
},
"added": [],
"modified": [
"package.json"
],
"removed": []
},
{
"id": "8749d49930866a4871fa086adbd7d2057fcc3ebb",
"message": "Merge pull request #378 from flightjs/alunny/publish_lib\n\npublish lib and index to npm",
"title": "Merge pull request #378 from flightjs/alunny/publish_lib",
"timestamp": "2017-06-16T10:26:39-07:00",
"url": "https://gitlab.example.com/flightjs/Flight/-/commit/8749d49930866a4871fa086adbd7d2057fcc3ebb",
"author": {
"name": "angus croll",
"email": "[REDACTED]"
},
"added": [],
"modified": [
"package.json"
],
"removed": []
},
{
"id": "468abc807a2b2572f43e72c743b76cee6db24025",
"message": "publish lib and index to npm\n",
"title": "publish lib and index to npm",
"timestamp": "2017-06-16T10:23:04-07:00",
"url": "https://gitlab.example.com/flightjs/Flight/-/commit/468abc807a2b2572f43e72c743b76cee6db24025",
"author": {
"name": "Andrew Lunny",
"email": "[REDACTED]"
},
"added": [],
"modified": [
"package.json"
],
"removed": []
}
],
"total_commits_count": 3,
"push_options": {},
"repository": {
"name": "Flight",
"url": "ssh://git@gitlab.example.com:2222/flightjs/Flight.git",
"description": "Incidunt ea ab officia a veniam.",
"homepage": "https://gitlab.example.com/flightjs/Flight",
"git_http_url": "https://gitlab.example.com/flightjs/Flight.git",
"git_ssh_url": "ssh://git@gitlab.example.com:2222/flightjs/Flight.git",
"visibility_level": 10
}
},
"response_headers": {
"Date": "Sun, 26 May 2024 03:03:19 GMT",
"Content-Type": "application/json; charset=utf-8",
"Content-Length": "16",
"Connection": "close",
"X-Powered-By": "Express",
"Access-Control-Allow-Origin": "*",
"X-Pd-Status": "sent to primary"
},
"response_body": "{\"success\":true}",
"execution_duration": 1.0716120000000728,
"response_status": "200"
}
]重新发送群组钩子事件
重新发送特定的钩子事件。
此端点对每个钩子和经过身份验证的用户有每分钟五次请求的速率限制。
要在 GitLab Self-Managed 和 GitLab Dedicated 上禁用此限制,管理员可以
禁用功能标志 web_hook_event_resend_api_endpoint_rate_limit。
POST /groups/:id/hooks/:hook_id/events/:hook_event_id/resend支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer/string | 是 | 群组的 ID 或 URL 编码路径。 |
hook_id |
integer | 是 | 群组钩子的 ID。 |
hook_event_id |
integer | 是 | 钩子事件的 ID。 |
示例请求:
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/3/hooks/1/events/1/resend"示例响应:
{
"response_status": 200
}添加群组钩子
向指定群组添加钩子。
POST /groups/:id/hooks支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer/string | 是 | 群组的 ID 或 URL 编码路径。 |
url |
string | 是 | 钩子 URL。 |
name |
string | 否 | 钩子名称(引入 于 GitLab 17.1)。 |
description |
string | 否 | 钩子描述(引入 于 GitLab 17.1)。 |
push_events |
boolean | 否 | 在推送事件时触发钩子。 |
push_events_branch_filter |
string | 否 | 仅在匹配分支的推送事件时触发钩子。 |
branch_filter_strategy |
string | 否 | 按分支过滤推送事件。可能的值为 wildcard(默认)、regex 和 all_branches。 |
issues_events |
boolean | 否 | 在问题事件时触发钩子。 |
confidential_issues_events |
boolean | 否 | 在机密问题事件时触发钩子。 |
merge_requests_events |
boolean | 否 | 在合并请求事件时触发钩子。 |
tag_push_events |
boolean | 否 | 在标签推送事件时触发钩子。 |
note_events |
boolean | 否 | 在备注事件时触发钩子。 |
confidential_note_events |
boolean | 否 | 在机密备注事件时触发钩子。 |
job_events |
boolean | 否 | 在作业事件时触发钩子。 |
pipeline_events |
boolean | 否 | 在流水线事件时触发钩子。 |
wiki_page_events |
boolean | 否 | 在 Wiki 页面事件时触发钩子。 |
deployment_events |
boolean | 否 | 在部署事件时触发钩子。 |
feature_flag_events |
boolean | 否 | 在功能标志事件时触发钩子。 |
releases_events |
boolean | 否 | 在发布事件时触发钩子。 |
milestone_events |
boolean | 否 | 在里程碑事件时触发钩子。 |
subgroup_events |
boolean | 否 | 在子群组事件时触发钩子。 |
member_events |
boolean | 否 | 在成员事件时触发钩子。 |
project_events |
boolean | 否 | 在项目事件时触发钩子。 |
enable_ssl_verification |
boolean | 否 | 触发钩子时进行 SSL 验证。 |
token |
string | 否 | 用于验证接收到的负载的密钥令牌;不在响应中返回。 |
resource_access_token_events |
boolean | 否 | 在项目访问令牌过期事件时触发钩子。 |
custom_webhook_template |
string | 否 | 钩子的自定义 webhook 模板。 |
custom_headers |
array | 否 | 钩子的自定义标头。 |
示例请求:
curl --request POST \
--header "content-type: application/json" \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/3/hooks" \
--data '{"url": "https://example.com/hook", "name": "My Hook", "description": "Hook description"}'示例响应:
{
"id": 42,
"url": "https://example.com/hook",
"name": "My Hook",
"description": "Hook description",
"group_id": 3,
"push_events": true,
"push_events_branch_filter": "",
"branch_filter_strategy": "wildcard",
"issues_events": true,
"confidential_issues_events": true,
"merge_requests_events": true,
"tag_push_events": true,
"note_events": true,
"confidential_note_events": true,
"job_events": true,
"pipeline_events": true,
"wiki_page_events": true,
"deployment_events": true,
"feature_flag_events": true,
"releases_events": true,
"milestone_events": true,
"subgroup_events": true,
"member_events": true,
"project_events": true,
"enable_ssl_verification": true,
"repository_update_events": false,
"alert_status": "executable",
"disabled_until": null,
"url_variables": [ ],
"created_at": "2012-10-12T17:04:47Z",
"resource_access_token_events": true,
"custom_webhook_template": "{\"event\":\"{{object_kind}}\"}",
}编辑群组钩子
编辑指定群组的钩子。
PUT /groups/:id/hooks/:hook_id支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer or string | 是 | 群组的 ID 或 URL 编码路径。 |
hook_id |
integer | 是 | 群组钩子的 ID。 |
url |
string | 是 | 钩子 URL。 |
name |
string | 否 | 钩子名称(引入 于 GitLab 17.1)。 |
description |
string | 否 | 钩子描述(引入 于 GitLab 17.1)。 |
push_events |
boolean | 否 | 在推送事件时触发钩子。 |
push_events_branch_filter |
string | 否 | 仅在匹配分支的推送事件时触发钩子。 |
branch_filter_strategy |
string | 否 | 按分支过滤推送事件。可能的值为 wildcard(默认)、regex 和 all_branches。 |
issues_events |
boolean | 否 | 在问题事件时触发钩子。 |
confidential_issues_events |
boolean | 否 | 在机密问题事件时触发钩子。 |
merge_requests_events |
boolean | 否 | 在合并请求事件时触发钩子。 |
tag_push_events |
boolean | 否 | 在标签推送事件时触发钩子。 |
note_events |
boolean | 否 | 在备注事件时触发钩子。 |
confidential_note_events |
boolean | 否 | 在机密备注事件时触发钩子。 |
job_events |
boolean | 否 | 在作业事件时触发钩子。 |
pipeline_events |
boolean | 否 | 在流水线事件时触发钩子。 |
wiki_page_events |
boolean | 否 | 在 Wiki 页面事件时触发钩子。 |
deployment_events |
boolean | 否 | 在部署事件时触发钩子。 |
feature_flag_events |
boolean | 否 | 在功能标志事件时触发钩子。 |
releases_events |
boolean | 否 | 在发布事件时触发钩子。 |
milestone_events |
boolean | 否 | 在里程碑事件时触发钩子。 |
subgroup_events |
boolean | 否 | 在子群组事件时触发钩子。 |
member_events |
boolean | 否 | 在成员事件时触发钩子。 |
project_events |
boolean | 否 | 在项目事件时触发钩子。 |
enable_ssl_verification |
boolean | 否 | 触发钩子时进行 SSL 验证。 |
service_access_tokens_expiration_enforced |
boolean | 否 | 要求服务账户访问令牌具有过期日期。 |
token |
string | 否 | 用于验证接收到的负载的密钥令牌。不在响应中返回。当您更改 webhook URL 时,密钥令牌会被重置且不会保留。 |
resource_access_token_events |
boolean | 否 | 在项目访问令牌过期事件时触发钩子。 |
custom_webhook_template |
string | 否 | 钩子的自定义 webhook 模板。 |
custom_headers |
array | 否 | 钩子的自定义标头。 |
示例请求:
curl --request POST \
--header "content-type: application/json" \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/3/hooks/1" \
--data '{"url": "https://example.com/hook", "name": "New hook name", "description": "Changed hook description"}'示例响应:
{
"id": 1,
"url": "https://example.com/hook",
"name": "New hook name",
"description": "Changed hook description",
"group_id": 3,
"push_events": true,
"push_events_branch_filter": "",
"branch_filter_strategy": "wildcard",
"issues_events": true,
"confidential_issues_events": true,
"merge_requests_events": true,
"tag_push_events": true,
"note_events": true,
"confidential_note_events": true,
"job_events": true,
"pipeline_events": true,
"wiki_page_events": true,
"deployment_events": true,
"feature_flag_events": true,
"releases_events": true,
"milestone_events": true,
"subgroup_events": true,
"member_events": true,
"project_events": true,
"enable_ssl_verification": true,
"repository_update_events": false,
"alert_status": "executable",
"disabled_until": null,
"url_variables": [ ],
"created_at": "2012-10-12T17:04:47Z",
"resource_access_token_events": true,
"custom_webhook_template": "{\"event\":\"{{object_kind}}\"}",
"custom_headers": [
{
"key": "Authorization"
}
]
}删除群组钩子
从群组中删除钩子。这是一个幂等方法,可以多次调用。 钩子要么存在,要么不存在。
DELETE /groups/:id/hooks/:hook_id支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer/string | 是 | 群组的 ID 或 URL 编码路径。 |
hook_id |
integer | 是 | 群组钩子的 ID。 |
示例请求:
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/3/hooks/1"成功时不返回任何消息。
触发测试群组钩子
为指定群组触发测试钩子。
此端点对每个群组和经过身份验证的用户有每分钟五次请求的速率限制。
要在 GitLab Self-Managed 和 GitLab Dedicated 上禁用此限制,管理员可以
禁用功能标志 web_hook_test_api_endpoint_rate_limit。
POST /groups/:id/hooks/:hook_id/test/:trigger| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
hook_id |
integer | 是 | 群组钩子的 ID。 |
id |
integer or string | 是 | 群组的 ID 或 URL 编码路径。 |
trigger |
string | 是 | push_events、tag_push_events、issues_events、confidential_issues_events、note_events、merge_requests_events、job_events、pipeline_events、wiki_page_events、releases_events、milestone_events、emoji_events 或 resource_access_token_events 之一。 |
示例请求:
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/3/hooks/1/test/push_events"示例响应:
{"message":"201 Created"}设置自定义标头
设置自定义标头。
PUT /groups/:id/hooks/:hook_id/custom_headers/:key支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer or string | 是 | 群组的 ID 或 URL 编码路径。 |
hook_id |
integer | 是 | 群组钩子的 ID。 |
key |
string | 是 | 自定义标头的键。 |
value |
string | 是 | 自定义标头的值。 |
示例请求:
curl --request PUT \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/3/hooks/1/custom_headers/header_key?value='header_value'"成功时不返回任何消息。
删除自定义标头
删除自定义标头。
DELETE /groups/:id/hooks/:hook_id/custom_headers/:key支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer or string | 是 | 群组的 ID 或 URL 编码路径。 |
hook_id |
integer | 是 | 群组钩子的 ID。 |
key |
string | 是 | 自定义标头的键。 |
示例请求:
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/3/hooks/1/custom_headers/header_key"成功时不返回任何消息。
设置 URL 变量
PUT /groups/:id/hooks/:hook_id/url_variables/:key支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer or string | 是 | 群组的 ID 或 URL 编码路径。 |
hook_id |
integer | 是 | 群组钩子的 ID。 |
key |
string | 是 | URL 变量的键。 |
value |
string | 是 | URL 变量的值。 |
示例请求:
curl --request PUT \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/3/hooks/1/url_variables/my_key?value='my_key_value'"成功时不返回任何消息。
删除 URL 变量
DELETE /groups/:id/hooks/:hook_id/url_variables/:key支持的属性:
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer or string | 是 | 群组的 ID 或 URL 编码路径。 |
hook_id |
integer | 是 | 群组钩子的 ID。 |
key |
string | 是 | URL 变量的键。 |
示例请求:
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/3/hooks/1/url_variables/my_key"成功时不返回任何消息。