如何从Sonarqube API获取项目语言



使用Sonarqube API如何获得项目的主要编程语言?或所有项目编程语言的列表?

每个声纳克公制定义文档:

ncloc_language_distribution - 语言分发的代码的非评论行。

与Sonarqube webapi api/superioners (嵌入在Sonarqube服务器中的文档(一起使用,然后您应该很好。

试图解决相同的问题,我想出了一个小的shell脚本,该脚本写下了所有Sonarqube项目键的列表和给定项目的语言分布:

#!/bin/bash
API="http://my.sonar-server.com:9000/sonar/api"  ### adjust this!
API_LANG_DIST="$API/measures/component?metricKeys=ncloc_language_distribution"
# get a list of all project keys:
projKeys=$(curl -s "$API/projects/index" | jq -r '.[].k')
# for each project key, get the language distribution metric:
for key in ${projKeys}; do
    langDist=$(curl -s "${API_LANG_DIST}&componentKey=${key}" | jq '.component.measures[0].value')
    printf "%-80s%-80sn" ${key} ${langDist}
done

输出将是这样的:

com.mycompany:projectA      "grvy=75;java=4091"
com.mycompany:projectB      "css=1966;java=52770;js=11460;less=1862"
com.mycompany:projectC      "css=40185;java=11451;js=13757"

注意:此脚本使用jq JSON解析实用程序。如果没有可用的话,则可以通过sudo yum install jq进行安装。

(在Sonarqube 5.6.6和6.7.0上测试(

最新更新