通过Bamboo curl创建SonarQube带斜杠项目key报格式错误如何解决
核心结论
你使用的SonarQube 6.7.6版本不支持在项目key中包含斜杠(/),但项目名称不受该字符规则限制,可以正常使用包含斜杠的内容。
报错原因
返回的报错信息已经明确了项目key的合法字符范围:仅允许字母、数字、-、_、.、:,且至少包含1个非数字字符。斜杠不在允许字符范围内,因此你传入带/的name-branch:TASK/X00/XXXX-0000作为project参数时会触发校验失败。
该字符校验规则是SonarQube 6.7版本的内置规则,无后台配置项可以修改放开限制。
解决方法
你可以调整参数格式完成创建:
- 项目key(对应请求参数
project):将所有斜杠替换为允许的字符,比如替换为_或-,调整为name-branch:TASK_X00_XXXX-0000这类符合规则的格式 - 项目名称(对应请求参数
name):无特殊字符限制,可以直接保留你原本的name-branch:TASK/X00/XXXX-0000格式
调整后的curl命令参考:
# 将KEY中的斜杠替换为下划线生成符合规则的项目key SONAR_PROJECT_KEY=${KEY//\//_} curl -u ${password} -X POST -H 'Content-type: application/json' "http://my_sonar_host/api/projects/create?project=${SONAR_PROJECT_KEY}&name=${KEY}"
内容的提问来源于stack exchange,提问作者Thomaz Sousa
相关产品推荐
相关产品推荐

