#python #jenkins #jenkins-groovy
#python #дженкинс #дженкинс-groovy
Вопрос:
у меня есть этот скрипт на python, который позволяет мне очень легко вызывать API для URL-адреса. если я попробую то же самое с groovy, это не сработает.. Пробовал много чего, но все равно терпел неудачу.
Я очень новичок в groovy, но мне нужна альтернатива приведенному ниже вызову api python, который можно легко вызвать из конвейера Дженкинса
token = 'xxxx-yyy-zzz-aaa'
headers = {'Authorization': "some-name%s" % token}
tar_endpoint = 'https://abc@hello.com'
r = requests.post(tar_endpoint, data=json.dumps(som_json_payload), headers=headers)
Ответ №1:
Приведенный ниже фрагмент кода должен выполнить эту работу за вас
def post = new URL("url_goes_here").openConnection();
def message = '{"message":"this is the data we want to post"}'
post.setRequestMethod("POST")
post.setDoOutput(true)
post.setRequestProperty("Content-Type", "application/json")
// add more headers if needed
post.getOutputStream().write(message.getBytes("UTF-8"));
def postRC = post.getResponseCode();
println(postRC);
if(postRC.equals(200)) {
println(post.getInputStream().getText());
}
Комментарии:
1. именно тот ответ, который мне был нужен… Большое спасибо
Ответ №2:
Вы отказались от использования каких-либо плагинов, которые могли бы поддерживать это?
В том-то и дело, что у Дженкинса, большую часть времени, «для этого есть плагин«, вам просто нужно уметь его найти.