组织 Webhook 的 REST API 端点
使用 REST API 与组织中的 Webhook 进行交互。
关于组织 Webhook
组织 Webhook 允许您的服务器在组织中发生特定事件时接收 HTTP POST
负载。有关更多信息,请参阅“Webhook 文档”。
列出组织 Webhook
您必须是组织所有者才能使用此端点。
OAuth 应用令牌和个人访问令牌(经典)需要 admin:org_hook
范围。OAuth 应用无法列出、查看或编辑它们未创建的 Webhook,用户也无法列出、查看或编辑由 OAuth 应用创建的 Webhook。
用于“列出组织 Webhook”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- “Webhook”组织权限(读取)
“列出组织 Webhook”的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
org string 必需组织名称。名称不区分大小写。 |
名称、类型、描述 |
---|
per_page integer 每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
page integer 要获取的结果页码。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
“列出组织 Webhook”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
404 | 资源未找到 |
“列出组织 Webhook”的代码示例
请求示例
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/hooks
响应
状态: 200
[ { "id": 1, "url": "https://api.github.com/orgs/octocat/hooks/1", "ping_url": "https://api.github.com/orgs/octocat/hooks/1/pings", "deliveries_url": "https://api.github.com/orgs/octocat/hooks/1/deliveries", "name": "web", "events": [ "push", "pull_request" ], "active": true, "config": { "url": "http://example.com", "content_type": "json" }, "updated_at": "2011-09-06T20:39:23Z", "created_at": "2011-09-06T17:26:27Z", "type": "Organization" } ]
创建组织 Webhook
创建一个以 JSON 格式发布有效负载的钩子。
您必须是组织所有者才能使用此端点。
OAuth 应用令牌和个人访问令牌(经典)需要 admin:org_hook
范围。OAuth 应用无法列出、查看或编辑它们未创建的 Webhook,用户也无法列出、查看或编辑由 OAuth 应用创建的 Webhook。
用于“创建组织 Webhook”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- “Webhooks”组织权限(写入)
“创建组织 Webhook”的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
org string 必需组织名称。名称不区分大小写。 |
名称、类型、描述 | |||||||
---|---|---|---|---|---|---|---|
name 字符串 必需必须作为“web”传递。 | |||||||
config 对象 必需键值对,用于提供此 Webhook 的设置。 | |||||||
|
名称、类型、描述 |
---|
url 字符串 必需将传递有效负载的 URL。 |
content_type 字符串 用于序列化有效负载的媒体类型。支持的值包括 |
secret 字符串 如果提供, |
insecure_ssl 字符串或数字 确定在传递有效负载时是否将验证 |
username 字符串 |
password 字符串 |
events
字符串数组 确定触发挂钩的事件。设置为["*"]
以接收所有可能的事件。
默认: ["push"]
active
布尔值 确定触发挂钩时是否发送通知。设置为true
以发送通知。
默认: true
“创建组织 Webhook”的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
201 | 已创建 |
404 | 资源未找到 |
422 | 验证失败,或端点已被垃圾邮件。 |
“创建组织 Webhook”的代码示例
请求示例
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/hooks \ -d '{"name":"web","active":true,"events":["push","pull_request"],"config":{"url":"http://example.com/webhook","content_type":"json"}}'
响应
状态:201
{ "id": 1, "url": "https://api.github.com/orgs/octocat/hooks/1", "ping_url": "https://api.github.com/orgs/octocat/hooks/1/pings", "deliveries_url": "https://api.github.com/orgs/octocat/hooks/1/deliveries", "name": "web", "events": [ "push", "pull_request" ], "active": true, "config": { "url": "http://example.com", "content_type": "json" }, "updated_at": "2011-09-06T20:39:23Z", "created_at": "2011-09-06T17:26:27Z", "type": "Organization" }
获取组织 Webhook
返回在组织中配置的 Webhook。要仅获取 Webhook 的config
属性,请参阅“获取组织的 Webhook 配置”。
您必须是组织所有者才能使用此端点。
OAuth 应用令牌和个人访问令牌(经典)需要 admin:org_hook
范围。OAuth 应用无法列出、查看或编辑它们未创建的 Webhook,用户也无法列出、查看或编辑由 OAuth 应用创建的 Webhook。
“获取组织 Webhook”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- “Webhook”组织权限(读取)
“获取组织 Webhook”的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
org string 必需组织名称。名称不区分大小写。 |
hook_id 整数 必需挂钩的唯一标识符。您可以在 Webhook 传递的 |
“获取组织 Webhook”的 HTTP 响应状态代码
状态码 | 描述 |
---|---|
200 | OK |
404 | 资源未找到 |
“获取组织 Webhook”的代码示例
请求示例
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/hooks/HOOK_ID
响应
状态: 200
{ "id": 1, "url": "https://api.github.com/orgs/octocat/hooks/1", "ping_url": "https://api.github.com/orgs/octocat/hooks/1/pings", "deliveries_url": "https://api.github.com/orgs/octocat/hooks/1/deliveries", "name": "web", "events": [ "push", "pull_request" ], "active": true, "config": { "url": "http://example.com", "content_type": "json" }, "updated_at": "2011-09-06T20:39:23Z", "created_at": "2011-09-06T17:26:27Z", "type": "Organization" }
更新组织 Webhook
更新组织中配置的 Webhook。更新 Webhook 时,secret
将被覆盖。如果您之前设置了 secret
,则必须提供相同的 secret
或设置新的 secret
,否则 secret
将被删除。如果您只是更新单个 Webhook config
属性,请使用“更新组织的 Webhook 配置”。
您必须是组织所有者才能使用此端点。
OAuth 应用令牌和个人访问令牌(经典)需要 admin:org_hook
范围。OAuth 应用无法列出、查看或编辑它们未创建的 Webhook,用户也无法列出、查看或编辑由 OAuth 应用创建的 Webhook。
“更新组织 Webhook”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- “Webhooks”组织权限(写入)
“更新组织 Webhook”的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
org string 必需组织名称。名称不区分大小写。 |
hook_id 整数 必需挂钩的唯一标识符。您可以在 Webhook 传递的 |
名称、类型、描述 | |||||
---|---|---|---|---|---|
config 对象 键值对,用于提供此 Webhook 的设置。 | |||||
|
名称、类型、描述 |
---|
url 字符串 必需将传递有效负载的 URL。 |
content_type 字符串 用于序列化有效负载的媒体类型。支持的值包括 |
secret 字符串 如果提供, |
insecure_ssl 字符串或数字 确定在传递有效负载时是否将验证 |
events
字符串数组 确定触发 Hook 的 事件。
默认: ["push"]
active
布尔值 确定触发挂钩时是否发送通知。设置为true
以发送通知。
默认: true
name
字符串 “更新组织 Webhook”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
404 | 资源未找到 |
422 | 验证失败,或端点已被垃圾邮件。 |
“更新组织 Webhook”的代码示例
请求示例
curl -L \ -X PATCH \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/hooks/HOOK_ID \ -d '{"active":true,"events":["pull_request"]}'
响应
状态: 200
{ "id": 1, "url": "https://api.github.com/orgs/octocat/hooks/1", "ping_url": "https://api.github.com/orgs/octocat/hooks/1/pings", "deliveries_url": "https://api.github.com/repos/octocat/Hello-World/hooks/12345678/deliveries", "name": "web", "events": [ "pull_request" ], "active": true, "config": { "url": "http://example.com", "content_type": "json" }, "updated_at": "2011-09-06T20:39:23Z", "created_at": "2011-09-06T17:26:27Z", "type": "Organization" }
删除组织 Webhook
您必须是组织所有者才能使用此端点。
OAuth 应用令牌和个人访问令牌(经典)需要 admin:org_hook
范围。OAuth 应用无法列出、查看或编辑它们未创建的 Webhook,用户也无法列出、查看或编辑由 OAuth 应用创建的 Webhook。
“删除组织 Webhook”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- “Webhooks”组织权限(写入)
“删除组织 Webhook”的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
org string 必需组织名称。名称不区分大小写。 |
hook_id 整数 必需挂钩的唯一标识符。您可以在 Webhook 传递的 |
“删除组织 Webhook”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
204 | 无内容 |
404 | 资源未找到 |
“删除组织 Webhook”的代码示例
请求示例
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/hooks/HOOK_ID
响应
状态:204
获取组织的 Webhook 配置
返回组织的 Webhook 配置。要获取有关 Webhook 的更多信息,包括 active
状态和 events
,请使用“获取组织 Webhook ”。
您必须是组织所有者才能使用此端点。
OAuth 应用令牌和个人访问令牌(经典)需要 admin:org_hook
范围。OAuth 应用无法列出、查看或编辑它们未创建的 Webhook,用户也无法列出、查看或编辑由 OAuth 应用创建的 Webhook。
“获取组织的 Webhook 配置”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- “Webhook”组织权限(读取)
“获取组织的 Webhook 配置”的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
org string 必需组织名称。名称不区分大小写。 |
hook_id 整数 必需挂钩的唯一标识符。您可以在 Webhook 传递的 |
获取组织 webhook 配置的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
获取组织 webhook 配置的代码示例
请求示例
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/hooks/HOOK_ID/config
响应
更新组织 webhook 配置
更新组织的 webhook 配置。要更新有关 webhook 的更多信息,包括 `active` 状态和 `events`,请使用 "更新组织 webhook ."
您必须是组织所有者才能使用此端点。
OAuth 应用令牌和个人访问令牌(经典)需要 admin:org_hook
范围。OAuth 应用无法列出、查看或编辑它们未创建的 Webhook,用户也无法列出、查看或编辑由 OAuth 应用创建的 Webhook。
更新组织 webhook 配置的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- “Webhooks”组织权限(写入)
更新组织 webhook 配置的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
org string 必需组织名称。名称不区分大小写。 |
hook_id 整数 必需挂钩的唯一标识符。您可以在 Webhook 传递的 |
名称、类型、描述 |
---|
url string 将传递有效负载的 URL。 |
content_type 字符串 用于序列化有效负载的媒体类型。支持的值包括 |
secret 字符串 如果提供, |
insecure_ssl 字符串或数字 确定在传递有效负载时是否将验证 |
更新组织 webhook 配置的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
更新组织 webhook 配置的代码示例
请求示例
curl -L \ -X PATCH \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/hooks/HOOK_ID/config \ -d '{"url":"http://example.com/webhook","content_type":"json","insecure_ssl":"0","secret":"********"}'
响应
列出组织 webhook 的交付
返回组织中配置的 webhook 的 webhook 交付列表。
您必须是组织所有者才能使用此端点。
OAuth 应用令牌和个人访问令牌(经典)需要 admin:org_hook
范围。OAuth 应用无法列出、查看或编辑它们未创建的 Webhook,用户也无法列出、查看或编辑由 OAuth 应用创建的 Webhook。
列出组织 webhook 的交付的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- “Webhook”组织权限(读取)
列出组织 webhook 的交付的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
org string 必需组织名称。名称不区分大小写。 |
hook_id 整数 必需挂钩的唯一标识符。您可以在 Webhook 传递的 |
名称、类型、描述 |
---|
per_page integer 每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
cursor string 用于分页:从其获取交付页面的起始交付。有关下一页和上一页游标,请参阅 `link` 标头。 |
redelivery boolean |
列出组织 webhook 的交付的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
400 | 错误请求 |
422 | 验证失败,或端点已被垃圾邮件。 |
列出组织 webhook 的交付的代码示例
请求示例
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/hooks/HOOK_ID/deliveries
响应
状态: 200
[ { "id": 12345678, "guid": "0b989ba4-242f-11e5-81e1-c7b6966d2516", "delivered_at": "2019-06-03T00:57:16Z", "redelivery": false, "duration": 0.27, "status": "OK", "status_code": 200, "event": "issues", "action": "opened", "installation_id": 123, "repository_id": 456, "throttled_at": "2019-06-03T00:57:16Z" }, { "id": 123456789, "guid": "0b989ba4-242f-11e5-81e1-c7b6966d2516", "delivered_at": "2019-06-04T00:57:16Z", "redelivery": true, "duration": 0.28, "status": "OK", "status_code": 200, "event": "issues", "action": "opened", "installation_id": 123, "repository_id": 456, "throttled_at": null } ]
获取组织 webhook 的 webhook 传递
返回在组织中配置的 webhook 的传递。
您必须是组织所有者才能使用此端点。
OAuth 应用令牌和个人访问令牌(经典)需要 admin:org_hook
范围。OAuth 应用无法列出、查看或编辑它们未创建的 Webhook,用户也无法列出、查看或编辑由 OAuth 应用创建的 Webhook。
对“获取组织 webhook 的 webhook 传递”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- “Webhook”组织权限(读取)
对“获取组织 webhook 的 webhook 传递”的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
org string 必需组织名称。名称不区分大小写。 |
hook_id 整数 必需挂钩的唯一标识符。您可以在 Webhook 传递的 |
delivery_id 整数 必需 |
对“获取组织 webhook 的 webhook 传递”的 HTTP 响应状态码
状态码 | 描述 |
---|---|
200 | OK |
400 | 错误请求 |
422 | 验证失败,或端点已被垃圾邮件。 |
对“获取组织 webhook 的 webhook 传递”的代码示例
请求示例
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/hooks/HOOK_ID/deliveries/DELIVERY_ID
响应
状态: 200
{ "id": 12345678, "guid": "0b989ba4-242f-11e5-81e1-c7b6966d2516", "delivered_at": "2019-06-03T00:57:16Z", "redelivery": false, "duration": 0.27, "status": "OK", "status_code": 200, "event": "issues", "action": "opened", "installation_id": 123, "repository_id": 456, "url": "https://www.example.com", "throttled_at": "2019-06-03T00:57:16Z", "request": { "headers": { "X-GitHub-Delivery": "0b989ba4-242f-11e5-81e1-c7b6966d2516", "X-Hub-Signature-256": "sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e", "Accept": "*/*", "X-GitHub-Hook-ID": "42", "User-Agent": "GitHub-Hookshot/b8c71d8", "X-GitHub-Event": "issues", "X-GitHub-Hook-Installation-Target-ID": "123", "X-GitHub-Hook-Installation-Target-Type": "repository", "content-type": "application/json", "X-Hub-Signature": "sha1=a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d" }, "payload": { "action": "opened", "issue": { "body": "foo" }, "repository": { "id": 123 } } }, "response": { "headers": { "Content-Type": "text/html;charset=utf-8" }, "payload": "ok" } }
重新发送组织webhook的交付
重新发送在组织中配置的webhook的交付。
您必须是组织所有者才能使用此端点。
OAuth 应用令牌和个人访问令牌(经典)需要 admin:org_hook
范围。OAuth 应用无法列出、查看或编辑它们未创建的 Webhook,用户也无法列出、查看或编辑由 OAuth 应用创建的 Webhook。
“重新发送组织webhook的交付”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- “Webhooks”组织权限(写入)
“重新发送组织webhook的交付”的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
org string 必需组织名称。名称不区分大小写。 |
hook_id 整数 必需挂钩的唯一标识符。您可以在 Webhook 传递的 |
delivery_id 整数 必需 |
“重新发送组织webhook的交付”的HTTP响应状态码
状态码 | 描述 |
---|---|
202 | 已接受 |
400 | 错误请求 |
422 | 验证失败,或端点已被垃圾邮件。 |
“重新发送组织webhook的交付”的代码示例
请求示例
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/hooks/HOOK_ID/deliveries/DELIVERY_ID/attempts
已接受
Ping组织webhook
这将触发一个ping事件发送到钩子。
您必须是组织所有者才能使用此端点。
OAuth 应用令牌和个人访问令牌(经典)需要 admin:org_hook
范围。OAuth 应用无法列出、查看或编辑它们未创建的 Webhook,用户也无法列出、查看或编辑由 OAuth 应用创建的 Webhook。
“Ping组织webhook”的细粒度访问令牌
此端点适用于以下细粒度令牌类型
细粒度令牌必须具有以下权限集
- “Webhooks”组织权限(写入)
“Ping组织webhook”的参数
名称、类型、描述 |
---|
accept string 建议设置为 |
名称、类型、描述 |
---|
org string 必需组织名称。名称不区分大小写。 |
hook_id 整数 必需挂钩的唯一标识符。您可以在 Webhook 传递的 |
“Ping组织webhook”的HTTP响应状态码
状态码 | 描述 |
---|---|
204 | 无内容 |
404 | 资源未找到 |
“Ping组织webhook”的代码示例
请求示例
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/orgs/ORG/hooks/HOOK_ID/pings
响应
状态:204