hubot-cf-notifications
v0.2.0
Published
Plugin to add Cloud Foundry notifications to Hubot
Downloads
5
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