git - 我们可以从 Azure Devops 管道提出和合并拉取请求吗?
问题描述
我有一个发布分支,通过它我执行 CI/CD yaml 管道并将应用程序部署在 AKS 上的不同环境中。
一旦我的 UAT 部署阶段完成,我想创建一个拉取请求并在没有冲突的情况下合并分支,从发布分支到主分支。并且仅在完成拉取请求后,应该开始 PROD 部署阶段。
是否有任何任务/脚本可以帮助我实现目标?
我已经检查了Create Pull Request扩展,但目前它只支持 Windows 机器。
我还阅读了有关创建拉取请求的 Azure DevOps REST API,但有人提到该 API 仅支持 2 次提交。
这里的任何帮助将不胜感激。
解决方案
在 Linux 中,您可以使用PowerShell core和rest API来创建 PR:
$body = @{
sourceRefName= "refs/heads/feature"
targetRefName = "refs/heads/master"
title = "PR from Pipeline"
}
$head = @{ Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN" }
$json = ConvertTo-Json $body
$url = "$(System.TeamFoundationCollectionUri)$(System.TeamProject)/_apis/git/repositories/$(Build.Repository.Name)/pullrequests?api-version=5.0"
Invoke-RestMethod -Uri $url -Method Post -Headers $head -Body $json -ContentType application/json
推荐阅读
- forms - G-suite 表格测验。随机答案
- sql - 获取没有最低 3 个日期的值
- swift - 有没有办法在 SceneDelegate 中初始化 CoreData 和 EnvironmentObject?
- ios - 如何在提交按钮上发送表格视图数据?
- c++ - 如何声明返回 void 的函数和可变参数的自动类型参数?
- python - 您如何使用 Selenium 抓取多个网站并在与 Python 的同一行中输出一个输出?
- open-policy-agent - opa rego 结果集表达式中的“位置”键是什么?我可以在输入 json 中获取导致违反政策的位置吗?
- node.js - 从客户端获取表单数据到服务器端NodeJS
- chart.js - 更改 chart.js 工具提示中的日期格式
- django - 我怎样才能看到从站点服务器自己存储值的 django 数据库?