我在Azure上使用自定义构建代理运行构建(准确地使用Unity3d)我在构建计算机上的.txt文件中生成构建的输出,并希望在构建期间创建的工作项中包含内容。 / p>
示例:
现在我使用的是PowerShell脚本
$content = [IO.File]::ReadAllText("$(Build.Repository.LocalPath)\BuildProjectPC\Build.log")
Write-Host "##vso[task.setvariable variable=logContent;]$content"
要格式化我使用System.Description = $logContent
的错误,但PS中变量的内容由于某种原因不会在错误项目中结束(它只包含" $ logContent")。
如何解决这个问题的方法或方向,分别如何将信息反馈给vsts?
答案 0 :(得分:1)
用于创建工作项的变量值在运行构建步骤之前已初始化,因此您无法在用于创建工作项的构建步骤期间指定动态变量或更改变量值。 您可以按照以下步骤进行验证:
日志结果:
您的要求的解决方法是,您可以通过PowerShell使用Rest API create a work item和associated to build(在其他步骤结束时添加PowerShell步骤并选中“始终运行”选项)。
将工作项关联到构建:
请求类型:补丁
请求网址:https://[your vsts account] .visualstudio.com / DefaultCollection / _apis / wit / workitems / [工作项ID]?api-version = 1.0
内容类型:应用/ JSON贴片+ JSON
体:
[
{
"op": "add",
"path": "/relations/-",
"value": {
"rel": "ArtifactLink",
"url": "vstfs:///Build/Build/[build id]",
"attributes": {
"comment": "Making a new link for the dependency"
}
}
}
]
您可以参考此博客中的PowerShell脚本来创建和关联工作项。
答案 1 :(得分:0)