Azure Devops 可以运行脚本来确定拉取请求的默认目标分支吗?

问题描述 投票:0回答:1

问题: 如果我要找到一个给出我想要的分支名称的脚本/命令...当创建新拉取请求以设置默认目标分支时,Azure Dev Ops 是否能够运行该命令/脚本?

详情: 我相当有信心,我过去使用过拉取请求系统,90% 以上的时间都正确选择父分支作为拉取请求的目标分支。

现在我正在使用 Azure Dev Ops,但它没有...Azure dev ops 对于所有拉取请求都有一个默认目标分支。我正在寻找一种方法来使这种动态......

我不久前发现了这个相关问题: 在 Visual Studio Team Services 中默认向父分支而不是主分支发出拉取请求?

我还发现了一些脚本,可以通过解析/grep git 命令的结果相当可靠地确定父分支,例如: git log --first-parent git log --first-parent 或者 git show-branch

以下是一些示例脚本: Git log 第一个父级并关注

这是另一个示例脚本: https://gist.github.com/joechrysler/6073741

我在此处了解如何设置单个静态目标分支: https://learn.microsoft.com/en-us/azure/devops/repos/git/change-default-branch?view=azure-devops#set-a-new-default-branch 我希望它是基于脚本的动态。

我不是 Azure Dev Ops 项目的管理员,如果 Azure Dev Ops 可以在创建拉取请求时运行脚本来设置目标分支,我将准备好脚本并将其建议给管理员。

azure-devops git-branch pull-request
1个回答
0
投票

在Azure DevOps中,每次创建新的拉取请求时,都需要指定目标分支。如果不指定,则默认将当前仓库的默认分支(如

master
main
等)设置为目标分支。

无法更改默认目标分支,它将始终是存储库的默认分支,但您可以将存储库的默认分支从一个分支更改为另一个分支。


有一个天蓝色的 DevOps CLI 命令“

az repos pr create
”可以在脚本中运行来创建新的拉取请求。在此命令中,您可以指定目标分支和源分支。

您可以在本地手动运行此命令,或使用命令任务(例如Bash任务PowerShell任务等)在Azure Pipelines中运行它。

下面是运行

az repos pr create
命令的示例脚本。

#!/bin/bash

pat="{PAT}"
org="{organization}"
proj="{project}"
repo="{Repository}"
sourceBranch="{sourceBranch}"
targetBranch="{targetBranch}"
title="{title}"

echo $pat | az devops login --org https://dev.azure.com/$org

az repos pr create -p $proj -r $repo -s $sourceBranch -t $targetBranch --title "$title"
© www.soinside.com 2019 - 2024. All rights reserved.