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

GitHub App Webhook 的 REST API 端点

使用 REST API 与 OAuth 应用的 Webhook 交互

关于 GitHub App 的 Webhook

GitHub App 的 Webhook 允许您的服务器在 GitHub App 发生某些事件时接收 HTTP POST 有效负载。有关更多信息,请参阅“Webhook 文档”和“使用 GitHub App 的 Webhook”。

获取应用的 Webhook 配置

返回 GitHub App 的 Webhook 配置。有关为您的应用配置 Webhook 的更多信息,请参阅“创建 GitHub App”。

您必须使用 JWT 才能访问此端点。

用于“获取应用的 Webhook 配置”的细粒度访问令牌

此端点不适用于 GitHub App 用户访问令牌、GitHub App 安装访问令牌或细粒度个人访问令牌。

用于“获取应用的 Webhook 配置”的 HTTP 响应状态代码

状态代码描述
200

OK

用于“获取应用的 Webhook 配置”的代码示例

请求示例

get/app/hook/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/app/hook/config

响应

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

更新应用程序的 Webhook 配置

更新 GitHub 应用程序的 Webhook 配置。有关为您的应用程序配置 Webhook 的更多信息,请参阅“创建 GitHub 应用程序”。

您必须使用 JWT 才能访问此端点。

用于“更新应用程序的 Webhook 配置”的细粒度访问令牌

此端点不适用于 GitHub App 用户访问令牌、GitHub App 安装访问令牌或细粒度个人访问令牌。

用于“更新应用程序的 Webhook 配置”的参数

标头
名称、类型、描述
accept 字符串

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

正文参数
名称、类型、描述
url 字符串

将向其传递有效负载的 URL。

content_type 字符串

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

secret 字符串

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

insecure_ssl 字符串或数字

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

用于“更新应用程序的 Webhook 配置”的 HTTP 响应状态代码

状态代码描述
200

OK

用于“更新应用程序的 Webhook 配置”的代码示例

请求示例

修补/app/hook/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/app/hook/config \ -d '{"content_type":"json","insecure_ssl":"0","secret":"********","url":"https://example.com/webhook"}'

响应

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

列出应用 Webhook 的传递

返回为 GitHub 应用配置的 Webhook 的 Webhook 传递列表。

您必须使用 JWT 才能访问此端点。

对“列出应用 Webhook 的传递”的细粒度访问令牌

此端点不适用于 GitHub App 用户访问令牌、GitHub App 安装访问令牌或细粒度个人访问令牌。

对“列出应用 Webhook 的传递”的参数

标头
名称、类型、描述
accept 字符串

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

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

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

默认: 30

cursor 字符串

用于分页:从哪个起始传递获取传递页面。请参阅 link 标头以获取下一页和上一页游标。

redelivery 布尔值

对“列出应用 Webhook 的传递”的 HTTP 响应状态代码

状态代码描述
200

OK

400

错误请求

422

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

对“列出应用 Webhook 的传递”的代码示例

请求示例

get/app/hook/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/app/hook/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 的传递

返回为 GitHub 应用配置的 Webhook 的传递。

您必须使用 JWT 才能访问此端点。

对“获取应用 Webhook 的传递”的细粒度访问令牌

此端点不适用于 GitHub App 用户访问令牌、GitHub App 安装访问令牌或细粒度个人访问令牌。

对“获取应用 Webhook 的传递”的参数

标头
名称、类型、描述
accept 字符串

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

路径参数
名称、类型、描述
delivery_id 整数 必需

对“获取应用 Webhook 的传递”的 HTTP 响应状态代码

状态代码描述
200

OK

400

错误请求

422

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

对“获取应用 Webhook 的传递”的代码示例

请求示例

get/app/hook/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/app/hook/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 的交付内容

重新发送为 GitHub 应用程序配置的 Webhook 的交付内容。

您必须使用 JWT 才能访问此端点。

用于“重新发送应用程序 Webhook 的交付内容”的细粒度访问令牌

此端点不适用于 GitHub App 用户访问令牌、GitHub App 安装访问令牌或细粒度个人访问令牌。

“重新发送应用程序 Webhook 的交付内容”的参数

标头
名称、类型、描述
accept 字符串

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

路径参数
名称、类型、描述
delivery_id 整数 必需

“重新发送应用程序 Webhook 的交付内容”的 HTTP 响应状态代码

状态代码描述
202

已接受

400

错误请求

422

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

“重新发送应用程序 Webhook 的交付内容”的代码示例

请求示例

post/app/hook/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/app/hook/deliveries/DELIVERY_ID/attempts

已接受