我想我已經找到了我需要在這裏 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,則設置開始時間,以確保你得到一個持續時間值
$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)]"
當您完成後,關閉任務並與finishtime
$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)]"
在Web界面中,你現在可以看到有多少時間在每個步驟花費在構建步驟一起的結果,如果你把它沿設置適當的狀態。
像這樣的東西? https://blogs.technet.microsoft.com/heyscriptingguy/2011/01/29/add-a-progress-bar-to-your-powershell-script/ – Lennart