Использование Токена Jenkins Gitlab Для Вызова Api

  • Автор темы My9090
  • Обновлено
  • 21, Oct 2024
  • #1

Изнутри конвейера Jenkins я хочу создать запрос на слияние в gitlab.

 def toJson = {

input ->

groovy.json.JsonOutput.toJson(input)
}
def body = [

private_token: "...",

source_branch: "...",

target_branch: "...",

title: "..."
]
httpRequest httpMode: 'POST', requestBody: toJson(body), contentType: 'APPLICATION_JSON', url: 'https://my.gitlab.domain/api/v4/projects/1234/merge_requests'
 

Моя проблема связана с Private_token, я не хочу указывать его в файле Jenkins.

Я не нашел способа получить его из учетных данных Дженкинса, есть ли он?

#дженкинс #gitlab

My9090


Рег
20 Mar, 2020

Тем
79

Постов
205

Баллов
620
  • 25, Oct 2024
  • #2

Prog1980


Рег
08 Nov, 2019

Тем
99

Постов
194

Баллов
769
  • 25, Oct 2024
  • #3

Вы можете сделать это, используя Плагин привязки учетных данных. Откройте существующее задание конвейера, прокрутите вниз до текстовой области, где вы вводите код конвейера, и щелкните ссылку Синтаксис конвейера, чтобы открыть генератор фрагментов.

В раскрывающемся списке «Шаг выборки» выберите private_token . Under the Bindings section, select the "Add" button next to Credentials. Add a new credential of kind "Secret text". Enter the API token, give it an easy to remember ID (this is how we reference this secret) and a description.

Когда токен будет добавлен, выберите его в Реквизиты для входа раскрывающийся выбор. Введите переменную, которую вы хотите использовать для ссылки на ключ API. Используя ваш пример, я назвал его withCredentials: Bind credentials to variables . When finished, click the Создать конвейерный сценарий Кнопка для создания образца с помощью функции Credentials(). Используя эту функцию, любая ссылка на ключ API будет скрыта от пользователя при вызове как withCredentials([[ $class: 'com.dabsquared.gitlabjenkins.connection.GitLabApiTokenImpl', credentialsId: 'gitlab_api_token', variable: 'GITLAB_API_TOKEN' ]])

environment { GITLAB_API_TOKEN = credentials('gitlab_api_token'). }

 

Юля2011


Рег
08 Sep, 2011

Тем
69

Постов
201

Баллов
566
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно