VSTS REST API用于更改发行版定义或发行版定义环境的安全权限

时间:2017-02-01 21:02:41

标签: azure-devops devops ms-release-management azure-pipelines-release-pipeline azure-devops-rest-api

我找不到任何引用VSTS REST API的文档来更改版本定义或版本定义环境的安全性。

我正在尝试创建一个自动化脚本来创建一个Release定义,它将接受用户列表作为参数,并为Release Release和Release Definition环境分配有限的权限。

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

没有REST API可以更改发布定义或发布环境的权限。我提交了您可以投票的用户语音。 REST API for release defintion or release enviornment

答案 1 :(得分:0)

此文档对我有用: https://github.com/MicrosoftDocs/azure-devops-docs/blob/master/docs/integrate/previous-apis/security/acls.md

使用TFS 2017更新2,API版本3.2,该API对我有效。

POST https://mytfsserver/mycollection/_apis/accesscontrollists/c788c23e-1b46-4162-8f5e-d7585343b5de

连身:

{
  "value": [
    {
      "inheritPermissions": true,  
      "token": "<your team project GUID>/406",
      "acesDictionary": {
        "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1217126478-2421225543-2840439466-2364649907-1-111749626-101504790-2465118485-2523779884": {
          "descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1217126478-2421225543-2840439466-2364649907-1-111749626-101504790-2465118485-2523779884",
          "allow": 2071
        }
      }
    }
  ]
}

对于环境,您必须将令牌更改为以下内容: “您的团队项目GUID / 406 / Environment / 624”

406是版本ID,624是环境ID

此查询对于列出ReleaseManagement中的所有条目很有用:

https://mytfsserver/mycollection/_apis/accesscontrollists/c788c23e-1b46-4162-8f5e-d7585343b5de

使用有关发行版和环境定义的安全权限,看看响应中会发生什么。

注意:c788c23e-1b46-4162-8f5e-d7585343b5de =用于发布管理的名称空间ID

为了使用API​​创建发布定义,我不得不使用预览API,因此 api版本设置为 3.2-preview