2

我们正在迁移到 Jenkins 管道。我们使用 Jenkins 在 Bitbucket 中更新我们的分支/PR 的构建状态。

我们在 Bitbucket 中的一项合并检查是“检查最后一次提交是否有至少 1 个成功构建且没有失败构建”。这意味着我们不能合并,除非在 Jenkins 上有 1 个成功构建的最新提交,并且没有最新提交的失败构建。

有时,Jenkins 构建会由于与代码无关的原因而失败,并且下次运行它时构建会很好。但是,这意味着无法合并分支,因为至少有一个失败的构建。

为了解决这个问题,我们之前可以在构建状态通知插件配置中勾选“仅显示最新构建状态”的框。到目前为止,我们还没有找到任何等效的方法来在 Jenkinsfile 中配置它。有谁知道这是否可能,如果可以,如何?

这个问题与 jenkins 中带有 bitbucket 构建状态通知插件的 Multi branch pipeline重复,但这个问题从未真正得到回答。

4

1 回答 1

2

似乎您的用例已被 Bitbucket 的Build REST API涵盖,甚至还有您的确切案例的分步示例,最后一次构建因外部原因失败,而新构建成功

为了覆盖已经报告的构建的状态,您将需要使用相同commit sha的和相同的key

关于Bitbucket Build Status Notifier,它允许您将 a 指定buildKey为可选参数。您应该确保指定此参数,并且对于同一作业的所有构建,该参数始终相同。

这样,相同最后一次提交的新构建将覆盖最后一个,因为它将使用相同的 sha 和相同的密钥。

有关其他参数,请参阅插件文档的 API 部分。

于 2020-02-10T11:16:30.323 回答