Skip to content
This repository has been archived by the owner on Jun 8, 2023. It is now read-only.

github/hubot-scripts

Repository files navigation

hubot-scripts

These are a collection of community scripts forhubot,a chat bot for your company.

Important:this repository is no longer accepting new scripts. Please readCONTRIBUTING.mdfor details.

There is a new system for distributing scripts, and adding them to your own hubot. Locate the appropriate script in thehubot-scripts organizationor onnpm tagged ashubot-scripts,and follow the script's documentation. In general, this will be something like:

  1. Add a line to external-scripts.json
  2. Add a line to package.json
  3. Add environment variables, depending on the script

Discovering

Check out thehubot-script-catalogfor a list and description of all the available scripts.

Installing

Once you have Hubot installed, you should already havehubot-scripts installed. Checkpackage.jsonto be sure. If that is the case, you update hubot-scripts.jsonto list any scripts from this repository you want to load. The defaulthubot-scripts.jsonlooks like:

[ "redis-brain.coffee", "shipit.coffee" ]

If you updatehubot-scriptsinpackage.json,you will automatically get updates to your scripts listed here.

Alternatively, you can copy files from this repository into yourscripts directory. Note that you would not get updates from thehubot-scripts repository unless you copy them yourself.

Any third-party dependencies for scripts need the addition of your package.jsonotherwise a lot of errors will be thrown during the start up of your hubot. You can find a list of dependencies for a script in the documentation header at the top of the script.

Restart your robot, and you're good to go.

All the scripts in this repository are located insrc/scripts.

Writing

Want to write your own Hubot script? The best way is to take a look at an existing scriptand see how things are set up. Hubot scripts are written in CoffeeScript, a higher-level implementation of JavaScript.

Additionally, it's extremely helpful to addTomDocto the top of each file. (Check outan example). We'll pull out the commands from those lines and display them in the generic, robot-widehubot help command.

Please note we're no longer including external dependencies in the package.json,so should you wish to include them please include the package name and required version in the TomDoc comments at the top of your script.

Documentation

We're now requiring all scripts in hubot-scripts to contain a documentation header so people know everything about the script.

#Description
#<description of the scripts functionality>
#
#Dependencies:
#"<module name>": "<module version>"
#
#Configuration:
#LIST_OF_ENV_VARS_TO_SET
#
#Commands:
#hubot <trigger> - <what the respond trigger does>
#<trigger> - <what the hear trigger does>
#
#Notes:
#<optional notes required for the script>
#
#Author:
#<github username of the original script author>

If you have nothing to fill in for a section you should includeNonein that section. Empty sections which are optional should be left blank. A script will be required to fill out the documentation before being merged into the repository.