【问题标题】:TFS api build status and create releaseTFS api 构建状态和创建版本
【发布时间】:2018-02-21 03:57:12
【问题描述】:

大家好,我是 TFS api 世界的新手,所以帮助会很大!

我希望从 tfs 版本 15.112.26307.0 (2017) 服务器收集有关我的项目的信息。

列出我所有项目的 TFS 网址是:http://tfsserv001:8080/tfs/prog/_projects

我的 TFS 测试应用是这样的:http://tfsserv001:8080/tfs/prog/---2017

我希望通过 API 从 Build & Release > Builds 选项卡获取构建状态:

在它成功之后,我希望它创建一个版本:

是否可以通过使用 TFS api 实现以上两个方面?

【问题讨论】:

  • 内置发布触发器有什么不足?
  • @daniel 我只是让它自动化。这是我的偏好。
  • 您可以在版本上设置的触发器自动化的。满足触发条件时创建发布,无需用户干预。
  • 嗨 StealthRT,有什么更新吗?我的解决方案有帮助您解决吗?

标签: tfs visual-studio-2017


【解决方案1】:

有相关的Rest API 来获取构建结果-包括状态信息

 "result": "succeeded",

您还可以根据构建 ID 等信息使用 Rest API 到 create(trigger) a release

有关更多详细信息,您可以查看此博客展示了如何在 powershell 中使用 rest api:


此外,丹尼尔是对的。您可以在创建新的发布定义或在发布定义的triggers 中选择时检查持续部署创建发布并在构建完成时进行部署)。 TFS 服务器将自动处理此问题,无需用户干预。


更新

在门户网站中打开构建结果的示例如下:

在整个 url 中将包含一个 buildID,例如 buildID=49。所以根据上面的截图,你应该使用

 Get http://xxx:8080/tfs/DefaultCollection/ScrumMttApple/_apis/build/builds/49/?api-version=2.0

然后会得到下面的 JSON 结果:

  "id": 49,
  "buildNumber": "20170525.5",
  "status": "completed",
  "result": "succeeded",
  "queueTime": "2017-05-25T19:17:39.6545026Z",
  "startTime": "2017-05-25T19:17:42.2482602Z",
  "finishTime": "2017-05-25T19:25:15.6808731Z",
  "url": "http://win-kev0061habi:8080/tfs/DefaultCollection/bdd4809b-e6dd-4cb8-8e60-762373b20cdc/_apis/build/Builds/49",
  "definition": {
    "path": "\\",
    "type": "build",
    "revision": 5,
    "id": 14,
    "name": "OrdertTest", 
.....

【讨论】:

  • 当我尝试使用 tfsserv001:8080/DefaultCollection 时出现此页面不存在?
  • @StealthRT 它只会在您第一次创建发布定义时出现。如果已经有发布定义,可以编辑,点击发布定义右侧的...,选择triggers,勾选Continuous Deployment,选择对应的构建定义.
  • 我的意思是使用 api 调用。示例表明,但我的网址似乎没有。
  • @StealthRT 它在我这边运行良好。您是否遵循了 api url GET https://{instance}/DefaultCollection/{project}/_apis/build/builds/{buildId}?api-version={version} 中的每个参数,确保您还在 api url 中包含项目(名称或 ID)。
  • 如果您在我的 OP 中注意到我列出了我的 URL 路径。我试过 tfsserv001:8080/DefaultCollection/tfs/prod/---2017/_apis/build/…‌​uilds/20170913.2?api-‌​version=2.0 但这似乎没有显示任何内容,但 找不到页面
猜你喜欢
  • 1970-01-01
  • 2013-09-28
  • 1970-01-01
  • 2018-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-28
  • 2012-09-15
相关资源
最近更新 更多