Jenkins pipeline Jenkins自定义管道以及如何在Jenkins文件中添加要设置的属性

Jenkins pipeline Jenkins自定义管道以及如何在Jenkins文件中添加要设置的属性,jenkins-pipeline,jenkins-groovy,Jenkins Pipeline,Jenkins Groovy,我试图用groovy创建一个自定义管道,但在web上找不到讨论如何添加可在Jenkins文件中设置的属性的地方。我试图添加一个curl命令,但需要在jenkins文件中设置URL,因为每个构建都会有不同的URL 有人能解释一下应该怎么做,或者把讨论的地方链接起来吗 示例文件: msBuildPipelinePlugin { curl_url = "http://webhook.url.com" } 自定义管道groovy代码: def response=sh(脚本:“curl-i-

我试图用groovy创建一个自定义管道,但在web上找不到讨论如何添加可在Jenkins文件中设置的属性的地方。我试图添加一个curl命令,但需要在jenkins文件中设置URL,因为每个构建都会有不同的URL

有人能解释一下应该怎么做,或者把讨论的地方链接起来吗

示例文件:

msBuildPipelinePlugin
{ 
    curl_url = "http://webhook.url.com" 
}
自定义管道groovy代码:

def response=sh(脚本:“curl-i-X POST-H”内容类型:application/json'-d'{“text”,“Jenkins Info”。\n这是更多文本“}”curl\u url,returnStdout:true)


谢谢

如果要在每次生成期间将URL指定为字符串,可以执行以下任一操作:

声明性管道

使用指令:

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}"
            }
        }
    }
}
脚本化管道

使用以下步骤:

您可以选择将
defaultValue
description
的值保留为空

作业GUI

上述任一语法将在GUI中呈现为:


如果要在每次生成期间将URL指定为字符串,可以执行以下任一操作:

声明性管道

使用指令:

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}"
            }
        }
    }
}
脚本化管道

使用以下步骤:

您可以选择将
defaultValue
description
的值保留为空

作业GUI

上述任一语法将在GUI中呈现为:

我使用

//response只是curl语句的输出

def response=[“curl”、“-i”、“-v”、“-X”、“POST”、“--data urlencode”、“payload={\“text\”:\“message body\”}”、“curl url在这里”].execute().text

谢谢

我用

//response只是curl语句的输出

def response=[“curl”、“-i”、“-v”、“-X”、“POST”、“--data urlencode”、“payload={\“text\”:\“message body\”}”、“curl url在这里”].execute().text


谢谢

您的是声明性管道还是脚本化管道?您是否希望在每次构建过程中提供URL作为参数?我希望通过自定义管道创建groovy curl语句,并从用于构建的Jenkins文件中获取URL。您的是声明性管道还是脚本化管道?您是否希望提供URL在每次构建过程中作为参数?我希望通过自定义管道创建groovy curl语句,并从用于构建的Jenkins文件中获取URL。您好,在您提供的GUI中,Jenkins文件中似乎没有设置参数。我希望将Jenkins文件中的CURL_URL设置为属性。因此,有了构建管道{CURL\u URL=”“},可以在groovy语句中使用CURL\u URL。我不确定我是否正确理解了这一点。在本例中,通过GUI提供的
CURL\u URL
的任何值都将在构建的整个生命周期中持续存在,并且可以使用
${params.CURL\u URL}
从管道和Groovy语句中访问。这里
http://www.google.com
只是一个占位符值,您可以选择保留为空或使用其他任何内容。如果这不是正确的理解,您可以提供代码示例以帮助更好地理解您的用例。您好,您提供的GUI中的Jenkins文件中似乎没有设置参数。我希望将Jenkins文件中的CURL_URL设置为属性。因此,有了构建管道{CURL\u URL=”“},可以在groovy语句中使用CURL\u URL。我不确定我是否正确理解了这一点。在本例中,通过GUI提供的
CURL\u URL
的任何值都将在构建的整个生命周期中持续存在,并且可以使用
${params.CURL\u URL}
从管道和Groovy语句中访问。这里
http://www.google.com
只是一个占位符值,您可以选择保留为空或使用其他任何内容。如果这不是正确的理解,您可以提供代码示例以帮助更好地理解您的用例。