Я пытаюсь получить информацию о проекте 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)
Любая помощь будет оценена
Это, вероятно, потому что ваш проект не является общедоступным или требует аутентификации.Перейдите в настройки своей учетной записи, а затем получите токен.Сгенерируйте новый токен и добавьте его в заголовок запроса:
$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 (иногда очень удобно)