TFS 2018 通过脚本在发布定义中为环境设置安全性

Posted

技术标签:

【中文标题】TFS 2018 通过脚本在发布定义中为环境设置安全性【英文标题】:TFS 2018 set security for environment in release definition via script 【发布时间】:2018-06-22 09:02:55 【问题描述】:

我需要创建一个脚本,在给定的发布定义中为给定环境设置安全性(作为输入,我有 TFS url、项目 ID、发布 ID 和环境 ID)。

使用脚本,我需要设置所有环境特定的权限:

管理发布权限 删除发布环境 编辑发布环境 管理部署 管理发布审批者

我在 API 中没有找到任何方法。 我还尝试按照question 中的建议嗅探网络流量。但对于这项任务,它看起来太难了。请求正文中充满了一些标识符(我不知道如何获取它们)。

问题是:如何通过脚本设置环境特定权限? (最好使用 PowerShell Invoke-RestMethod)

【问题讨论】:

【参考方案1】:

我认为目前唯一的方法是使用 tfssecurity.exe! 这是一个很好的指南,还有一个 Excel 下载,可帮助您创建 tfssecurity 语句。您可以在 TFS 文件夹中找到 tfssecurity.exe。 指南链接:https://roadtoalm.com/2014/07/28/add-permissions-with-tfssecuritythe-ultimate-reference/

【讨论】:

感谢您的链接。我简要地看了看,但没有找到任何“发布的东西”。你确定我可以通过 tfssecurity.exe 在发布定义中设置环境的权限吗? 恕我直言,发布的东西只是在另一个视图中构建东西 - 你可以在发布中使用正常的构建任务......代理也是一样的,所以你为什么认为它不应该工作。认为您只需要编写一个调用 exe 的小 powershell。

以上是关于TFS 2018 通过脚本在发布定义中为环境设置安全性的主要内容,如果未能解决你的问题,请参考以下文章

TFS 2018电路板配置 - 缺少列选项

如何在 TFS 2018 的其他现有发布定义中重用发布和环境变量?

带有 TFS 构建工具的 NSIS 安装程序脚本

从 TFS 2015 中的发布定义执行 Selenium java 脚本

在 TFS 中为某些用户注册自定义签入策略

当我取消提交 PBI 时,如何在 TFS 中为其定义默认产品积压迭代?