![](/img/trans.png)
[英]Azure DevOps code coverage with .coverage for PR and Cobertura for full report
[英]Getting PR Code Coverage diff status via Azure DevOps REST API
我的 Azure DevOps 分支設置了代碼覆蓋率策略,因此 PR 必須包含 80% 的差異覆蓋率(即覆蓋 80% 的修改行)。 無論差異覆蓋策略是否通過,我都試圖通過 REST API 進行拉取。
我嘗試使用GET https://dev.azure.com/{organization}/{project}/_apis/policy/evaluations?artifactId=vstfs:///CodeReview/CodeReviewId/{projectId}/{pullRequestId}&api-version=6.1-preview.1
,但在響應中,代碼覆蓋策略的狀態是“排隊”。
我相信這與以下事實有關,即在我的 PR 的 Checks 部分,我看到兩個代碼覆蓋率檢查:一個檢查說 myrepo/codecoverage 是“等待”狀態,另一個說“我的 repo 的覆蓋狀態檢查成功”
上面的 API 正在返回等待代碼覆蓋檢查,但不是成功的檢查。 這是因為代碼覆蓋被視為外部服務嗎? 如果是這樣,我怎樣才能得到結果?
我可以使用此 API 獲得完整的代碼覆蓋率: https://dev.azure.com/{organization}/{project}/_apis/test/codecoverage?buildId={buildId}&flags=7&api-version=6.1-preview.1
: https://dev.azure.com/{organization}/{project}/_apis/test/codecoverage?buildId={buildId}&flags=7&api-version=6.1-preview.1
}/ https://dev.azure.com/{organization}/{project}/_apis/test/codecoverage?buildId={buildId}&flags=7&api-version=6.1-preview.1
}/ https://dev.azure.com/{organization}/{project}/_apis/test/codecoverage?buildId={buildId}&flags=7&api-version=6.1-preview.1
test/ https://dev.azure.com/{organization}/{project}/_apis/test/codecoverage?buildId={buildId}&flags=7&api-version=6.1-preview.1
api- https://dev.azure.com/{organization}/{project}/_apis/test/codecoverage?buildId={buildId}&flags=7&api-version=6.1-preview.1
,但我再次尋找差異覆蓋范圍。
或者分支策略設置有問題,以至於代碼覆蓋率檢查沒有更新本身,而是留下等待檢查並產生單獨的檢查? 謝謝。
您看到兩個代碼覆蓋率檢查的原因是因為myrepo/codecoverage
您指定的myrepo/codecoverage
狀態檢查。 所以它一直在等待從管道發布的代碼覆蓋狀態。 你可能手動輸入myrepo/codecoverage
的Status to check
現場,並在大寫字母myrepo
。
如本文檔所述,分支策略頁面上的Status to check
字段是{name-of-your-pipeline/codecoverage}
。 但是該文件沒有明確說明name-of-your-pipeline
是小寫的。 如果您的驗證管道名稱中包含大寫字母,並且您手動輸入Status to check
的Status to check
字段,則需要將其更改為小寫。
我一開始遇到了同樣的問題,因為我不知道{name-of-your-pipeline/codecoverage}
應該是小寫的。 我在字段中用大寫字母手動輸入了我的管道名稱。
實際上,如果您的驗證管道在設置Status check
分支策略之前已經執行並發布了覆蓋率。 Status to check
的Status to check
值將自動查找覆蓋狀態並將其顯示在下拉列表中。 見下文。 您可以直接選擇它,而無需手動輸入值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.