Jenkins多分支管道,用于在合并到另一个存储库中的主存储库时,在一个存储库中创建PR

sirbozc5  于 2023-02-11  发布在  Jenkins
关注(0)|答案(1)|浏览(237)

我已经创建了一个可以访问两个存储库的作业,A具有读访问权限,B具有写访问权限。在成功合并到存储库A中的PR主数据时,我希望触发一个作业,将成功PR的哈希值从存储库A添加到存储库B/file.yaml,并在存储库B中为该添加创建一个PR。
我理解基于成功合并来触发作业的基本原理。我被困在如何让作业更改Yaml文件并基于此更改创建PR上。

30byixjq

30byixjq1#

一旦第二个build触发,你需要做的就是 checkout repo B。你可能还想创建一个新的分支(你可以使用git命令),并把你的哈希值附加到文件中,最简单的方法就是回显这一行:

sh "echo $COMMIT_HASH >> file.yaml"

然后将代码推送到分支中。一旦代码在分支中,你就可以创建PR,但如何创建取决于你的Git主机。大多数常用的主机(Bitbucket,GitLab,GitHub)都有API端点,你可以使用分支名称向其发送POST请求。当API收到请求时,PR就会创建。例如,Bitbucket是这样做的:www.example.com网站。https://developer.atlassian.com/cloud/bitbucket/rest/api-group-pullrequests/#api-repositories-workspace-repo-slug-pullrequests-post.
如果您使用的是一个不太知名的Git主机,没有API,那么您可能会遇到一些麻烦。

相关问题