SonarQube POST api / permissions / add_user, чтобы предоставить проектные разрешения многим пользователям программно? - PullRequest
0 голосов
/ 29 мая 2018

Мы использовали AD / LDAP для аутентификации в SonarQube 7.0 ... Мы успешно достигли AD / LDAP-аутентификации ... Однако мы хотим предоставить права на уровне проекта различным пользователям через программу (php / Python).

SonarQube предлагает использовать веб-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 для обработки пост-сетизапросите и получите ответ 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 { ... }

?>

В нем не отражены какие-либо изменения в разрешении проекта ABC для пользователя XXX ....

Кто-нибудь может мне помочь по этой теме?

Я хочу знать алгоритм, если таковой имеется для запроса публикации веб-API Sonarqube ... например, чтобы получить доступ к этому запросу публикации, нам требуется логин / выход администратора веб-API для sonarqube перед API / разрешением ИЛИ Для этого требуются файлы cookie или токены...

Спасибо, что помогли мне в этом ..

1 Ответ

0 голосов
/ 31 мая 2018

используйте «projectKey» вместо «projectkey»

...