我们已经在 SonarQube 7.0 中使用 AD/LDAP 进行身份验证... 我们成功实现了 AD/LDAP 身份验证...但是我们想通过程序(php/Python)将项目级别的权限授予不同的用户。
SonarQube 建议使用如下 web api
POST api/permissions/add_user
Params
1. login = XXX
2. permission = user / codereviewer / scan / issueadmin
3. projectid (optional )
4. projectkey (optional ) = ABC
SonarQube 文档建议的示例请求
curl -X POST -v -u admin:admin 'http://localhost:9000/api/permissions/add_user?permission=codeviewer&user=XXX&component=ABC'
我们尝试编写 php curl 来处理 post web 请求并获取 json 响应,如下所示:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://localhost:9000/api/permissions/add_user");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
"login=XXX&permission=user&projectkey=ABC");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch);
curl_close ($ch);
if ($server_output == "OK") { ... } else { ... }
?>
它没有反射(reflect)用户 XXX 的 ABC 项目权限的任何变化....
任何人都可以就此主题指导我吗?
我想知道 Sonarqube web api 发布请求是否有算法... 例如要访问此帖子请求,我们需要 web api 管理员登录/注销 sonarqube 在 api/permission 之前,或者它需要一些 cookie 或 token ...
谢谢你帮我解决这个问题..
最佳答案
使用“projectKey”而不是“projectkey”
关于php - SonarQube POST api/permissions/add user ,以编程方式向许多用户授予项目权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50584340/