【发布时间】:2011-04-03 19:03:39
【问题描述】:
是否可以在不使用 Web 界面的情况下在声纳中创建新用户? 我需要编写一个脚本,为某些工具(包括声纳)插入相同的用户。
【问题讨论】:
标签: sonarqube
是否可以在不使用 Web 界面的情况下在声纳中创建新用户? 我需要编写一个脚本,为某些工具(包括声纳)插入相同的用户。
【问题讨论】:
标签: sonarqube
从 SonarQube 3.6 版开始,支持 webservice API 中的用户管理: https://sonarqube.com/web_api/api/users
【讨论】:
您可以通过三种方式做到这一点:
直接写入数据库(有一个简单的表叫做users)。
使用 LDAP 插件,如果在 sonar.properties 中指定sonar.authenticator.createUsers: true,它将在首次认证时自动在 sonar 数据库中创建用户。
编写一个依赖于声纳插件 API 的 java 应用程序,然后您可以使用构造函数注入来获取声纳休眠会话并保持您想要的用户。见Here。
【讨论】:
web service API 似乎不支持用户管理。一切皆有可能,但看起来这不是通过 Sonar 直接提供的。
您可能会使用一些网络自动化库(webbrowser、webunit、watir、twill)通过正在运行的服务器来完成;甚至可以通过仔细查看用户/创建表单的页面源来使用“curl”之类的东西。
或者,如果你想直接进入数据库,你可以尝试从代码中提取用户创建功能,直接弄乱 sonar.users 表。
有LDAP Plugin,它会负责身份验证,但它仍然需要您在 Sonar 中创建用户,所以这不能解决您的问题。
【讨论】: