如何在bitbucket所需的构建功能中指定构建密钥

问题描述 投票:0回答:2

Atlassian Bitbucket v8.5.1 有一个新功能,称为“所需构建”,您可以在其中指定在将 PR 合并到分支之前应通过哪些构建。

信息这里

我发现有点难以理解指定构建密钥的正确方法。医生说:

Jenkins 作业的构建密钥是路径中每个项目的名称 构建,由正斜杠分隔。例如;一个名为 包含名为 COREBUILDS 的多分支管道作业的 PROJ,然后 构建密钥将是 PROJ/COREBUILDS。

但我的设置更简单,不涉及多分支管道作业。 有人知道如何在 Jenkins 中通过“构建密钥”指定他们所指的内容吗?

jenkins bitbucket
2个回答
1
投票

如果您使用的是 Stash/Bitbucket Notifier Plugin,则构建密钥似乎遵循格式

<job_name>-<escaped_jenkins_url>
,其中 Jenkins URL 是从服务器的 Configure System 视图获取的,并且斜杠被转义。

例如,如果我的作业名称是 Job-A 并且我的 Jenkins 服务器配置了 URL https://www.jenkins.com/ - 作业密钥将为

Job-A-https:\\/\\/www.jenkins.com\\/

在 Bitbucket 中,您可以使用填充 PR 的 Builds 选项卡的 UI API 查找现有的构建密钥。目前,该 UI API URL 为

<bitbucket url>/rest/ui/latest/projects/<project_slug>/repos/<repo_name>/pull-requests/<pr_id>/builds


0
投票

这个话题我纠结了一段时间,终于解决了。

上下文:我们没有使用插件向 bitbucket 发送通知,而是通过 bitbucket Rest api 发送通知(这是要使用的端点 https://developer.atlassian.com/server/bitbucket/rest/v819/api -group-builds-and-deployments/#api-api-latest-projects-projectkey-repos-repositoryslug-commits-commitid-builds-post )

正如您在该端点的文档中看到的,

key
是必填字段,但这并不是真正用于
required builds
检查的字段。相反,
required builds
会查找
parent
字段,这应该与
required builds
中的条件匹配。

因此我们的解决方案是在发送 bitbucket 通知时设置构建的

parent
字段。我们放入
parent
的是我们在
required builds

中寻找的构建
© www.soinside.com 2019 - 2024. All rights reserved.