hubot-waiter

0.0.16 • Public • Published

hubot-waiter

A hubot integration with Jenkins that enables deploying code via your preferred chat using a bot.

See src/jenkins.js for full documentation.

Commands:

  • 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.

Installation

In hubot project repo, run:

npm install hubot-waiter --save

Then add hubot-waiter to your external-scripts.json:

[
  "hubot-waiter"
]

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.

Configuration

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.

NPM Module

https://www.npmjs.com/package/hubot-waiter

Package Sidebar

Install

npm i hubot-waiter

Weekly Downloads

9

Version

0.0.16

License

MIT

Last publish

Collaborators

  • andremw