跳至主要内容
REST API 现在已版本化。 有关更多信息,请参阅 "关于 API 版本控制."

组织 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

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

查询参数
名称、类型、描述
per_page integer

每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。

默认: 30

page integer

要获取的结果页码。有关更多信息,请参阅“在 REST API 中使用分页”。

默认: 1

“列出组织 Webhook”的 HTTP 响应状态码

状态码描述
200

OK

404

资源未找到

“列出组织 Webhook”的代码示例

请求示例

get/orgs/{org}/hooks
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

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

主体参数
名称、类型、描述
name 字符串 必需

必须作为“web”传递。

config 对象 必需

键值对,用于提供此 Webhook 的设置。

名称、类型、描述
url 字符串 必需

将传递有效负载的 URL。

content_type 字符串

用于序列化有效负载的媒体类型。支持的值包括 jsonform。默认值为 form

secret 字符串

如果提供,secret 将用作生成 传递签名标头 的 HMAC 十六进制摘要值的 key

insecure_ssl 字符串或数字

确定在传递有效负载时是否将验证 url 主机的 SSL 证书。支持的值包括 0(执行验证)和 1(不执行验证)。默认值为 0我们强烈建议不要将其设置为 1,因为您可能会受到中间人攻击和其他攻击。

username 字符串
password 字符串
events 字符串数组

确定触发挂钩的事件。设置为["*"]以接收所有可能的事件。

默认: ["push"]

active 布尔值

确定触发挂钩时是否发送通知。设置为true以发送通知。

默认: true

“创建组织 Webhook”的 HTTP 响应状态代码

状态码描述
201

已创建

404

资源未找到

422

验证失败,或端点已被垃圾邮件。

“创建组织 Webhook”的代码示例

请求示例

post/orgs/{org}/hooks
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

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

hook_id 整数 必需

挂钩的唯一标识符。您可以在 Webhook 传递的X-GitHub-Hook-ID标头中找到此值。

“获取组织 Webhook”的 HTTP 响应状态代码

状态码描述
200

OK

404

资源未找到

“获取组织 Webhook”的代码示例

请求示例

get/orgs/{org}/hooks/{hook_id}
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

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

hook_id 整数 必需

挂钩的唯一标识符。您可以在 Webhook 传递的X-GitHub-Hook-ID标头中找到此值。

主体参数
名称、类型、描述
config 对象

键值对,用于提供此 Webhook 的设置。

名称、类型、描述
url 字符串 必需

将传递有效负载的 URL。

content_type 字符串

用于序列化有效负载的媒体类型。支持的值包括 jsonform。默认值为 form

secret 字符串

如果提供,secret 将用作生成 传递签名标头 的 HMAC 十六进制摘要值的 key

insecure_ssl 字符串或数字

确定在传递有效负载时是否将验证 url 主机的 SSL 证书。支持的值包括 0(执行验证)和 1(不执行验证)。默认值为 0我们强烈建议不要将其设置为 1,因为您可能会受到中间人攻击和其他攻击。

events 字符串数组

确定触发 Hook 的 事件

默认: ["push"]

active 布尔值

确定触发挂钩时是否发送通知。设置为true以发送通知。

默认: true

name 字符串

“更新组织 Webhook”的 HTTP 响应状态码

状态码描述
200

OK

404

资源未找到

422

验证失败,或端点已被垃圾邮件。

“更新组织 Webhook”的代码示例

请求示例

修补/orgs/{org}/hooks/{hook_id}
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

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

hook_id 整数 必需

挂钩的唯一标识符。您可以在 Webhook 传递的X-GitHub-Hook-ID标头中找到此值。

“删除组织 Webhook”的 HTTP 响应状态码

状态码描述
204

无内容

404

资源未找到

“删除组织 Webhook”的代码示例

请求示例

删除/orgs/{org}/hooks/{hook_id}
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

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

hook_id 整数 必需

挂钩的唯一标识符。您可以在 Webhook 传递的X-GitHub-Hook-ID标头中找到此值。

获取组织 webhook 配置的 HTTP 响应状态码

状态码描述
200

OK

获取组织 webhook 配置的代码示例

请求示例

get/orgs/{org}/hooks/{hook_id}/config
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

响应

状态: 200
{ "content_type": "json", "insecure_ssl": "0", "secret": "********", "url": "https://example.com/webhook" }

更新组织 webhook 配置

更新组织的 webhook 配置。要更新有关 webhook 的更多信息,包括 `active` 状态和 `events`,请使用 "更新组织 webhook ."

您必须是组织所有者才能使用此端点。

OAuth 应用令牌和个人访问令牌(经典)需要 admin:org_hook 范围。OAuth 应用无法列出、查看或编辑它们未创建的 Webhook,用户也无法列出、查看或编辑由 OAuth 应用创建的 Webhook。

更新组织 webhook 配置的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “Webhooks”组织权限(写入)

更新组织 webhook 配置的参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

hook_id 整数 必需

挂钩的唯一标识符。您可以在 Webhook 传递的X-GitHub-Hook-ID标头中找到此值。

主体参数
名称、类型、描述
url string

将传递有效负载的 URL。

content_type 字符串

用于序列化有效负载的媒体类型。支持的值包括 jsonform。默认值为 form

secret 字符串

如果提供,secret 将用作生成 传递签名标头 的 HMAC 十六进制摘要值的 key

insecure_ssl 字符串或数字

确定在传递有效负载时是否将验证 url 主机的 SSL 证书。支持的值包括 0(执行验证)和 1(不执行验证)。默认值为 0我们强烈建议不要将其设置为 1,因为您可能会受到中间人攻击和其他攻击。

更新组织 webhook 配置的 HTTP 响应状态码

状态码描述
200

OK

更新组织 webhook 配置的代码示例

请求示例

patch/orgs/{org}/hooks/{hook_id}/config
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":"********"}'

响应

状态: 200
{ "content_type": "json", "insecure_ssl": "0", "secret": "********", "url": "https://example.com/webhook" }

列出组织 webhook 的交付

返回组织中配置的 webhook 的 webhook 交付列表。

您必须是组织所有者才能使用此端点。

OAuth 应用令牌和个人访问令牌(经典)需要 admin:org_hook 范围。OAuth 应用无法列出、查看或编辑它们未创建的 Webhook,用户也无法列出、查看或编辑由 OAuth 应用创建的 Webhook。

列出组织 webhook 的交付的细粒度访问令牌

此端点适用于以下细粒度令牌类型

细粒度令牌必须具有以下权限集

  • “Webhook”组织权限(读取)

列出组织 webhook 的交付的参数

标头
名称、类型、描述
accept string

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

hook_id 整数 必需

挂钩的唯一标识符。您可以在 Webhook 传递的X-GitHub-Hook-ID标头中找到此值。

查询参数
名称、类型、描述
per_page integer

每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。

默认: 30

cursor string

用于分页:从其获取交付页面的起始交付。有关下一页和上一页游标,请参阅 `link` 标头。

redelivery boolean

列出组织 webhook 的交付的 HTTP 响应状态码

状态码描述
200

OK

400

错误请求

422

验证失败,或端点已被垃圾邮件。

列出组织 webhook 的交付的代码示例

请求示例

获取/orgs/{org}/hooks/{hook_id}/deliveries
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

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

hook_id 整数 必需

挂钩的唯一标识符。您可以在 Webhook 传递的X-GitHub-Hook-ID标头中找到此值。

delivery_id 整数 必需

对“获取组织 webhook 的 webhook 传递”的 HTTP 响应状态码

状态码描述
200

OK

400

错误请求

422

验证失败,或端点已被垃圾邮件。

对“获取组织 webhook 的 webhook 传递”的代码示例

请求示例

获取/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}
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

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

hook_id 整数 必需

挂钩的唯一标识符。您可以在 Webhook 传递的X-GitHub-Hook-ID标头中找到此值。

delivery_id 整数 必需

“重新发送组织webhook的交付”的HTTP响应状态码

状态码描述
202

已接受

400

错误请求

422

验证失败,或端点已被垃圾邮件。

“重新发送组织webhook的交付”的代码示例

请求示例

post/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts
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

建议设置为 application/vnd.github+json

路径参数
名称、类型、描述
org string 必需

组织名称。名称不区分大小写。

hook_id 整数 必需

挂钩的唯一标识符。您可以在 Webhook 传递的X-GitHub-Hook-ID标头中找到此值。

“Ping组织webhook”的HTTP响应状态码

状态码描述
204

无内容

404

资源未找到

“Ping组织webhook”的代码示例

请求示例

post/orgs/{org}/hooks/{hook_id}/pings
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