有没有一种创建拉取请求的方法,该拉取请求可通过Azure Devops中的CD管道从RepoB在RepoA中创建新分支

问题描述

在某些情况下,我需要使用CD管道从回购B中完成的更改在回购A中创建新的分支拉取请求

解决方法

我很确定没有从CI / CD管道进行操作的固定方法(如果我错了,请纠正我),但是如果您准备好组合自定义解决方案,那肯定是可行的。

在这种情况下,我会建议与此工作流程类似的内容:

  • 首先,设置一个将更改提交到Repository B时触发的管道。

  • 完成管道签出后,创建一个脚本,该脚本删除Repository B的远程URL并添加Repository A的URL。看起来像这样:

     - script: |
         git remote rm origin
         git remote add origin $(your_repo_url)
    
  • 然后安装允许您访问Repository A的ssh密钥。您可以使用Install SSH key任务YAML模板。

  • 创建一个脚本,该脚本将先前在Repository B上签出的分支提交并推送到Repository A(与上一个脚本类似)。

  • 最后,使用您的git存储库托管服务API创建提取请求。