【问题标题】:TFS 2017 Update1: Programmatically updating TFS Release Definitions removes server phase (manual intervention)TFS 2017 Update1:​​以编程方式更新 TFS 版本定义删除服务器阶段(手动干预)
【发布时间】:2017-06-16 18:14:30
【问题描述】:

在 TFS 2017 Update 1 中,使用 REST api 以编程方式下载发布定义后,我编辑了下载的 json 并以编程方式再次上传。

变化是存在的。但是,更改后的环境中缺少手动干预的服务器阶段。

其他人可以复制吗?

下载和上传release定义的程序C#在我的github页面githubpage

【问题讨论】:

  • 您如何判断人工干预是否缺失?您只是没有找到相关任务还是该任务不再工作?你可以试试这个教程--use manual Intervention (Task).
  • @Patrick-MSFT:发布定义有人工干预阶段。但是在以编程方式更新之后,该阶段就丢失了。更新后,我可以看到该阶段已被删除。同样在历史记录中,这些步骤也被删除了。
  • 不仅服务器阶段丢失,而且在第一个服务器阶段之后定义的任何进一步的代理/服务器阶段。
  • 你的意思是如果你现在创建一个新的发布定义,服务器阶段也会丢失吗?旧的另一个版本定义(无需您更新)怎么样?
  • 让我再解释一下。我已经手动创建了一个发布定义。我在其中定义了 5 个环境 - Dev、Test、UAT、Prod、Stable。在每个环境中,我都有一个包含少量任务的代理阶段,然后是一个人工干预的服务器阶段,然后是一个包含更多任务的代理阶段。我有一个 C# 程序,它将发布定义下载为 json。我在 json 中添加了一些变量,并使用 C# 程序将 json 上传回来。以这种方式更新后,我添加的新变量出现了。但是服务器阶段和它下面的代理阶段完全丢失了。

标签: tfs release-management ms-release-management


【解决方案1】:

更新发布定义时使用api-version=3.2-preview.3 而不是3.0-preview.2

【讨论】:

  • 使用 TFS 2017 Update 1 RTM 我看到可用的 api 版本是 3.1-preview.3 而不是 3.2-preview.3。我将尝试使用 3.1-preview.3,看看效果如何..
  • 3.1-preview.3 解决了这个问题。标记你的答案。
猜你喜欢
  • 2011-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多