检查Jenkins管道中存在的插件(Groovy)

时间:2016-08-23 11:42:50

标签: jenkins groovy jenkins-plugins jenkins-pipeline

我想在我的管道中使用Slack Notification Plugin,这非常简单:

slackSend color: 'danger', message: 'Everything broke'

但是,如果slackSend不存在,我不希望构建中断。有没有办法先检查一下?

2 个答案:

答案 0 :(得分:1)

你可以将它包装成条件,但我不确定Jenkins如何在脚本中添加内容...

if(this.respondsTo('slackSend')) {
    slackSend color: 'danger', message: 'Everything broke'
}

答案 1 :(得分:1)

您可以随时使用旧的try / catch来确保您的构建在此步骤中不会失败:

def resultBefore = currentBuild.result
try {
   slackSend color: 'danger', message: 'Everything broke'
} catch(err) {
   currentBuild.result = resultBefore
}

但是,我真的不明白为什么slackSend命令不存在?它可能会失败(例如,如果您的Slack服务器已关闭),但只要您安装Slack Notification Plugin它就应该存在!