Sonarqube 如何轮询质量门执行状态?

Sonarqube 如何轮询质量门执行状态?,sonarqube,sonarqube-scan,quality-gate,sonarqube-api,Sonarqube,Sonarqube Scan,Quality Gate,Sonarqube Api,我想使用RESTAPI调用轮询SonarQube 6.3实例的质量门执行状态。我进行了一些api调用,但没有得到预期的结果 我尝试使用以下URL: 但我总是得到这样的回答: {"errors":[{"msg":"Unknown url : /api/resources"}]} 如何通过REST轮询质量门执行状态 列出服务器上可用的web服务终结点,并提供每个终结点的文档。在我的6.3版本中,“api/resources”的文档说 从6.3开始删除,请改用api/组件和api/措施 你说你试

我想使用RESTAPI调用轮询SonarQube 6.3实例的质量门执行状态。我进行了一些api调用,但没有得到预期的结果

我尝试使用以下URL:

  • 但我总是得到这样的回答:

    {"errors":[{"msg":"Unknown url : /api/resources"}]}
    
    如何通过REST轮询质量门执行状态

    列出服务器上可用的web服务终结点,并提供每个终结点的文档。在我的6.3版本中,“api/resources”的文档说

    从6.3开始删除,请改用api/组件和api/措施

    你说你试过了,却犯了一个错误。那是因为那里实际上没有web服务。您必须为所需的服务添加限定符,例如
    /api/components/search
    ,如该组服务的文档中所述:

    列出了服务器上可用的web服务端点,并提供了每个端点的文档。在我的6.3版本中,“api/resources”的文档说

    从6.3开始删除,请改用api/组件和api/措施


    你说你试过了,却犯了一个错误。那是因为那里实际上没有web服务。您必须为所需的服务添加限定符,例如
    /api/components/search
    ,如该组服务的文档中所述:

    事实上,正确的SonarQube web api url中有5个部分。它们可以被看作是
    domain/api/controller/action?参数,例如
    http://localhost:9000/api/components/show?componentKey=blue

    因此,我们:

  • :由
    http://localhost:9000
    在本例中,它是您可以调用SonarQube服务器的地址
  • api:在本例中由
    /api
    表示,它是SonarQube中所有web服务的基本路径
  • 控制器:由
    /components
    表示,在示例中,它表示与给定主题(问题、概要文件、组件等)有关的web服务池
  • 操作:在示例中,它由
    /show
    表示,是可以通过web服务执行的单元操作,例如:显示、搜索、列表、备份、删除等
  • 参数:在本例中,参数由
    ?componentKey=blue
    表示,它们并不总是必需的,但通常允许您指定更多信息以获得更精确的结果

  • 这里您忘记的是指定操作的方法

    事实上,正确的SonarQube web api url中有5个部分。它们可以被看作是
    domain/api/controller/action?参数,例如
    http://localhost:9000/api/components/show?componentKey=blue

    因此,我们:

  • :由
    http://localhost:9000
    在本例中,它是您可以调用SonarQube服务器的地址
  • api:在本例中由
    /api
    表示,它是SonarQube中所有web服务的基本路径
  • 控制器:由
    /components
    表示,在示例中,它表示与给定主题(问题、概要文件、组件等)有关的web服务池
  • 操作:在示例中,它由
    /show
    表示,是可以通过web服务执行的单元操作,例如:显示、搜索、列表、备份、删除等
  • 参数:在本例中,参数由
    ?componentKey=blue
    表示,它们并不总是必需的,但通常允许您指定更多信息以获得更精确的结果

  • 这里您忘记的是指定操作的方法

    http://localhost:9000/api/project_analyses/search?project=myProjectname&category=QUALITY_GATE


    此查询返回了“我的质量门”的状态。这里我提到了项目名为myProjectname

    http://localhost:9000/api/project_analyses/search?project=myProjectname&category=QUALITY_GATE


    此查询返回了“我的质量门”的状态。这里我提到了项目名称myProjectname

    如何获取项目的componentKey值?这样我就可以在GET通话中填写。我尝试过类似于domain/api/components/show?id=1的东西。它将错误显示为
    {“errors”:[{“msg”:“未找到组件id“1”}]}
    它取决于您要“显示”的组件类型,例如,对于一个项目,它只是您为分析提供的键。但如果您不知道键,最好使用搜索操作:它允许您根据其他条件查找组件。如何获取我的项目的componentKey值?这样我就可以在GET通话中填写。我尝试过类似于domain/api/components/show?id=1的东西。它将错误显示为
    {“errors”:[{“msg”:“未找到组件id“1”}]}
    它取决于您要“显示”的组件类型,例如,对于一个项目,它只是您为分析提供的键。但是,如果您不知道键,最好使用搜索操作:它允许您根据其他条件查找组件。