gpt4 book ai didi

git - 我可以在 Azure DevOps 中设置默认安全和/或分支策略吗?

转载 作者:IT王子 更新时间:2023-10-29 01:00:58 28 4
gpt4 key购买 nike

我们正在使用 Visual Studio Team Services对于我们的 git 服务器。每个 Azure DevOps 项目都托管一个或多个 git 存储库。我们有保持 masterdevelop 分支锁定的惯例,但让其他分支保持不受限制。

我希望能够在项目级别应用我们的标准规则,并将它们作为其中所有 repo 协议(protocol)的默认值:

  • masterdevelop 应该有他们的安全拒绝 Force Push
  • master 分支需要通过代码审查政策提出 merge 请求

到目前为止,我发现的唯一选项是通过网络界面(甚至不是 API!)手动设置每个存储库。我们至少有 200 多个存储库,并且希望避免手动设置每个存储库和一个分支。

如何按分支名称设置默认代码安全和代码策略?还是通过手动以外的任何方式?

最佳答案

  • 要为跨团队项目(项目级别)的多个 git 存储库设置最少审阅者的分支策略,您可以使用 REST API。详细步骤如下:

<强>1。 Get all git repositories用于团队项目。

GET https://account.visualstudio.com/DefaultCollection/ProjectName/_apis/git/repositories?api-version=1.0

然后从输出中保存每个 git repo id 和名称。

<强>2。通过 repo id 和 create branch policy 在代码中循环您在步骤 1 中获得的存储库对于每个 master 分支(假设此处的最少审阅者数量为 2)。

POST https://account.visualstudio.com/DefaultCollection/ProjectName/_apis/policy/configurations?api-version=2.0-preview

应用程序/json:

{
"isEnabled": true,
"isBlocking": true,
"type": {
"id": "fa4e907d-c16b-4a4c-9dfa-4906e5d171dd"
},
"settings": {
"minimumApproverCount": 2,
"creatorVoteCounts": false,
"allowDownvotes": false,
"scope": [
{
"refName": "refs/heads/master",
"matchKind": "Exact",
"repositoryId": "{repo id}"
}
]
}
}
  • 关于设置分支安全(force push as deny),没有这样的REST API,我发了一个用户声音Set branch security by REST API ,您可以投票和跟进。

关于git - 我可以在 Azure DevOps 中设置默认安全和/或分支策略吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45288020/

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