jira-slurper gem

Slurper allows you to quickly compose your stories in a text file and import them into Jira or Pivotal Tracker.

Works great with slurper.vim! (github.com/adamlowe/vim-slurper)

Install

gem install jira-slurper

Config

Slurper requires a slurper_config.yml file in your working directory. This file contains your Tracker configuration. See the bundled ‘slurper_config.jira.yml` and `slurper_config.pivotal.yml` for example configurations

Example

Pivotal Configuration

project_id: 1234
requested_by: Jane Stakeholder
token: 123abc123abc123abc         #optional - PIVOTAL_TOKEN env  variable

The project_id tells tracker which project to add your stories to. It can be found on the project settings or the url for the project.

The token can be found on your personal profile page in Pivotal Tracker.

The requested_by field should be the name of your project stakeholder exactly as it appears in tracker.

The ssl field should be set to true if you’ve enabled “Use HTTPS” in Pivotal Tracker. SSL is being verified by peer using the cacert.pem from (curl.haxx.se/ca)

Jira Configuration

tracker: jira                   #required
url: https://jira.server.com    #required
project: TM                     #required - the project key
username: username              #optional - JIRA_USERNAME env variable
password: password              #optional - JIRA_PASSWORD env variable
api_version: latest             #optional

Usage

Create a stories.slurper file and compose your stories in the slurper story format. In your working directory use the slurp command to import your stories from the stories.slurper file into Pivotal Tracker. Slurper looks for a stories.slurper file in your current directory by default, however, you can provide an alternate story source file if necessary.

Default

slurp ~/stories.slurper

Also valid

slurp ~/special_stories.slurper

Or even

slurp ~/mystories.txt

Example stories.slurper

==

story_type:
  chore
name:
  Set Up Staging Environment
description:
  Set up and configure staging environment for approval of stories

labels:
  staging
==

story_type:
  feature
name:
  Campaign Manager Does Something
description:
  In order to get some value
  As a campaign manager
  I want to do something

  - can do something

labels:
  campaign managers
==

story_type:
  release
name:
  Big Release
description:
  This release marks a lot of awesome functionality

labels:
  campaign managers
==

story_type:
  bug
name:
  I did something and nothing happened
description:
  When I do something, another thing is supposed to happen but I see an error screen instead.

labels:
  campaign managers

Note: For jira, story_type should be one of the configured issue types. Eg: ‘New Feature`, `Bug`, `User Story`

Note: the story source file is whitespace-sensitive. Be sure the value for each key phrase is indented with two spaces beneath each key phrase. Also, start each story with a double-equals on its own line.

Your best bet is to leverage slurper.vim and benefit from its auto-indenting goodness.

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request.

Credit - Wes Gibbs (wgibbs.github.com) thought of and wrote slurper as a ruby script. It was later packaged and released as a gem by his fellow Rocketeers after using it and finding it extremely handy.