PythonでSonarQube WebAPIを叩くなら「python-sonarqube-api」が便利

SonarQubeは品質情報を統合的に可視化するのに便利なツールです。そんなSonarQubeから静的解析結果などのデータを抽出したいときに、WebAPIを利用することができます。

ただ、WebAPIをそのまま使うと面倒な部分もあったりします。例えばIssues(SonarQubeに登録された指摘1件1件)をWebAPIで抽出する場合、一度に取得する上限があり、数千単位の指摘がある場合は複数回に分けて取得するような実装をする必要があります。

そこで便利なのが、SonarQube WebAPIのWrapperである「python-sonarqube-api」です。これを使うことで、先述のような部分を考慮することなく指摘一覧が拾えたり、他にもメソッドを実行するだけで望む結果が簡単に得られるなどのメリットがあります。

サンプルとして、SonarQubeに登録された1つのプロジェクトで検出されている指摘の一覧を取得するコードを記します。

from sonarqube import SonarQubeClient

url = "SonarQubeのURL"
token = "アクセストークン"
sonar = SonarQubeClient(sonarqube_url=url, token=token)

issues = list(sonar.issues.search_issues(componentKeys="プロジェクト(コンポーネント)のキー名"))
print(issues)

コードはたったのこれだけです。実行すると、指摘情報がJSON形式で返ってきます。必要に応じてJSONを加工して個々の用途で使用する、といった使い方になります。

python-sonarqube-api
Python wrapper for the SonarQube and SonarCloud API.
Welcome to SonarQube Client with Python’s documentation! — SonarQube Client with Python 2.0.0 documentation

コメント

タイトルとURLをコピーしました