簡體   English   中英

如何輪詢質量門執行狀態?

[英]How to poll the quality gate execution status?

我想使用REST api調用來輪詢SonarQube 6.3實例的質量門執行狀態。 我經歷了一些api電話,但沒有給我預期的結果。

我試圖使用這些網址:

  1. HTTP://本地主機:9000 / API /資源
  2. HTTP://本地主機:9000 / API /組件

但我總是得到這樣的答復:

{"errors":[{"msg":"Unknown url : /api/resources"}]}

如何通過REST輪詢質量門執行狀態?

http:// localhost:9000 / web_api列出了服務器上可用的Web服務端點,並提供了每個端點的文檔。 在我的6.3副本中,“api / resources”的文檔說

自6.3以來刪除,請改用api / components和api / measures

你說你已經嘗試了http:// localhost:9000 / api / components並得到了一個錯誤。 那是因為那里實際上沒有網絡服務。 您必須為所需的服務添加限定符,例如/api/components/search ,如該組服務的文檔中所述: http:// localhost:9000 / web_api / api / components

事實上,正確的SonarQube網絡應用程序中有5個部分。 它們可以看作是domain/api/controller/action?parameters ,例如http://localhost:9000/api/components/show?componentKey=blue

所以我們有:

  1. domain :在示例中由http://localhost:9000表示,它是您可以調用SonarQube服務器的地址
  2. api :在示例中由/api表示,它是SonarQube中所有Web服務的基本路徑
  3. controller :在示例中由/components表示,它表示關於給定主題的Web服務池(問題,配置文件,組件等)
  4. action :在示例中由/show表示,它是您可以通過Web服務執行的單元操作,例如:show,search,list,backup,delete等。
  5. 參數 :在示例中由?componentKey=blue表示,它們並不總是強制性的,但通常允許您指定更多信息以獲得更精確的結果

你在這里忘記的是指定一個動作

http://localhost:9000/api/project_analyses/search?project=myProjectname&category=QUALITY_GATE

此查詢返回了我的質量門的狀態。 這里我提到項目名稱為myProjectname

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM