job("myfolder/myjob") {steps {shell("""#!/bin/bashecho "hello"""")}publishers {// See https://issues.jenkins-ci.org/browse/JENKINS-34124?focusedCommentId=253825 for an e.g. of how to call 'slackNotifier'. And the// source code is at: https://github.com/jenkinsci/slack-plugin/blob/slack-2.3/src/main/java/jenkins/plugins/slack/SlackNotifier.javaslackNotifier {room('#jenkins')notifySuccess(true)includeCustomMessage(true)String buildURL = System.getenv("BUILD_URL")String otherBuildURL = "\$BUILD_URL"customMessage("BUILD_URL=\$BUILD_URL buildURL={$buildURL} otherBuildURL=${otherBuildURL}")}} // publishers} // job
BUILD_URL=http://jenkins-ui:8080/job/myfolder/job/myjob/12/ buildURL=null otherBuildURL=http://jenkins-ui:8080/job/myfolder/job/myjob/12/
otherBuildURL += "console"
otherBuildURL=$BUILD_URLconsole
http://jenkins-ui:8080/job/myfolder/job/myjob/12/console
job("myfolder/myjob") { ...
slackNotifier { room('#jenkins') notifySuccess(true) includeCustomMessage(true)
customMessage("BUILD_URL=\${BUILD_URL} consoleURL=\${BUILD_URL}/console") }
...
job("myfolder/myjob") { parameters { stringParam('JOB_URL', '', 'Workaround of hudson.model.ParametersAction.keepUndefinedParameter') }
...
publishers {
publishers { groovyPostBuild(''' import hudson.model.*
def build = Thread.currentThread().executable
def env = System.getenv() def currentURL = env['JOB_URL'] // REPLACE HERE WHAT'S THE TRANSLATION def parsedURL = currentURL?.replaceAll('jenkins-ui:8080', 'myjenkinsinstace.com') def newParams = null
def pl = new ArrayList<StringParameterValue>() pl.add(new StringParameterValue('JOB_URL', parsedURL))
def oldParams = build.getAction(ParametersAction.class)
if(oldParams != null) { newParams = oldParams.createUpdated(pl) build.actions.remove(oldParams) } else { newParams = new ParametersAction(pl) }
build.addAction(newParams) ''', Behavior.MarkFailed)
} slackNotifier { room('#jenkins') notifySuccess(true) includeCustomMessage(true)
customMessage("BUILD_URL=\${JOB_URL}/console") } } // publishers} // job