Cloud Foundry Notifications for Hubot
Hubot plugin that posts deployment notifications of applications within Cloud Foundry. Example:
someuser@myorg.com, from the terminal
cf push someapp
Hubot, in the #cf-notifications chat room
Hubot: someuser@myorg.com is deploying someapp
Installation
-
In your Hubot repository, run:
npm install hubot-cf-notifications --save -
Include the plugin in your
external-scripts.json
. -
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 installnpm 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