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 配置”的代码示例
请求示例
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
响应
更新应用程序的 Webhook 配置
更新 GitHub 应用程序的 Webhook 配置。有关为您的应用程序配置 Webhook 的更多信息,请参阅“创建 GitHub 应用程序”。
您必须使用 JWT 才能访问此端点。
用于“更新应用程序的 Webhook 配置”的细粒度访问令牌
此端点不适用于 GitHub App 用户访问令牌、GitHub App 安装访问令牌或细粒度个人访问令牌。
用于“更新应用程序的 Webhook 配置”的参数
名称、类型、描述 |
---|
accept 字符串 建议设置为 |
名称、类型、描述 |
---|
url 字符串 将向其传递有效负载的 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/app/hook/config \ -d '{"content_type":"json","insecure_ssl":"0","secret":"********","url":"https://example.com/webhook"}'
响应
列出应用 Webhook 的传递
返回为 GitHub 应用配置的 Webhook 的 Webhook 传递列表。
您必须使用 JWT 才能访问此端点。
对“列出应用 Webhook 的传递”的细粒度访问令牌
此端点不适用于 GitHub App 用户访问令牌、GitHub App 安装访问令牌或细粒度个人访问令牌。
对“列出应用 Webhook 的传递”的参数
名称、类型、描述 |
---|
accept 字符串 建议设置为 |
名称、类型、描述 |
---|
per_page 整数 每页结果数(最大 100)。有关更多信息,请参阅“在 REST API 中使用分页”。 默认: |
cursor 字符串 用于分页:从哪个起始传递获取传递页面。请参阅 |
redelivery 布尔值 |
对“列出应用 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/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 字符串 建议设置为 |
名称、类型、描述 |
---|
delivery_id 整数 必需 |
对“获取应用 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/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 字符串 建议设置为 |
名称、类型、描述 |
---|
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/app/hook/deliveries/DELIVERY_ID/attempts
已接受