Bitbucket更新拉取请求Webhook

4

目前使用Webhook拉取请求更新事件,我会收到任何拉取请求更新的通知(例如:更新描述、更改标题等)。

是否有一种方法只在提交推送到拉取请求时收到通知?

1个回答

2
不,每次拉取请求中有变化时都会触发Webhook。
但是,查看使用pullrequest:updated Webhook获得的payload,您可以通过比较源提交哈希与以前(存储的)哈希来构建该逻辑。如果它们不同,则表示进行了推送。 负载片段:
{
   "id" :  1 ,
   "title" :  "Title of pull request" ,
   "description" :  "Description of pull request" ,
   "state" :  "OPEN|MERGED|DECLINED" ,
   "author" : User,
   "source" : {
    "branch" : {  "name" :  "branch2" },
    "commit" : {  "hash" :  "d3022fc0ca3d" },
    "repository" : Repository
   }
}

2
是的,那就是我最终做的。我将这个哈希值在 Redis 缓存中保存了 7 天,并在 PR 被推送/更新时更新哈希值和过期时间。我本来希望能有一个更好的解决方案... 如果 Bitbucket 在那里多加一个参数 "is_push" 或其他什么的就好了... 他们的 API 相比 GitHub 确实落后很多。 - daniels

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接