无法 save/modify 在 VSTS 中导入构建定义

Unable to save/modify imported build definition in VSTS

我正在尝试将构建从一个项目导出到另一个项目。项目在不同的集合中。我有集合管理员,所以 perms 应该很好,但只是为了确保我授予自己构建和项目管理员权限。

我在源项目中使用 VSTS UI 将构建导出为 json,然后导入到目标项目中。所有任务都存在,但参数显示为灰色。我也不能 enable/disable 任务。有一些参数需要填写比如build agent。我能够 select 合适的代理人。 UI 表示我需要在保存之前解决,此时我没有未完成的项目。保存、丢弃、队列选项都是灰色的。

我可以添加一个新阶段,但我无法向该阶段添加任何任务。我还尝试调出 yaml 并将其与源项目中的 yaml 进行比较,没有区别。

为什么我不能保存导入的构建定义?

在我试图导入的 json 中替换项目和集合 ID 的所有实例后导入成功。此时 post 必须手动完成这些更改。

更新:

我尝试只删除有问题的属性,而不是替换它们,这奏效了。我创建了一个简单的脚本来清除这些属性:

Param(
[parameter(Mandatory=$true)]
[alias("p")]
$path
)

$removeProperties = @("triggers","metrics","_links","authoredBy","queue","project")
$json = Get-Content -Path $path -Raw | ConvertFrom-Json

foreach ($property in $removeProperties) {
  $json.PSObject.Properties.Remove($property)
}

$json | ConvertTo-Json -Depth 100 | Set-Content -Path $path -Force