如何修改SonarQube中已扫描项目的版本信息?
可以修改SonarQube中已完成扫描的版本吗?
当然可以!分两种场景来说,看你具体需求:
场景1:修改项目默认版本(影响后续扫描)
如果只是想让之后的扫描不再用trunk作为版本号,最简单的方式就是直接修改你的sonar-project.properties文件,把sonar.projectVersion改成你需要的版本(比如v1.0.0)。或者你也可以在扫描命令里临时覆盖这个参数,比如:
- Maven项目:
mvn sonar:sonar -Dsonar.projectVersion=v1.0.0 - .NET项目:
dotnet sonarscanner begin /d:sonar.projectVersion=v1.0.0
要是你想修改SonarQube项目本身的默认版本(后续扫描如果没指定版本会自动用这个),可以通过Web UI操作:
- 打开你的项目主页,点击顶部的「Project Settings」
- 左侧菜单选择「General Settings」→「Project Information」
- 在「Version」输入框里填入新的版本号,点击「Save」即可
场景2:修改已完成的历史扫描记录的版本号
如果是想把之前已经用trunk版本扫描的历史记录改成具体的版本号,Web UI里没有直接的入口,这时候需要用SonarQube的API来操作。步骤如下:
- 先获取你的SonarQube用户令牌:进入个人设置→「Security」→「Generate Token」,创建一个拥有项目编辑权限的令牌
- 查询目标扫描记录的ID:用API获取项目的所有历史扫描记录,找到你要修改的那条的
key(即analysisId)curl -u YOUR_TOKEN: "http://your-sonarqube-url/api/analyses/search?project=YOUR_PROJECT_KEY" - 发送修改请求,替换掉占位符即可:
curl -X POST -u YOUR_TOKEN: "http://your-sonarqube-url/api/analyses/update_version?analysisId=YOUR_ANALYSIS_ID&version=NEW_VERSION"
注意:这个API操作需要你的令牌拥有Administer Project权限,而且只能修改你有权限的项目的历史扫描记录。
内容的提问来源于stack exchange,提问作者devopsfun
相关产品推荐
相关产品推荐

