hubot-github-adapter

    0.10.0 • Public • Published

    hubot-github-adapter

    A Hubot adapter to use with Github.

    Use this adapter to have Hubot listen and comment on Github issues and pull requests.

    Motivation

    We use pull requests a lot. Now that we have a Hubot listening to our Pull Request chatter, we can do things like:

    • Ask hubot to merge our target branch back into our feature branch
    • Ask hubot to rebuild our branch (if it failed for a transient reason)
    • Get a picture of a cool squirrel when we say "ship it"

    So, basically all the cool stuff that Hubot already does, but in the context of Github comments.

    Getting Started

    Creating a new bot

    Follow the Hubot instructions to create a new bot.

    Install this adapter:

    • cd /path/to/hubot
    • yo hubot
    • npm install hubot-github-adapter --save
    • Initialize git and make your initial commit

    Create a Github User for your bot:

    This is the user your Hubot will use to post comments.

    1. Sign up for a new account on Github
    2. If you have private repositories that your bot will be interacting with, add your bot as a collaborator to all of the repositories you want it to listen and respond to. You can skip this step for public repos.
    3. Create a new OAuth token for this Github User. It needs the following scopes:
    • repo (If you want it to create comments on private repos it has access to)
    • public_repo (so that it can create comments on public repos)

    (Keep this token as secret as you would a password.)

    Create a Github Webhook for your each of your repositories:

    You'll need to create a Github webhook for every repository you want Hubot to listen to.

    1. Create a new webhook for your myuser/myrepo repository at: https://github.com/myuser/myrepo/settings/hooks/new Set the webhook url to: <HUBOT_URL>:<PORT>/hubot/github-repo-listener

      For example, if your hubot lives at myhubot.herokuapp.com, then you will set the webhook URL to: http://myhubot.herokuapp.com/hubot/github-repo-listener

      All of your repositories will point to the same URL.

    Configure your Hubot

    Set the HUBOT_GITHUB_TOKEN environment variable to the token you created above.

    Let's say you gave your Hubot user the name "BestHubotEver" You'll want to start your hubot with that name:

    • HUBOT_GITHUB_TOKEN=some-long-guid-number ./bin/hubot --adapter github-adapter --name BestHubotEver

    Test Your Hubot

    Hubot is now listening to your comments on issues and pull requests. You should be able to say: @BestHubotEver ping, and if he is listening, he will respond with PONG

    Testing your bot locally

    If you want to test your bot locally, you can create a temporary webhook that goes to your machine instead of a live Hubot. See detailed instructions on the hubot-github-webhook-listener page.

    Configuration

    This adapter uses the following environment variables:

    • HUBOT_GITHUB_TOKEN - This is the auth token for the Github user you created above.

    A note on naming

    It's customary to name adapters simply hubot-<adapter>, however github-hubot is taken.

    Copyright

    Copyright © YouNeedABudget.com, LLC. (Github: YNAB)

    Author

    Taylor Brown, aka Taytay

    License

    MIT License; see LICENSE for further details.

    Install

    npm i hubot-github-adapter

    DownloadsWeekly Downloads

    1

    Version

    0.10.0

    License

    MIT

    Last publish

    Collaborators

    • taytay