Подтвердить что ты не робот

Как я могу выполнять HTTP POST-запросы из Jenkins Groovy script?

Мне нужно создать простой HTTP-запрос POST во время сборки http-builder, но я не могу в течение всей жизни понять, как использовать его в установке Дженкинса Groovy.

Если я попытаюсь использовать Grapes Grab, чтобы использовать его в Pipeline script, я получаю ошибку, не выполнив этого, как показано здесь.

@Grapes(
    @Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.7.1')
)

Возможно, Grapes Grab не поддерживается в комплекте версии Groovy Jenkins. Можно ли просто загрузить и добавить http-builder и его зависимости к установке Jenkins Groovy, которая выходит на узлы?

4b9b3361

Ответ 1

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

import java.io.BufferedReader
import java.io.InputStreamReader
import java.io.OutputStreamWriter
import java.net.URL
import java.net.URLConnection

def sendPostRequest(urlString, paramString) {
    def url = new URL(urlString)
    def conn = url.openConnection()
    conn.setDoOutput(true)
    def writer = new OutputStreamWriter(conn.getOutputStream())

    writer.write(paramString)
    writer.flush()
    String line
    def reader = new BufferedReader(new     InputStreamReader(conn.getInputStream()))
    while ((line = reader.readLine()) != null) {
      println line
    }
    writer.close()
    reader.close()
}

sendPostRequest("http://www.something.com", "param1=abc&param2=def")

Ответ 2

Для трубопровода Jenkin я бы рекомендовал установить плагин HTTP-Request

Он хорошо интегрирован в groovy, поэтому вы можете использовать его следующим образом:

def response = httpRequest "http://httpbin.org/response-headers?param1=${param1}"

Ответ 3

Вам необходимо загрузить и скопировать ivy.jar в каталог Jenkins lib (например, C:\Program Files (x86)\Jenkins\war\WEB-INF\lib) и перезапустить Jenkins (например, через системные службы), он затем можно использовать @Grab из консоли Script. Дальнейшее чтение: https://groups.google.com/forum/#!msg/job-dsl-plugin/EG6eqQYYI7M/2TKKysNw4QEJ