如何通过Bit-bucket API获取提及通知?
获取Bitbucket中提及自己的通知(API实现方案)
核心思路
Bitbucket确实没有专门的「获取提及通知」API端点,但可以通过两种可行路径实现需求:一是利用通知API筛选目标条目,二是通过搜索API检索包含你用户名的内容。
方案一:通过通知API筛选提及
Bitbucket的个人通知API会返回所有类型的通知,你可以在结果中过滤出「提及」类型的条目:
- 针对Bitbucket Cloud:调用
GET /2.0/user/notifications - 针对Bitbucket Server:调用
GET /rest/api/1.0/notifications - 遍历返回结果时,检查
type字段(Cloud版)或notificationType字段(Server版)是否为mention/MENTION,也可直接查看通知主题内容是否包含你的用户名 - 伪代码示例:
# 以Cloud版为例 response = bitbucket_client.get("/2.0/user/notifications") for item in response["values"]: if item["type"] == "mention": print(f"新提及:{item['subject']['title']},链接:{item['subject']['url']}")
方案二:通过搜索API检索提及内容
直接搜索仓库内所有包含你用户名的内容,覆盖PR评论、提交消息、issue讨论等场景:
- 针对Cloud版,可调用代码搜索接口:
GET /2.0/search/code?q=@你的用户名,或评论搜索接口:GET /2.0/search/commits?q=@你的用户名 - 针对Server版,使用
GET /rest/api/1.0/search?q=@你的用户名,并通过type参数限定搜索范围(如type=pullrequest) - 注意:需确保请求账号拥有对应仓库的读权限,否则会返回空结果
实用提示
- 可设置定时轮询任务,结合
updatedSince参数只获取指定时间后的新提及,避免重复处理 - Cloud版API有请求频率限制,建议控制调用间隔在1分钟以上
- Server版的通知结构需参考对应版本的文档,部分旧版本可能需要通过
actor字段辅助验证提及来源
内容的提问来源于stack exchange,提问作者Arshmeet Singh
相关产品推荐
相关产品推荐

