Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including hubot-sprintly-deploy-pull-request with all npm packages installed. Try it out:

var hubotSprintlyDeployPullRequest = require("hubot-sprintly-deploy-pull-request")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

hubot-sprintly-deploy-pull-request v0.0.2

Search Pull Request descriptions to mark items as deployed in Sprint.ly

Hubot Sprint.ly Deploy Pull Request

Search Pull Request descriptions to mark items as deployed in Sprint.ly

Installation

  1. In your hubot repo, npm install hubot-sprintly-deploy-pull-request --save
  2. Add hubot-sprintly-deploy-pull-request to your external-scripts.json

You'll also need to set these environment variables:

  • HUBOT_GITHUB_TOKEN: GitHub authentication token
  • HUBOT_GITHUB_USER: (optional) GitHub user/organization to identify owner of repository
  • HUBOT_SPRINTLY_TOKEN: (optional) Sprint.ly authentication token <email:api_key>
  • HUBOT_SPRINTLY_PRODUCT_ID: (optional) Sprint.ly product id

If you don't have a GitHub token yet, run this:

curl -i https://api.github.com/authorizations -d '{"scopes":["repo"]}' -u "yourusername"

Usage

In your deploy script, make a request to http://your-hubot-host/hubot/sprintly-deploy-pull-request with the following parameters:

  • numbers: (required) comma-separated list of Pull Request / Issue numbers
  • repo: (required) repository to find those numbers
  • owner: owner of the repository (defaults to process.env.HUBOT_GITHUB_USER)
  • productId: numeric id of Sprint.ly product (defaults to process.env.HUBOT_SPRINTLY_PRODUCT_ID)
  • auth: Sprint.ly authentication token <email:api_key> (defaults to process.env.HUBOT_SPRINTLY_TOKEN)
  • env: environment to which you just deployed to be used in Sprint.ly (defaults to 'production')

What you might add to your deploy script:

# repository name
projectName=yourproject

function sprintlyDeploy {
  # get last two git tags for git log. returns something like release123..release124
  tagDiff=`git tag -l "release-*" | sort --version-sort  | tail -n 2 | xargs echo | sed 's/ /../'`
  # get issue numbers from git log
  numbers=`git log --pretty=format:%s $tagDiff | egrep -o '#[0-9]+' | sed 's/#//g'`
  curl -X POST -d "numbers=$numbers&repo=$projectName&environment=$1" http://your-hubot-host/hubot/sprintly-deploy-pull-request
}

# you can use this function in other scripts that deploy to different environments
sprintlyDeploy production
RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free