hubot-cf-notifications
v0.2.0
Published
Plugin to add Cloud Foundry notifications to Hubot
Downloads
19
Readme
Cloud Foundry Notifications for Hubot
Hubot plugin that posts deployment notifications of applications within Cloud Foundry. Example:
[email protected], from the terminal
cf push someapp
Hubot, in the #cf-notifications chat room
Hubot: [email protected] is deploying someapp
Installation
In your Hubot repository, run:
npm install hubot-cf-notifications --save
Include the plugin in your
external-scripts.json
.[ "hubot-cf-notifications" ]
Create a Cloud Foundry user that will be used by this bot. You don't need to create a dedicated user, but it's recommended.
cf create-user hubot-cf-listener <password>
Set the following environment variables:
HUBOT_CF_USER
– username of listener user created aboveHUBOT_CF_PASS
– password of listener userHUBOT_CF_API_ORIGIN
– something likehttps://api.mycf.com
– look in~/.cf/config.json
forTarget
HUBOT_CF_UAA_ORIGIN
– something likehttps://uaa.mycf.com
– look in~/.cf/config.json
forUaaEndpoint
Adding applications
To get deployment notifications for all applications in an organization/space, run
cf set-org-role hubot-cf-listener <org> OrgAuditor
# or
cf set-space-role hubot-cf-listener <org> <space> SpaceAuditor
This will give the bot read-only permissions to view the events for those applications, and thus send deployment notifications.
Configuration
Optional. To have notification directed to specific chat rooms/channels, create a cf_config.json
file in the root of your Hubot directory. All sections are optional.
{
// Mappings of notifications from particular organizations to particular rooms.
"orgs": {
"myorg": {
"room": "myroom"
},
// ...
},
// The room to direct notifications to, if not otherwise specified above. Defaults to `cf-notifications`.
"room": "notification-central"
}
Development
To run tests, clone the repository, then from the project directory run:
npm install
npm test
To check code coverage:
npm run coverage
To run smoke tests against the live API:
HUBOT_CF_API_ORIGIN=... HUBOT_CF_UAA_ORIGIN=... HUBOT_CF_USER=hubot-cf-listener HUBOT_CF_PASS=... npm run smoke