2017-07-24 102 views
1

我们使用Visual Studio Team Services作为我们的git服务器。每个VSTS项目托管一个或多个git仓库。我们有保持masterdevelop分行锁定的惯例,但让其他分行保持不受限制。我可以在Visual Studio Team Services(Visual Studio Online)中设置默认安全性和/或分支策略吗?

我希望能够在项目层面的应用我们的标准规则,让他们可以在其中全部回购的默认值:

  • masterdevelop应该有自己的保安否认Force Push
  • master分公司需要通过代码审查政策拉动请求

到目前为止,我已经找到了唯一的选项是手动通过Web界面(甚至不需要API!)设置这些每个存储库。我们至少有200多个存储库,并希望避免必须逐个手动设置每个存储库和分支。

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

回答

3
  • 为了在团队项目(项目级别)中为多个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.循环您在步骤1中的代码通过回购ID得到了仓库,并create branch policy每个主分支(假设评审的最低数量为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}" 
        } 
       ] 
    } 
} 
  • 有关设置分支机构的安全性(力推为否定),没有这样的REST API,和我贴的用户语音Set branch security by REST API,你可以投票和跟进。
相关问题