有没有一种方法可以在Azure Devops的CD管道中创建从RepoB到RepoA的拉请求,从而在RepoA中创建新分支

有没有一种方法可以在Azure Devops的CD管道中创建从RepoB到RepoA的拉请求,从而在RepoA中创建新分支,azure,azure-devops,azure-pipelines,azure-pipelines-build-task,azure-task-groups,Azure,Azure Devops,Azure Pipelines,Azure Pipelines Build Task,Azure Task Groups,我有一个场景,当我需要使用CD管道在Repo B中完成的技术在Repo a中创建一个新的分支拉请求时,我非常确定没有固定的方法可以从CI/CD管道中实现它(如果我错了,请纠正我),但是如果您准备好了定制解决方案,那么它肯定是可行的 在这种情况下,我建议使用类似于此工作流的方法: 首先,设置一个管道,在将更改提交到存储库B时触发该管道 管道签出完成后,创建一个脚本,删除存储库B的远程URL,并添加存储库a的URL。看起来是这样的: - script: | git remote rm

我有一个场景,当我需要使用CD管道在Repo B中完成的技术在Repo a中创建一个新的分支拉请求时,我非常确定没有固定的方法可以从CI/CD管道中实现它(如果我错了,请纠正我),但是如果您准备好了定制解决方案,那么它肯定是可行的

在这种情况下,我建议使用类似于此工作流的方法:

  • 首先,设置一个管道,在将更改提交到
    存储库B
    时触发该管道

  • 管道签出完成后,创建一个脚本,删除
    存储库B的远程URL
    ,并添加
    存储库a的URL
    。看起来是这样的:

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

  • 创建一个脚本,用于提交您以前在
    存储库B
    上签出的分支并将其推送到
    存储库a
    (方式与上一个脚本类似)

  • 最后,使用git存储库托管服务API创建拉请求


我非常确定,没有固定的方法可以从CI/CD管道执行此操作(如果我错了,请纠正我),但如果您准备好编写自定义解决方案,则此方法绝对可行

在这种情况下,我建议使用类似于此工作流的方法:

  • 首先,设置一个管道,在将更改提交到
    存储库B
    时触发该管道

  • 管道签出完成后,创建一个脚本,删除
    存储库B的远程URL
    ,并添加
    存储库a的URL
    。看起来是这样的:

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

  • 创建一个脚本,用于提交您以前在
    存储库B
    上签出的分支并将其推送到
    存储库a
    (方式与上一个脚本类似)

  • 最后,使用git存储库托管服务API创建拉请求


您可以使用此任务代替API是的,也可以,谢谢!我不知道这项任务。所有学分都归@shayki abramczyk@Krzysztof Madej所有。感谢您的回复。我确实检查了该任务,但它不会创建从一个repo到另一个repo的pull请求,同时也不会创建一个新分支。它所做的是,它创建一个从一个现有分支到另一个现有分支并在同一个repo中的pull请求。如果我错了,请纠正我,非常感谢你们的回复。@LJ,感谢你们的回复,将尝试实现相同的功能,并看看它是如何工作的。您可以使用此任务,而不是使用API。是的,这也可以,谢谢!我不知道这项任务。所有学分都归@shayki abramczyk@Krzysztof Madej所有。感谢您的回复。我确实检查了该任务,但它不会创建从一个repo到另一个repo的pull请求,同时也不会创建一个新分支。它所做的是,它创建一个从一个现有分支到另一个现有分支并在同一个repo中的pull请求。如果我错了,请纠正我,非常感谢你们的回复。@LJ,感谢你们的回复,将尝试实现同样的方法,并看看效果如何。