0.1.5 • Published 10 years ago

hubot-glink v0.1.5

Weekly downloads
1
License
MIT
Repository
github
Last release
10 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

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.11

10 years ago

0.0.10

10 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago