我可以在 Jenkins 中提取 TFS 服务挂钩触发消息吗
Can I extract TFS Service hook trigger message in Jenkins
我正在尝试通过 TFS 服务挂钩触发 jenkins,我想使用 jenkin 提取签入信息以使用 powershell 脚本创建日志。我已将其设置为在签入时触发 jenkins。但我想不出一种方法来解析从 TFS 服务挂钩发送的消息信息。查看 https://github.com/jenkinsci/tfs-plugin/blob/master/README.md 我可以看到在触发器上创建的环境变量很少,但我想提取一些签入信息,例如签入的用户名和签入的 tfs id 等。TFS_USERNAME只记录Jekins中配置访问tfs的账户用户名
您可以使用 TFS REST API 在 Jenkins 端获取变更集。 API如下:
GET http://({server:port})/DefaultCollection/_apis/tfvc/changesets/{id}?api-version=1.0
没有任何方法可以提取 Jenkins 在构建触发器中收到的挂钩。但是如果Jenkins job在job触发后下载最新的源码到本地,你想要的check in the changes的用户等信息已经在本地了。您可以简单地 运行 tf changeset /latest /noprompt
来获取此信息。你也可以安装TFS Power Tools and then create a powershell script to get these information via TFS Powershell Command。例如:
add-pssnapin Microsoft.TeamFoundation.PowerShell
$cs = Get-TfsChangeset -Latest
Write-Host $cs.CommitterDisplayName
Write-Host $cs.Committer
我正在尝试通过 TFS 服务挂钩触发 jenkins,我想使用 jenkin 提取签入信息以使用 powershell 脚本创建日志。我已将其设置为在签入时触发 jenkins。但我想不出一种方法来解析从 TFS 服务挂钩发送的消息信息。查看 https://github.com/jenkinsci/tfs-plugin/blob/master/README.md 我可以看到在触发器上创建的环境变量很少,但我想提取一些签入信息,例如签入的用户名和签入的 tfs id 等。TFS_USERNAME只记录Jekins中配置访问tfs的账户用户名
您可以使用 TFS REST API 在 Jenkins 端获取变更集。 API如下:
GET http://({server:port})/DefaultCollection/_apis/tfvc/changesets/{id}?api-version=1.0
没有任何方法可以提取 Jenkins 在构建触发器中收到的挂钩。但是如果Jenkins job在job触发后下载最新的源码到本地,你想要的check in the changes的用户等信息已经在本地了。您可以简单地 运行 tf changeset /latest /noprompt
来获取此信息。你也可以安装TFS Power Tools and then create a powershell script to get these information via TFS Powershell Command。例如:
add-pssnapin Microsoft.TeamFoundation.PowerShell
$cs = Get-TfsChangeset -Latest
Write-Host $cs.CommitterDisplayName
Write-Host $cs.Committer