2017-07-24 68 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,你可以投票和跟進。
相關問題