0.1.5 • Published 9 years ago

hubot-glink v0.1.5

Weekly downloads
1
License
MIT
Repository
github
Last release
9 years ago

hubot-glink

Build Status

A hubot script for building graphite links

See src/glink.coffee for full documentation.

Installation

In hubot project repo, run:

npm install hubot-glink --save

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

[
  "hubot-glink"
]

Sample Interaction

user1> hubot graphme users index
hubot> http://graphite.example.com/render?target=some.configed.target.users.index&width=800&.png

Aliases

hubot-glink allows for stored aliases. While you can set some defaults for your bot via environment configuration variables, chances are members of your team are going to want a few "custom" things that only apply to them. They can simply create aliases with all the values they want and run those aliases whenever they want.

user1> hubot alias ui as users index --from=-3months --bgcolor=black
hubot: created alias `ui` for `users index --from=-3months --bgcolor=black`
user1> hubot alias ui
hubot: `ui` = `users index --from=-3months --bgcolor=black`
user1> hubot aliases
hubot: Aliases:

`ui` = `users index --from=-3months --bgcolor=black`

user1> hubot run ui
hubot: https://graphite.example.net/render?from=-3months&bgcolor=black&target=foo.users.index&image=.png

# `hubot run ui` is now equivalent to running:
# `hubot graphme users index --from=-3months --bgcolor=black`

Configuration

As graphite keys will vary from one project to another, you will need to configure a few things to get hubot-glink going for your project in graphite. The following environment variables should allow you configure hubot-glink for your project (See the glink project for more information as these configs map somewhat to the configuration of glink)

Config Var NameNote
HUBOT_GLINK_DEFAULT_APPthe default appname to be used when no --app is specified
HUBOTGLINKappname_TEMPLATEi.e. stats.timers.!!#controller#!!.!!#action#!!
HUBOTGLINKappname_TEMPLATE_DEFAULTS(comma delimited i.e. !!#controller===users#!!, #!!action===index#!!
HUBOT_GLINK_HOSTNAME
HUBOT_GLINK_DEFAULT_PARAMSoptional (comma delimited i.e.: from:-1week, width:800)
HUBOT_GLINK_PROTOCOLoptional
HUBOT_GLINK_PORToptional
HUBOT_GLINK_TEMPLATE_DEFAULT_DELIMITERoptional (defaults to ===)
HUBOT_GLINK_USE_SLACK_APIoptional, prettier posts for Slack via the API
HUBOT_GLINK_SLACK_IMAGESoptional (default false), attempt to pull images into Slack
HUBOT_GLINK_SLACK_COLORoptional (default #CCC), color for Slack API post
HUBOT_GLINK_CREDSoptional (i.e. user:password) will be inserted into graphite url for Slack image posts

For comma delimited configs be sure to use a space after the comma (i.e. value, other) as the parsing isn't very forgiving and this will allow you to use things like graphite value lists (i.e. {foo,bar}) in your configs without them being parsed as individual items.

Now that hubot-glink supports multiple application configs, it's important to note that users will need to pass along an extra param, --app to specify the application's config they what hubot to use. When users don't pass along --app, the HUBOT_GLINK_DEFAULT_APP will be used instead.

License and Copyright

MIT License

(c) 2015 Jason Madsen

0.1.5

9 years ago

0.1.4

9 years ago

0.1.3

9 years ago

0.1.2

9 years ago

0.1.1

9 years ago

0.1.0

9 years ago

0.0.11

9 years ago

0.0.10

9 years ago

0.0.9

9 years ago

0.0.8

9 years ago

0.0.7

9 years ago

0.0.5

9 years ago

0.0.4

9 years ago

0.0.3

9 years ago

0.0.2

9 years ago

0.0.1

9 years ago