我想我在这里找到了我需要的东西
https://github.com/Microsoft/vsts-tasks/blob/986f8f5112017474962affe58c9ebaf394fb9354/docs/authoring/commands.md
编辑:
确认这是我需要的。
首先,我遍历所有项目并创建初始的“已初始化”条目,这将确保该条目显示在时间轴中,但不显示为已启动。
guid 似乎是必需的,我先尝试了一个唯一的字符串,但由于某种原因不起作用。
$projectKey = GetSomeProjectKey
$guid = [guid]::NewGuid()
Write-Host $solution.FullName
Write-Host "##vso[task.logdetail id=$($guid);name=$($projectKey);type=build;order=$i;state=Initialized;]"
$guidDictionary.Add("$projectKey", "$guid")
然后在执行工作的循环中,确保将任务设置为 InProgress,设置 Starttime 以确保获得持续时间值
$startDate = "$(Get-Date -Format 'yyyy/MM/dd HH:mm:ss')"
$projectKey = GetSomeProjectKey
Write-Host "##vso[task.logdetail id=$($guidDictionary[$projectKey]);progress=10;state=InProgress;starttime=$($startDate)]"
完成后,关闭任务并设置正确的状态以及完成时间
$endDate = "$(Get-Date -Format 'yyyy/MM/dd HH:mm:ss')"
Write-Host "##vso[task.logdetail id=$($guidDictionary[$projectKey]);progress=100;state=Completed;result=Succeeded;finishtime=$($endDate)]"
在网络界面中,您现在可以查看构建步骤中每个步骤所花费的时间以及设置后的结果。