gpt4 book ai didi

git - 在 Azure DevOps 中发布完成后如何创建 pull 请求?

转载 作者:太空狗 更新时间:2023-10-29 14:26:25 27 4
gpt4 key购买 nike

我正在从事的一个项目有 2 个长期存在的功能分支以及 master 分支。

为了完全自动化部署,我想在部署从 Azure DevOps Release 发出时从 master 创建一个 pull 请求到这两个功能分支。

Azure DevOps 中的哪种工具允许我将 pull 请求创建为发布任务?

最佳答案

您可以通过 Pull Request REST API 创建 merge 请求发布期间。

Invoke HTTP REST API task但可能不适合您的要求。

简单的方法是您可以通过PowerShell 任务来完成:

  1. 选择阶段(例如在代理上运行)并选中允许脚本访问 OAuth token 选项。您可以使用 Personal Access Token也是。
  2. 添加 PowerShell 任务

简单示例:

param(
[string]$project,
[string]$repo,
[string]$sourceBranch,
[string]$targetBranch,
[string]$title,
[string]$des,
[string]$token
)
$bodyObj=@{
"sourceRefName"="refs/heads/$sourceBranch";
"targetRefName"= "refs/heads/$targetBranch";
"title"= "$title";
"description"="$des";
}
$bodyJson=$bodyObj| ConvertTo-Json
$uri="https://XXX.visualstudio.com/DefaultCollection/$project/_apis/git/repositories/$repo/pullRequests?api-version=3.0"
Write-Output $bodyJson
Write-Output $uri
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f "test",$token)))
$result= Invoke-RestMethod -Method POST -Uri $Uri -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Body $bodyJson

参数:-project "XXX"-repo "XXX"-sourceBranch "XX"-targetBranch "XX"-title "XX"-des "XX"-token [$(System.AccessToken) 或个人访问 token ]

关于git - 在 Azure DevOps 中发布完成后如何创建 pull 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48634358/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com