#jenkins #jenkins-pipeline #jenkins-plugins
#дженкинс #дженкинс-конвейер #дженкинс-плагины
Вопрос:
Я пытаюсь использовать jenkins HttpRequest для получения содержимого веб-страницы, и, как ни странно, я получаю только статус 200 вместо фактического кода. ниже приведен воспроизводимый скрипт и его журнал консоли.
pipeline {
agent any
environment {
def response = httpRequest "https://news.yahoo.com/"
}
stages {
stage('Build'){
steps {
script {
echo "${response}"
echo response.getContent()
}
}
}
}
}
журнал консоли:
HttpMethod: GET
URL: https://news.yahoo.com/
Sending request to url: https://news.yahoo.com/
Response Code: HTTP/1.1 200 OK
Success code from [100‥399]
....
Status: 200
....
hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: java.lang.String.getContent() is applicable for argument types: () values: []
Ответ №1:
согласно официальной документации здесь, response.content
содержит содержимое ответа без заголовков.
Итак, ваш код должен быть таким :
pipeline {
agent any
environment {
def response = httpRequest "https://news.yahoo.com/"
}
stages {
stage('Build'){
steps {
script {
echo "${response}"
echo response.content
}
}
}
}
}