Start a build in Jenkins using a Slack Command
- Start a build
/jenkins buildName
- Start a parameterized build
/jenkins buildName param1=value1 param2=value2
- Error handling when staring the build fails
- Create a new "Slash Command"
- Name command
/jenkins
- Set the URL to the url of your Heroku instance (created in step 3)
- Method should be POST
- Name command
- Create a new "Inbound Webhook"
- Set the channel you would like to post to
- Set the bot name
Anything That You Like
- Required environment variables
SLACK_TOKEN
- token from your "Slash Command"JENKINS_URL
- URL to your jenkins host- NOTE: if your jenkins requires authentication url will look like
http://user:auth-token@your-jenkins-host:port
. To obtain user authentication token click your name on the top right corner on every page, then click "Configure" to see your API token. (The URL$host/me/configure
is a good shortcut.),
- NOTE: if your jenkins requires authentication url will look like
JENKINS_TOKEN
- API token for jenkins job.- NOTE: you will need to enable remote builds for every job you would like to invoke remotely. Turn on "Trigger builds remotely (e.g., from scripts)" checkbox under
Bild Triggers
section in job configuration. Then input any random token and save. You will need to use the same token for all jobs you are planning to build from slack remotely, otherwise jenkins will fail with authentication error.
- NOTE: you will need to enable remote builds for every job you would like to invoke remotely. Turn on "Trigger builds remotely (e.g., from scripts)" checkbox under
SLACK_WEBHOOK_URL
- your incoming webhook URL
- Or You can even deploy it in you local, but Make sure the Above said environment variables is set
/jenkins <buildName>