【问题标题】:How to get build job timeout duration for VSTS free subscription via API?如何通过 API 获取 VSTS 免费订阅的构建作业超时时间?
【发布时间】:2017-04-04 20:23:38
【问题描述】:

由于 30 分钟的固定构建时间,VSTS 构建任务在免费订阅中被取消。如果他正在使用 vsts 免费订阅,我需要向用户显示控制台消息。是否有获取此信息的 API?是否可以通过 vso-node-api 库获取此信息?

【问题讨论】:

  • 找不到通过 vso-node-api 获取超时的方法。只需在 BuildDefinition (visualstudio.com/en-us/docs/integrate/extensions/reference/…) 中找到 jobTimeoutInMinutes 成员
  • JobTimeoutInMinutes 在免费订阅中默认设置为 60,但在执行构建时会在 30 分钟内取消。我会尝试从构建合同中获取价值并更新您。
  • 是的,我也得到了 60。似乎不是获得该超时的相关 API。
  • 是的,我也遇到了。

标签: tfs azure-devops tfsbuild azure-pipelines-build-task azure-devops-rest-api


【解决方案1】:

不,没有任何 API 可以获取此信息。作为替代方法,您可以在用户使用托管池进行构建时显示警告消息以提醒他们。

您可以使用 VSTS Node API 来获取构建的池名称:

let buildid: number = 1;
let projectname: string = "Project";
let build: bi.Build = await vstsBI.getBuild(buildid, projectname);
console.log(build.queue.name);

对于 buildid 和 project,从构建环境变量中获取。

【讨论】:

  • 谢谢 Eddie,有没有 API 可以识别用户是否在使用托管池?
  • 还是只显示固定的警告信息?
  • @BandR 您希望何时显示此消息?在构建定义设置中还是在构建过程中?
  • 作为构建过程中的日志条目。
  • @BandR 一个简单的方法是在构建过程中获取环境变量“AGENT_MACHINENAME”,托管的构建代理通常命名为“TASKAGENTX-XXXX”。
猜你喜欢
  • 2018-05-24
  • 2019-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-03
  • 2013-03-11
  • 2019-07-02
  • 1970-01-01
相关资源
最近更新 更多