10

是否可以在不使用 Web 界面的情况下在声纳中创建新用户?我需要编写一个脚本,为某些工具(包括声纳)插入相同的用户。

4

3 回答 3

8

您可以通过三种方式执行此操作:

  1. 直接写入数据库(有一个名为 users 的简单表)。

  2. 使用 LDAP 插件,如果您sonar.authenticator.createUsers: true在 sonar.properties 中指定,它将在首次验证时自动在 sonar 数据库中创建用户。

  3. 编写一个依赖于声纳插件 API 的 java 应用程序,然后您可以使用构造函数注入来获取声纳休眠会话并持久化您想要的用户。见这里

于 2010-09-02T22:58:05.760 回答
2

从 SonarQube 3.6 版开始,支持 webservice API 中的用户管理: https ://sonarqube.com/web_api/api/users

http://docs.sonarqube.org/display/DEV/Web+API

于 2013-08-13T14:43:53.870 回答
0

Web 服务 API似乎不支持用户管理。一切皆有可能,但看起来这不是通过 Sonar 直接提供的。

您可能可以使用一些网络自动化库(webbrowser、webunit、watir、twill)通过正在运行的服务器来完成;甚至可以通过仔细查看用户/创建表单的页面源来使用“curl”之类的东西。

或者,如果您想直接进入数据库,您可以尝试从代码中提取用户创建功能并直接弄乱 sonar.users 表。

LDAP Plugin,它会处理身份验证,但它仍然需要您在 Sonar 中创建用户,所以这不会解决您的问题。

于 2010-08-29T06:30:44.287 回答