Jenkins PowerShl плагин кодирование URL - PullRequest
0 голосов
/ 19 декабря 2018

Я пытаюсь получить информацию о проекте gitlab, используя gitlab api .Ниже сценарий powershell прекрасно работает в powershell ise

$projects = Invoke-WebRequest https://gitlab.mycompany.com/api/v4/projects/namespace%2fproject

Но при использовании одного и того же сценария в плагине jenkins powershell я всегда получаю сообщение об ошибке 404 Не найдено.Я не знаю, если это проблема с кодировкой URL или кодировкой PowerShell.

Я попробовал ниже команду jenkins с и без кодировки

powershell (script:'''
     $project = Invoke-WebRequest 
     https://gitlab.mycompany.com/api/v4/projects/namespace%2fproject
     echo $project
''', encoding: 'UTF-8', returnStdout: true)

Любая помощь будет оценена

1 Ответ

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

Это, вероятно, потому что ваш проект не является общедоступным или требует аутентификации.Перейдите в настройки своей учетной записи, а затем получите токен.Сгенерируйте новый токен и добавьте его в заголовок запроса:

$gitUrl = "https://gitlab.mycompany.com/api/v4/projects/namespace%2fproject"

$head =  @{'PRIVATE-TOKEN'= 'YourTokenHere'; 'Content-Type'='application/json'} 

Invoke-WebRequest -Uri $gitUrl -headers $head

Также проверьте Invoke-RestMethod, он проанализирует ответ в psobject (иногда очень удобно)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...