Как сделать вызов API через groovy

#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:

Вы отказались от использования каких-либо плагинов, которые могли бы поддерживать это?

В том-то и дело, что у Дженкинса, большую часть времени, «для этого есть плагин«, вам просто нужно уметь его найти.