gpt4 book ai didi

azure - 在 Azure Devops 中,如何创建分支策略以要求在合并 PR 之前解析链接的工作项?

转载 作者:行者123 更新时间:2023-12-03 03:30:40 25 4
gpt4 key购买 nike

我的 QA 团队要求我阻止拉取请求被合并,直到相关工作项被标记为已解决(意味着测试没有发现缺陷)。我已经要求他们团队的成员批准 PR,但是他们担心有人在 PR 准备好之前不小心批准了错误的 PR。他们还希望这是自动化的,因为他们已经手动管理工作项目。我不能说我不同意他们的愿望。

有一个类似的选项可以在合并 PR 时自动关闭链接的工作项,但这对我来说似乎是倒退的 - 在工作项得到解决并正确记录之前,我无法将更改合并到下一个版本中。

我检查了内置的分支策略,没有一个符合我的要求。最接近的选项是要求链接工作项,但这本身并不能阻止测试完成之前的合并。

他们要求的是可接受的分支机构政策使用吗?或者我们的工作流程与这个平台不兼容?

最佳答案

更新于 12/19

对于这种情况,您希望使用特定的工作项状态验证拉取请求。我想您可以添加构建验证的分支策略。

enter image description here

您可以在 powershell 任务 中添加下面的 ps 脚本来检查链接到目标 pr 的工作项状态。

# Define organization base url, PAT, linked wit, Target WIT state and API version variables
$orgUrl = "https://dev.azure.com/{yourORG}/{yourPROJECT}"
$pat = ""
$queryString = "fields=system.state&api-version=7.0"
$witID = {YourWitID}
$TargetState = {yourWITstateForPRapproval}

# Create header with PAT
$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($pat)"))
$header = @{authorization = "Basic $token"}

# Get the linked wit state
$projectsUrl = "$orgUrl/_apis/wit/workitems/$witID?$queryString"
$field = Invoke-RestMethod -Uri $projectsUrl -Method Get -ContentType "application/json" -Headers $header | ConvertTo-Json | ConvertFrom-Json | Select-Object -ExpandProperty fields

write-host $field

$witstate = $field.'System.State'

Write-Host $witstate

#Compare the wit state with target approval state

if ($witstate -eq "$TargetState" ) {
Write-Host "Check Succeeded"
}
else {
Write-Host ("Check Failed")
exit 1
}

只有构建成功,你的pr才算完成。

================================================== ===============

我想您可以检查 Check for linked work items 的设置.

您可以使用下面的屏幕截图来设置策略。您还可以使用 rest api 设置策略."type":{"id":"40e92b44-2fe1-4dd6-b3d8-74a9c21d0c6e"} 下面正文中的此类型 ID 是设计使然。

发布 https://dev.azure.com/fabrikam/fabrikam- Fiber-git/_apis/policy/configurations?api-version=7.0

Body
{"type":{"id":"40e92b44-2fe1-4dd6-b3d8-74a9c21d0c6e"},
"revision":1,
"isDeleted":false,
"isBlocking":true,
"isEnabled":true,
"settings":{
"scope":[{"repositoryId":"$(yourRepo)",
"refName":"refs/heads/$(yourBranch)",
"matchKind":"Exact"}]}}

enter image description here enter image description here enter image description here

关于azure - 在 Azure Devops 中,如何创建分支策略以要求在合并 PR 之前解析链接的工作项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74805883/

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