如何使用 API 检查项目的质量门状态?

How to check quality gate status for a project using the API?

我需要在 SonarQube 中的项目质量检查失败时立即触发项目的 HipChat 通知。是否有用于检查项目质量门状态的 REST API。我在 api/quailty_gateapi/projects 下找不到它。

我也愿意接受其他触发 hipChat 通知的方法。

您可以使用此 REST 端点获取质量门状态:

/api/resources/index?includealerts=true&metrics=alert_status

这将为您提供类似于此的输出:

{
    "key": "alert_status",
    "data": "ERROR",
    "alert": "ERROR",
    "alert_text": "Major issues > 10, Files > 3"
}

web service api/qualitygates/project_status has been introduced in v.5.3 to be able to get the gate status of a specified analysis (see parameter analysisId, which value is output during analysis). The initial goal is to be able to "break the build".

5.4版本增加了参数projectId和projectKey,方便分析未知时

请注意,5.5 版将允许 SonarQube 插件在分析完成时直接发送通知,例如发送给 HipChat。参见 JIRA ticket SONAR-7488