1

我找不到任何参考 VSTS REST API 的文档来更改发布定义或发布定义环境的安全性。

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

有没有办法做到这一点?

4

2 回答 2

0

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

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

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-version设置为3.2-preview

于 2020-11-09T13:28:19.200 回答
0

没有 REST API 来更改发布定义或发布环境的权限。我提交了一个您可以投票的用户声音。用于发布定义或发布环境的 REST API

于 2017-02-02T06:37:15.113 回答