我正在尝试使用groovy创建自定义管道,但是在网络上找不到任何地方讨论了如何添加可以在jenkinsfile中设置的属性。我正在尝试添加curl命令,但需要在jenkinsfile中设置URL,因为每个版本的URL都不同。
任何人都可以解释该怎么做或在其中进行讨论的链接吗?
示例Jenkinsfile:
msBuildPipelinePlugin
{
curl_url = "http://webhook.url.com"
}
自定义管道常规代码:
def response = sh(script:'curl -i -X POST -H'Content-Type:application / json'-d'{“ text”,“ Jenkins Info。\ n这是更多文本”}}'curl_url, returnStdout:true)
谢谢
答案 0 :(得分:0)
如果要在每次构建过程中将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中呈现为:
答案 1 :(得分:0)
我可以使用它
// response只是curl语句的输出
def response = [“ curl”,“-i”,“-v”,“-X”,“ POST”,“-data-urlencode”,“ payload = {\” text \“:\”邮件正文\“}”,“ URL转到此处”] .execute()。text
谢谢