You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SonarQube Web API分析项目遇问题:如何获取analysis key?

解决SonarQube Web API相关问题的方案

一、如何获取analysis key?

首先得明确:analysis参数对应的是项目已完成分析记录的唯一标识符,所以你的项目必须先有至少一次成功的分析记录才能拿到这个key。这里有两种简单的获取方式:

1. 通过Web API查询

调用GET api/project_analyses/search接口,传入你的项目key作为project参数,接口会返回该项目所有的历史分析记录。每个记录中的key字段就是你需要的analysis值。
示例请求格式:

GET api/project_analyses/search?project=你的项目key

返回的JSON数据里,analyses数组下的每个条目都会包含目标字段,比如:

{
  "analyses": [
    {
      "key": "AX123456789abcdef",
      "date": "2024-05-20T10:00:00+0000",
      // 其他字段...
    }
  ]
}

这里的AX123456789abcdef就是你要找的analysis key。

2. 通过SonarQube UI界面直接复制

打开你的项目主页,点击顶部的Activity标签页,找到你需要的分析记录(比如最新的那次),点击记录右侧的三个点(更多选项),选择Copy analysis key,就能直接复制到这个标识符了。

二、能否通过Web方式分析项目?

首先要纠正一个误区:api/project_analyses/create_event接口不是用来触发项目分析的,它的作用是给已存在的分析记录添加自定义事件(比如标记某次分析为发布基线)。

如果想通过纯Web方式触发项目分析,有两种可行方案:

1. 借助CI/CD工具的Web触发能力

你可以在CI/CD平台(比如GitHub Actions、GitLab CI)中配置好sonar-scanner的分析流程,然后通过调用CI/CD平台的Web API来触发流水线,间接实现Web方式启动SonarQube分析。这种方式不需要在本地运行任何命令,完全通过HTTP请求触发。

2. 提交预生成的分析报告到SonarQube

SonarQube提供了POST api/ce/submit接口,可以直接提交预先生成的分析报告文件,步骤如下:

  • 第一步:在任意环境中运行sonar-scanner生成分析报告(可以把这一步封装成一个后端接口或者无服务器函数):
sonar-scanner -Dsonar.analysis.mode=preview -Dsonar.report.export.path=sonar-report.json
  • 第二步:调用POST api/ce/submit接口,传入projectKey(你的项目key)和report(报告文件的二进制内容)参数,SonarQube后台会处理这份报告并生成分析结果。

注意事项

如果你的项目还没有任何分析记录,必须先完成至少一次分析(用上述两种方式之一),才能获取到analysis key来使用create_event接口。

内容的提问来源于stack exchange,提问作者Cuauhtémoc Pascacio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:23:32