【问题标题】:Can I extract TFS Service hook trigger message in Jenkins我可以在 Jenkins 中提取 TFS 服务挂钩触发消息吗
【发布时间】:2016-11-10 03:04:05
【问题描述】:

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

【问题讨论】:

  • “tfs id”是什么意思?
  • tfs 项的用户故事/Bug 编号

标签: jenkins service tfs hook webhooks


【解决方案1】:

您可以使用TFS REST API 来获取 Jekins 方面的 changset。 API如下:

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

【讨论】:

  • 那将在 Jenkins 中设置,对吗?我不能在 Jenkins 中使用 TFS 挂钩请求消息正文吗?它已经有了我需要的信息。
  • TFS 提供 REST API,您可以从 API 中获取 TFS 相关信息。签入信息仅存在于 TFS 中。
【解决方案2】:

没有任何方法可以提取 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-09
    • 1970-01-01
    • 2018-04-18
    • 1970-01-01
    • 2015-03-09
    • 2019-04-02
    • 1970-01-01
    相关资源
    最近更新 更多