访问私人项目的QUBE质量门API

访问私人项目的QUBE质量门API,api,sonarqube,access-token,Api,Sonarqube,Access Token,如果是私人项目,如何访问SonarQube quality gate API?我尝试将用户令牌作为授权承载令牌和基本登录发送给用户。然而,它没有起作用。当用户登录时,我只能通过浏览器访问它,即存在登录令牌。从邮递员那个样访问也是可能的。那么,我如何获得令牌呢?这是访问API的正确方法吗?令牌确实是访问API的正确方法 1您可以通过转到获取新令牌 管理>安全>令牌下的用户单击列表图标,然后输入名称并单击生成 请确保复制令牌,因为一旦关闭,您将无法看到它 2邮递员可以根据请求生成代码,单击“代码”选

如果是私人项目,如何访问SonarQube quality gate API?我尝试将用户令牌作为授权承载令牌和基本登录发送给用户。然而,它没有起作用。当用户登录时,我只能通过浏览器访问它,即存在登录令牌。从邮递员那个样访问也是可能的。那么,我如何获得令牌呢?这是访问API的正确方法吗?

令牌确实是访问API的正确方法

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

请确保复制令牌,因为一旦关闭,您将无法看到它

2邮递员可以根据请求生成代码,单击“代码”选项。如果它通过Postman工作,那么它应该在您的代码中与复制的请求一起工作

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

// 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"
    }
}
对于post请求,您只需要在身份验证令牌之前添加-X post。修改它以满足您的需要。
希望有帮助

我能够解决这个问题,但是我使用了Powershell的Invoke-RestMethod cmdlet。不幸的是,SQ服务器位于Windows服务器上。我无法使用curl-u令牌登录,但我可以使用curl-u user:password登录。它在Ubuntu上工作,但在Windows上我必须创建凭证对象等。我不完全确定我做了什么,但现在它工作了。我仍然希望在groovy中发送类似curl-u的请求。