A hubot integration with Jenkins that enables deploying code via your preferred chat using a bot.
src/jenkins.js for full documentation.
- hubot jenkins auth <user> <apiKey> - Authenticate on Jenkins
- hubot jobs|list jobs [job name] - List the current jobs, filtering by the job name if needed
- hubot build <branch> on <job name> - Builds branch on the environment specified by the job
- hubot create alias <alias> for <job name> - Creates an alias for the job
- hubot aliases|list aliases - Displays the list of aliases
- hubot remove alias <alias name> - Removes an alias
- hubot job status <job|alias name> - Displays the last status for the job.
In hubot project repo, run:
npm install hubot-waiter --save
Then add hubot-waiter to your
For the build command to work, your jenkins instance needs to have Build Token Root Plugin installed.
There's a known problem in Jenkins that doesn't allow scripts to run in a protected instance (an instance that doesn't allow an anonymous to see anything), thus the need to use the above plugin. The problem is that there isn't a plugin that enable other commands (job status, list jobs). I still have to find a solution to this problem.
hubot-waiter requires only the URL of the Jenkins instance and the token that is generated by slack. Respectively, HUBOT_JENKINS_URL and HUBOT_SLACK_TOKEN.
You then need to configure the jobs to allow remote builds. In the job settings, check "Trigger builds remotely (e.g., from scripts)" and put the slack token in the Authentication Token field.