2016-11-11 12 views
2

pythonとREST APIを使用して、すべてのQuality Gateをループします。REST APIを通じてデフォルトのQuality Gateにアクセスできません

「Good」と「Excellent」の2つの異なる品質ゲートを持つ5つのプロジェクトがあります。

2「良品」品質ゲートを使用するプロジェクトと「優秀」品質ゲートを使用する3プロジェクト。 "Excellent"と設定された3つのプロジェクトは、デフォルトのQuality Gateを使用しています。

  • 「優秀」のプロジェクト数をリクエストすると、回答は0になります。

デフォルトから「優秀」に変更する場合品質ゲート正しい番号を取得します。3!

デフォルトの品質ゲートのAPIはありません。

デフォルトゲートウェイの名前を検出する方法はありません。

「デフォルト」が「優秀」に解決されるべきではありませんか?

for gate in gates['qualitygates']: 

    qualId = gate['id'] 
    projs = sonarH.get_search_quality_gates(qualId) 
    theProjects = projs['results'] 

    print("Quality Gate Name: " + gate['name'] + " Count: " + str(len(theProjects))) 

出力:

Quality Gate Name: ST :: Excellent Quality Count: 0 
Quality Gate Name: ST :: Good Quality Count: 2 

答えて

1

予想される動作です。 Webサービスは、ゲートに明示的に関連付けられているプロジェクトの数を返しますが、それを使用するプロジェクトの有効な数は返しません。このため、デフォルトとしてマークされているゲートに対して常にゼロが返されます。

代わりに、Webサービスapi/qualitygates/get_by_project?projectKey=[the_key]を使用して、各プロジェクトで使用する品質ゲートを要求することもできます。このWebサービスは「内部」としてマークされているため、後方互換性を保たずに将来のバージョンで変更が適用されることに注意してください。

+0

このAPIにアクセスしようとしましたが、「あなたが探していたページが存在しません」 "デフォルト"ゲートウェイにアクセスする他の方法はありますか? –

+0

私が言及したWebサービスは、バージョン6.1で導入されました:https://sonarqube.com/web_api/api/qualitygates/get_by_project –

関連する問題