【发布时间】:2019-04-01 01:18:50
【问题描述】:
我正在尝试在我的一个发布定义中使用 Release.RequestedForEmail 发布变量来传递给 Powershell 脚本,但我没有收到该值。当我查看日志-> 初始化作业任务时,我什至没有看到该变量被定义。
我正在使用 Powershell 脚本向触发发布的用户发送一些电子邮件,他/她需要收到电子邮件才能批准/拒绝下一个手动干预任务。
【问题讨论】:
标签: tfs
我正在尝试在我的一个发布定义中使用 Release.RequestedForEmail 发布变量来传递给 Powershell 脚本,但我没有收到该值。当我查看日志-> 初始化作业任务时,我什至没有看到该变量被定义。
我正在使用 Powershell 脚本向触发发布的用户发送一些电子邮件,他/她需要收到电子邮件才能批准/拒绝下一个手动干预任务。
【问题讨论】:
标签: tfs
嗯,这很奇怪,因为这个发布变量存在于Default and custom release variables and debugging 下。
作为一种解决方法,您可以使用 RELEASE.REQUESTEDFOR 变量并自定义电子邮件地址。
我不知道这是否是您正在寻找的,但它对我有用。
更新:
我编写了以下函数,它获取用户 ID 并从 TFS 返回电子邮件地址。
function getEmailAdressByUserID($userID)
{
$tfsURL = "http://{server}:{port}/{organization}/{project}"
(Invoke-RestMethod -Method Get -Uri "$tfsURL/_apis/Identities/$userID" -UseDefaultCredentials).Properties.Mail
}
用法:
getEmailAdressByUserID -userID $(RELEASE.DEPLOYMENT.REQUESTEDFORID)
【讨论】: