通过curl修改SonarQube的DevOps平台集成配置
解决SonarQube DevOps平台集成配置的自动化修改问题
要通过curl修改SonarQube项目中「DevOps平台集成」下的配置名称和仓库名称,你需要用到SonarQube的通用项目设置API——api/project_settings/set_value,这类自定义集成配置项并不单独提供专用API,而是通过这个通用接口统一管理。
步骤1:确认配置项的唯一Key
SonarQube中每个项目设置项都有一个唯一的key,你需要先找到对应「配置名称」和「仓库名称」的key:
- 打开浏览器开发者工具(F12),切换到「Network」标签页
- 手动进入项目设置的DevOps集成页面,修改配置名称并保存
- 在Network日志中找到保存时发送的POST请求(目标URL包含
api/project_settings/set_value),查看请求参数里的key值,这就是配置名称对应的标识 - 重复上述操作找到仓库名称对应的
key
提示:部分SonarQube版本中,这类DevOps集成配置的key可能格式类似
sonar.devops.integration.config.name和sonar.devops.integration.repo.name,但不同版本或集成类型可能有差异,务必以抓包结果为准。
步骤2:用curl执行修改操作
拿到key后,使用以下curl命令完成自动化修改:
修改配置名称
curl -u YOUR_SONAR_ADMIN_TOKEN: -X POST "http://your-sonar-server-url/api/project_settings/set_value?project=YOUR_PROJECT_KEY&key=CONFIG_NAME_KEY&value=Your_New_Config_Name"
修改仓库名称
curl -u YOUR_SONAR_ADMIN_TOKEN: -X POST "http://your-sonar-server-url/api/project_settings/set_value?project=YOUR_PROJECT_KEY&key=REPO_NAME_KEY&value=your-target-repo/name"
参数说明:
YOUR_SONAR_ADMIN_TOKEN:拥有目标项目管理员权限的SonarQube用户tokenyour-sonar-server-url:你的SonarQube实例地址YOUR_PROJECT_KEY:目标项目的唯一key(可在项目主页查看)CONFIG_NAME_KEY/REPO_NAME_KEY:步骤1中获取的配置项key
备选:批量查询项目配置项
如果你不想抓包,也可以用api/project_settings/list接口列出项目所有配置项,过滤找到目标key:
curl -u YOUR_SONAR_ADMIN_TOKEN: "http://your-sonar-server-url/api/project_settings/list?project=YOUR_PROJECT_KEY" | grep -E "(config|repo|devops)"
内容的提问来源于stack exchange,提问作者seremet
相关产品推荐
相关产品推荐

