我正在尝试将构建从一个项目导出到另一个项目。项目位于不同的集合中。我有collection admin,所以perms应该不错,但是请确保我已授予自己build和project admin。
我在源项目中使用VSTS UI将构建导出为json,然后导入到目标项目中。存在所有任务,但参数显示为灰色。我也无法启用/禁用任务。有一些参数需要填写,例如构建代理。我能够选择合适的代理商。此时,我没有任何未完成的项目表明UI需要在保存之前解决。保存,丢弃,队列选项全部变灰。
我可以添加一个新阶段,但是不能在该阶段添加任何任务。我还尝试提出yaml,并将其与源项目中的yaml进行比较,没有差异。
为什么我不能保存导入的构建定义?
答案 0 :(得分:0)
在我尝试导入的json中替换了项目的所有实例和集合ID之后,导入成功。在撰写本文时,这些更改必须手动完成。
更新:
我尝试仅删除有问题的属性,而不是替换它们,这确实起作用。我创建了一个简单的脚本来清除这些属性:
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