代码之家  ›  专栏  ›  技术社区  ›  Ashutosh

如何在bash中使用webapi进行sonarkube?

  •  1
  • Ashutosh  · 技术社区  · 6 年前

    我想写一个shell脚本来登录并获取一个项目的bug。我想要仪表盘的值,比如bug、漏洞、代码气味和覆盖率。 仪表板的URL是: http://www.example.com/dashboard?id=示例\u project\u name

    以下是我的尝试: curl get-u用户名:密码http://www.example.com/api/issues/search?project=example_project_name&types=bug

    所以,这将打印所有数据。我只需要下图中显示的值:

    基本上,我想实现的是,我在Jenkins中使用Sonarkube插件,因此我使用扩展电子邮件插件来发送用于作业执行的电子邮件,在该电子邮件中,我想给出详细信息,如生成后存储库中的错误数。

    还有别的办法吗?http://www.example.com/dashboard?id=example_project_name.

    以下是我的尝试: curl GET -u username:password http://www.example.com/api/issues/search?project=example_project_name&types=BUG .

    所以,这将打印所有数据。我只需要下图中显示的值:

    Sonar project dashboard

    基本上,我想实现的是,我在Jenkins中使用Sonarkube插件,所以我使用扩展的电子邮件插件发送电子邮件以执行作业,在电子邮件中,我想给出详细信息,比如构建后存储库中的错误数。

    还有别的办法吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Ashutosh    6 年前

    最后,在仔细阅读了文档之后,我得到了这些值。这是我创建的脚本。

    #!/bin/bash
    vul=$(curl -sX GET -u username:password 'http://www.example.com/api/issues/search?projectKeys=example_project_name&types=VULNERABILITY');
    bug=$(curl -sX GET -u username:password 'http://www.example.com/api/issues/search?projectKeys=example_project_name&types=BUG');
    no_vul=$(echo $vul | jq -r .total);
    no_bug=$(echo $bug | jq -r .total);
    echo "Total number of VULNERABILITIES are $no_vul"
    echo "Total number of BUGS are $no_bug"
    

    下面是API documentation URL .