Пользовательский конвейер Jenkins и как добавить свойство для установки в jenkinsfile - PullRequest
1 голос
/ 18 октября 2019

Я пытаюсь создать пользовательский конвейер с groovy, но я не могу найти в Интернете нигде, где обсуждается, как добавить свойство, которое можно установить в jenkinsfile. Я пытаюсь добавить команду curl, но нужно указать URL-адрес в файле jenkinsfile, поскольку он будет отличаться для каждой сборки.

Может кто-нибудь объяснить, как это должно быть сделано, или ссылки, где это обсуждалось?

Пример Jenkinsfile:

msBuildPipelinePlugin
{ 
    curl_url = "http://webhook.url.com" 
}

пользовательский код конвейера Groovy:

def response = sh (скрипт: 'curl -i -X ​​POST -H' Content-Type:application / json '-d' {"text", "Информация Дженкинса. \ nЭто больше текста"} 'curl_url, returnStdout: true)

Спасибо

1 Ответ

0 голосов
/ 18 октября 2019

Если вы хотите указывать URL-адрес в виде строки во время каждой сборки, вы можете выполнить одно из следующих действий:

Декларативный конвейер

Использовать parameters {} директива:

pipeline {
    agent {
        label 'rhel-7'
    }
    parameters {
        string(
            name: 'CURL_URL',
            defaultValue: 'http://www.google.com',
            description: 'Enter the URL for file download'
        )
    }
    stages {
        stage('download-file') {
            steps {
                echo "The URL is ${params.CURL_URL}"
            }
        }
    }
}

Скриптовый конвейер

Используйте шаг properties([parameters([...])]):

parameters([
    string(
        name: 'CURL_URL',
        defaultValue: 'http://www.google.com',
        description: 'Enter the URL for file download'
    )
])
node('rhel-7') {
    stage('download-file') {
        echo "The URL is ${params.CURL_URL}"
    }
}

Можно оставить пустыми значения defaultValue и description.

GUI задания

Любой из приведенных выше синтаксисов будет отображаться вGUI как:

enter image description here

...