我有一个声明性的Jenkins管道。 我希望在" post"中有条件。构建部分。
是否有可能拥有"脚本块"在jenkins文件的帖子部分?
当我这样说时,不会发生错误,但不会发送hipchat消息。即使说"如果是主分支,hipchatSend,否则hipchatSend",也不会发送短信消息。哎呀,如果我用" echo"取代hipchatSend声明,也没有任何反应。
post {
always {
script {
if (env.BRANCH_NAME == "master") {
hipchatSend color: 'RED', credentialId: 'HipChat-Jenkins-Token',
message: 'I am master branch',
room: 'Master-Commit-Room,',
sendAs: '',
server: '',
v2enabled: true
}
if (env.BRANCH_NAME == "release/my-release") {
hipchatSend color: 'RED', credentialId: 'HipChat-Jenkins-Token',
message: 'I am release branch',
room: 'Release-Commit-Room,',
sendAs: '',
server: '',
v2enabled: true
}
}
}
}
答案 0 :(得分:0)
使用when
stage('Deploy') {
when { branch 'master' }
steps {
sh './docker-commands.sh deploy || exit 1'
}
}
以下是更多examples如何使用when
答案 1 :(得分:0)
我已经建立了Jenkins声明性管道,可以按照您所描述的方式在帖子部分成功使用脚本块。
示例:
post {
always {
script {
// arbitrary script code runs successfully here
}
}
}
...,它按预期工作。您是否已验证自己的if条件评估是否符合预期?
注意:我正在使用Jenkins 2.138.2上的“管道:声明性”插件(idpipeline-model-definition)版本1.3.2)。