Sonarqube 6.4+;:Can';不得将许可更改为私人项目

Sonarqube 6.4+;:Can';不得将许可更改为私人项目,sonarqube,Sonarqube,我们在一台服务器上预先安装了Sonarqube,该服务器没有连接到internet,只有内部网络 随着private/public的引入,我需要将所有项目(100+以上)都私有化,因为我们不能允许每个人都阅读所有项目的代码。但现在我甚至不能在任何项目中将其更改为private。现在看起来是这样的: “专用”选项变灰,不可单击。有什么建议可以修复此选项吗 (此外,“计费箱”似乎是一个bug,服务器希望通过互联网连接来提供内容。) 该问题在6.4和6.5中都存在 更新: 我的插件列表: sonar

我们在一台服务器上预先安装了Sonarqube,该服务器没有连接到internet,只有内部网络

随着private/public的引入,我需要将所有项目(100+以上)都私有化,因为我们不能允许每个人都阅读所有项目的代码。但现在我甚至不能在任何项目中将其更改为private。现在看起来是这样的:

“专用”选项变灰,不可单击。有什么建议可以修复此选项吗

(此外,“计费箱”似乎是一个bug,服务器希望通过互联网连接来提供内容。)

该问题在6.4和6.5中都存在

更新:
我的插件列表:

sonar-csharp-plugin-5.9.0.1001
sonar-javascript-plugin-2.21.0.4409
sonar-ldap-plugin-2.1.0.507
sonar-scm-git-plugin-1.2
sonar-spcaf-plugin
以及我的
sonar.properties
,如果这很有趣(已审查):


我可以在以下星座中重现这一点:

  • 用户是管理员组的成员(不是sonar管理员)
  • 此管理组没有项目的“项目管理”权限
  • 通过全局管理->项目->管理->编辑权限
  • “专用”的单选按钮已禁用
这是一个令人讨厌的bug,但我在检查Web API后找到了一个解决方法。我看到“api/projects/update_可见性”要求对指定的项目或视图具有“项目管理”权限”


解决方法:为该项目添加具有“管理”权限的管理员组,然后重新加载页面。radiobutton现在应该可见。

这肯定是一个问题。当您打开页面时,有一个对/API/navigation/component的API调用。您能告诉我是否存在“配置”字段,以及canUpdateProjectVisibilityToPrivate“为“true”?配置字段在那里,布尔值设置为false。请发送您已安装的插件列表。我已将其添加到上述问题中。还包括我的属性列表,否则它是默认安装。(这些插件可能不是最新的,但至少在最近2-3个月内更新了)sonar spcaf插件是什么?你能在没有这个插件的情况下尝试一下吗?当然,这就是问题所在,我是作为一个用户登录的,我给Sonarqube授予了管理员权限,但没有给sonar管理员。我实际上重拨了整个安装过程(来自一个旧数据库)这解决了问题,但这可能是因为我现在将该用户添加到sonar管理员。
## Logging sonar

.log.level=DEBUG

## Database configuration
sonar.jdbc.username=sonarservice
sonar.jdbc.password=***
sonar.jdbc.url=jdbc:sqlserver://localhost;databaseName=sonarqube

## Web configuration
sonar.web.port=9000
sonar.web.sso.enable=true

# LDAP configuration
# General Configuration
sonar.authenticator.downcase=true
sonar.security.realm=LDAP
ldap.url=ldap://***
ldap.realm=***

ldap.bindDn=***
ldap.bindPassword=***

# User Configuration
ldap.user.baseDn=***
ldap.user.request=(&(objectClass=user)(sAMAccountName={login}))
ldap.user.realNameAttribute=displayName
ldap.user.emailAttribute=userPrincipalName

# Group Configuration
ldap.group.baseDn=***
ldap.group.request=(&(objectClass=group)(member={dn}))
ldap.group.idAttribute=sAMAccountName