我可以在Jenkins中提取TFS服务挂钩触发器消息

时间:2016-11-10 03:04:06

标签: jenkins service tfs hook webhooks

我试图通过TFS服务挂钩触发jenkins,我想使用jenkin提取签入信息以使用powershell脚本创建日志。我已将其设置为在签入时触发jenkins。但我无法找到解析从TFS服务挂钩发送的消息信息的方法。查看https://github.com/jenkinsci/tfs-plugin/blob/master/README.md我可以看到在触发器上创建的环境变量很少,但我想提取一些签入信息,如在用户名中签入,tfs id已经签入等等.TFS_USERNAME仅记录用户名配置为访问Jekins中的tfs的帐户

2 个答案:

答案 0 :(得分:0)

您可以使用TFS REST API在Jekins方面获得一个changset。 API如下:

GET http://({server:port})/DefaultCollection/_apis/tfvc/changesets/{id}?api-version=1.0

答案 1 :(得分:0)

没有办法提取Jenkins在构建触发器中收到的钩子。但是,如果Jenkins作业在作业被触发后将最新的源代码下载到本地,那么您所需的信息(例如签入更改的用户)就已在本地。您可以简单地运行tf changeset /latest /noprompt来获取此信息。您还可以安装TFS Power Tools,然后创建一个powershell脚本,通过TFS Powershell Command获取这些信息。例如:

add-pssnapin Microsoft.TeamFoundation.PowerShell
$cs = Get-TfsChangeset -Latest
Write-Host $cs.CommitterDisplayName
Write-Host $cs.Committer