Jenkins REST API Auth с использованием параметров URL - PullRequest
0 голосов
/ 02 июля 2018

Я пытаюсь настроить свой Jenkins для разрешения удаленного запуска задания с использованием REST API. Если я передаю имя пользователя и пароль, используя параметр заголовка базовой аутентификации, я могу запустить задание

-u <username>:<api token> http://localhost:8080/job/kp-push-example/build 

Однако, если я передаю имя пользователя и токен api в URL, Jenkins не может аутентифицироваться, он использует анонимного пользователя и выдает ошибку, поскольку анонимный пользователь не имеет преимущественного права для выполнения задания.

http://<username>:<apitoken>@localhost:8080/job/kp-push-example/build 

Ниже приведено сообщение об ошибке.

<html>
    <head>
        <meta http-equiv='refresh' content='1;url=/login?from=%2Fjob%2Fkp-push-example%2Fbuild'/>
        <script>window.location.replace('/login?from=%2Fjob%2Fkp-push-example%2Fbuild');</script>
    </head>
    <body style='background-color:white; color:white;'>


Authentication required

        <!--
You are authenticated as: anonymous
Groups that you are in:

Permission you need to have (but didn't): hudson.model.Hudson.Read
 ... which is implied by: hudson.security.Permission.GenericRead
 ... which is implied by: hudson.model.Hudson.Administer
-->


    </body>
</html>

Как настроить Jenkins для разрешения базовой аутентификации URL? Дженкинс версия: 2.129

1 Ответ

0 голосов
/ 17 декабря 2018

Не могли бы вы рассказать, каким пользователем вы на самом деле пользуетесь и имеет ли он действительный токен? И как ты это делаешь? Используете ли вы скрипт, вызывайте его с помощью некоторой Server-Logic, ...?

Вот проверенный и рабочий пример для cURL:

curl -s -XPOST 'http://localhost:8080/job/kp-push-example/build?token=TOKEN' -u "admin:0000ADMIN-TOKEN00000"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...