首页 > 解决方案 > 访问私有项目的 SonarQube 质量门 API

问题描述

如果是私人项目,我如何访问 SonarQube 质量门 API?我尝试为用户发送“用户令牌”作为Authorization承载令牌和基本登录。但是,它没有用。当用户登录时,我可以访问它的唯一方法是从浏览器,即存在登录令牌。也可以从 Postman 进行这样的访问。那么,我怎样才能获得令牌,这是访问 API 的正确方法吗?

标签: apisonarqubeaccess-token

解决方案


令牌确实是访问 API 的正确方式。

1) 您可以通过转到管理 > 安全 > 令牌下的用户(单击列表图标)来获取新令牌,然后输入名称并单击生成

确保复制令牌,因为关闭后您将无法看到它。

2) Postman 可以选择根据请求生成代码(单击“代码”选项)。如果它通过 Postman 工作,它应该在您的代码中使用复制的请求工作。

3) 作为最后的手段,如果它不起作用,这是我编写的用于发送 Get 请求的 Groovy 函数。

// Returns response of SonarQube web API call with admin auth in text format
def getFromApi(String getURL){

    def Res = ("curl -u "+AuthenticationToken+": "+getURL).execute().text

    if (Res){
        return Res
    }

    else{ 
        return "error"
    }
}

对于发布请求,您只需要在身份验证令牌之前添加 -X POST 。修改它以满足您的需要。希望能帮助到你!


推荐阅读