2015-11-04 3 views
0

enter image description hereenter image description here
Хорошо, я застрял сейчас .... Пожалуйста, помогите. Вот изображение запроса POST в REST API и изображение параметра сборки Jenkins. Запрос работает во внешнем клиенте REST, но когда я импортирую полезную нагрузку в параметр build в Jenkins, я получаю плохую синтаксическую ошибку. Все должно быть сделано в JSON - user3516719 7 мин. НазадJenkins, ADVANCED REST API

+0

Как ваша работа после этой полезной нагрузки? Можете ли вы предоставить дополнительную информацию об этой работе? Вы используете какие-либо плагины? Лично мне легче использовать сценарий powershell/shell для автоматизации моих запросов RESTful для других сервисов, однако я считаю, что есть плагины, которые это делают. –

+0

Мы используем подключаемый модуль HTTP для Jenkins. Все должно быть в SON не уверен, можем ли мы использовать powershell. Как бы вы могли использовать powershell, если бы могли? – user3516719

+0

Отправка JSON не должна быть проблемой. Я выложу простой сценарий в качестве ответа, чтобы он был более читаемым. –

ответ

0

Как упоминалось выше в комментарии, вот очень простой сценарий powershell, который отправит полезную нагрузку JSON, вам нужно будет вызвать его с двумя параметрами (например, скрипт .ps1 -JsonFile "C: \ 1.json" -IpAddress "1.1.1.1"): (Пожалуйста, подумайте, что это может потребовать некоторой настройки, поскольку я не тестировал приведенный ниже код, вы можете изменить метод POST/PUT или структура ресурсов).

, который будет посылать JSON полезной нагрузки:

Param(
    [String]$JsonFile, 
    [String]$IpAddress 
) 

    Function RESTRequest ($IpAddress, $JsonContent) 
    { 
     $RequestHeader = @{}; 
     $RequestHeader.Add("Accept", "application/json"); 
     $resource = "http://$IpAddress/" 
     # Add more headers here if required 
     $response = Invoke-RestMethod -Method POST -Uri $resource -Headers $RequestHeader -ContentType "application/json" -Body $JsonContent -ErrorAction Stop 
     Write-Host $response 
    } 
$JsonContent = Get-Content -Path $JsonFile 
RESTRequest -IpAddress $IpAddress -JsonContent $JsonContent 
+0

Спасибо. Будет ли это реализовано в необработанной части полезной нагрузки? – user3516719

+0

Не уверен, что я понимаю вопрос, но вам, вероятно, нужна работа «Freestyle» jenkins, которая будет запускать вышеупомянутый скрипт. Просто поместите JSON, который вы хотите отправить в рабочей области, и укажите на него со сценарием: , например. Шаг Powershell - «Invoke-Expression path \ to \ script.ps1 -JsonFile $ env: WORKSPACE \ payload.json -IpAddress" 1.1.1.1 " –

Смежные вопросы