首页 > 解决方案 > 如何更新包含带有斜杠的分支名称的声纳 qube 项目密钥

问题描述

我们正在运行 sonar qube 7.0 社区版。我知道在哪里可以找到“更新项目密钥”功能。

为了在切换到 Gitflow 时保留我们多年的项目历史记录,我尝试将某些项目的 key 从 groupId:artifactId:origin/master 重命名为 groupId:artifactId:origin/develop。但是我收到一条错误消息,告诉我斜杠不是允许的项目关键字符。

Weired:我们还有许多其他项目的 key groupId:artifactId:origin/develop 或 groupId:artifactId:origin/feature-xy。

所以看起来可以创建一个带有斜杠的项目键(通过 maven build with branch.name set)但是不可能将项目键更改为这样的值?真的吗?

有什么办法可以更改项目密钥?我什至会使用直接在数据库中更改内容的解决方案。

感谢帮助。

标签: sonarqube

解决方案


由于 sonar qube 似乎没有解决方案,我们直接在 sonar qube 数据库中更改了项目密钥。

使用以下 sql 风险自负。

UPDATE projects SET 
NAME=CONCAT(NAME, ' origin/master')
WHERE scope='PRJ' AND project_uuid='yourProjectUuid';

UPDATE projects SET 
kee=REPLACE(kee, 'yourGroupId:yourArtifactId', 'yourGroupId:yourArtifactId:origin/master'),
deprecated_kee=REPLACE(deprecated_kee, 'yourGroupId:yourArtifactId', 'yourGroupId:yourArtifactId:origin/master')
WHERE project_uuid='yourProjectUuid';

请注意,对于 maven 多模块项目,您将需要更多的 sql。


推荐阅读