这些端点仅支持使用个人访问令牌(经典)进行身份验证。有关更多信息,请参阅“管理个人访问令牌”。
你可以使用 REST API 来管理 GitHub 通知。有关通知的更多信息,请参阅“关于通知”。
对这些端点的所有调用都需要 notifications
或 repo
范围。你需要 repo
范围才能从各自的端点访问问题和提交。
通知以“线程”的形式返回。线程包含有关问题、拉取请求或提交的当前讨论的信息。
通知经过优化,可使用 Last-Modified
标头进行轮询。如果没有新通知,你将看到 304 未修改
响应,保持你的当前速率限制不变。有一个 X-Poll-Interval
标头,指定允许你轮询的频率(以秒为单位)。在服务器负载较高的时期,时间可能会增加。请遵守标头。
# Add authentication to your requests
$ curl -I https://api.github.com/notifications
HTTP/2 200
Last-Modified: Thu, 25 Oct 2012 15:16:27 GMT
X-Poll-Interval: 60
# Pass the Last-Modified header exactly
$ curl -I https://api.github.com/notifications
$ -H "If-Modified-Since: Thu, 25 Oct 2012 15:16:27 GMT"
> HTTP/2 304
> X-Poll-Interval: 60
这些 GET 端点返回 reason
键。这些 reason
对应于触发通知的事件。
收到通知可能有几个潜在的 reason
。
原因名称 | 说明 |
---|
approval_requested | 请求你审阅并批准部署。有关更多信息,请参阅“审阅部署”。 |
assign | 你被分配到该问题。 |
author | 你创建了该线程。 |
comment | 你在该线程上发表了评论。 |
ci_activity | 你触发的 GitHub Actions 工作流运行已完成。 |
invitation | 你接受了对存储库进行贡献的邀请。 |
manual | 你订阅了该线程(通过问题或拉取请求)。 |
member_feature_requested | 组织成员已请求启用一项功能,例如草稿拉取请求或 Copilot。 |
mention | 你在内容中被特别@提及。 |
review_requested | 你或你所在的团队被请求审阅拉取请求。 |
security_alert | GitHub 在你的存储库中发现了安全漏洞。 |
security_advisory_credit | 你因对安全公告做出贡献而获得认可。 |
state_change | 你更改了线程状态(例如,关闭问题或合并拉取请求)。 |
subscribed | 你正在关注该存储库。 |
team_mention | 你属于被提及的团队。 |
请注意,reason
会根据每个线程进行修改,并且如果以后通知中的 reason
不同,则可能会更改。
例如,如果你是一个问题的作者,那么该问题上的后续通知的 reason
将为 author
。如果你随后在同一问题上被@提及,那么你之后获取的通知的 reason
将为 mention
。无论你是否再次被提及,reason
都会保持为 mention
。