如何更新包含带有斜杠的分支名称的声纳qube项目键

时间:2019-02-25 05:19:15

标签: sonarqube

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

为了保留我们几年来切换到Gitflow的项目历史,我试图将某些项目的密钥从groupId:artifactId:origin / master重命名为groupId:artifactId:origin / develop。但是我收到一条错误消息,告诉我斜杠不是项目关键字符。

很奇怪:我们还有许多其他项目,其键为groupId:artifactId:origin / develop或groupId:artifactId:origin / feature-xy。

因此,似乎可以创建带斜杠的项目密钥(通过设置了branch.name的maven构建),但是不可能更改如此价值的关键?真的吗?

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

感谢帮助。

1 个答案:

答案 0 :(得分:0)

由于声纳qube似乎没有解决方案,我们直接在声纳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。