• Stars
    star
    127
  • Rank 282,790 (Top 6 %)
  • Language
    Ruby
  • License
    MIT License
  • Created almost 15 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Gem for slurping plain text stories into Pivotal Tracker

slurper

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

Works great with slurper.vim!

Install

$ gem install slurper

Config

Slurper requires a slurper_config.yml file in your working directory. This file contains your Tracker API and story requestor information.

Example

# slurper_config.yml

project_id: 1234
token: 123abc123abc123abc
requested_by: Jane Stakeholder

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.

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

/* 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: 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.

Example Stories (Advanced)

There are some advanced techniques for formatting your stories beyond the simple type, name, description and label fields. See below for some examples.

/* advanced.slurper */

==
story_type:
  feature
name:
  Make the cart accept coupons on checkout
description:
  When I get to the checkout phase, I want the ability to add an optional coupon code. Use TESTCOUPON to test with.
labels:
  cart,coupon system,checkout
estimate:
  3
requested_by:
  Joe Developer

Note: Any field that is supported by the Pivotal Tracker API should work within reason (i.e. file uploads won't work). To get an idea of the fields available see Pivotal Tracker's Example CSV data documentation.

Development

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Please add tests at the same time as new features, and verify they all pass with:

$ rake

Credit - Wes Gibbs (https://github.com/wesgibbs) 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.


About

Hashrocket logo

Slurper is supported by the team at Hashrocket, a multidisciplinary design and development consultancy. If you'd like to work with us or join our team, don't hesitate to get in touch.

More Repositories

1

decent_exposure

A helper for creating declarative interfaces in controllers
Ruby
1,799
star
2

gatling

Deployment tool for Phoenix apps
Elixir
498
star
3

tilex

Today I Learned
Elixir
495
star
4

ws

websocket command line tool
Go
425
star
5

websocket-shootout

A comparison of websocket servers in multiple languages and frameworks
JavaScript
417
star
6

dotmatrix

Hashrocket Dot Files
Vim Script
363
star
7

hr-til

Today I Learned in Ruby
Ruby
341
star
8

view_specify

Auto-generate RSpec view specs by interrogating your existing views.
Ruby
55
star
9

unencumbered

Just enough Cucumber in RSpec.
Ruby
53
star
10

capybara-webmock

Mock external requests for Capybara JavaScript drivers
Ruby
48
star
11

mousetrap

CheddarGetter API Client in Ruby
Ruby
34
star
12

namecheap

ruby namecheap API wrapper
Ruby
32
star
13

coming-soon

App to register emails addresses. Intended as a coming soon, pre-launch, splash page.
JavaScript
27
star
14

acts_as_featured

Ruby
25
star
15

design_patterns_in_ruby

Wherein we reimplement the design patterns from the _Design Patterns in Ruby_ book, by Russ Olsen.
Ruby
25
star
16

vim-hashrocket

Mappings we find useful
Vim Script
23
star
17

localpolitics.in

Hashrocket's Martin Luther King Jr. Memorial 2009 Hack Day Apps for America Celebrity Rabies Awareness Pro-Am Fun Run Race For The Cure
JavaScript
18
star
18

terraformation

Generators with a Hashrocket twist
Ruby
15
star
19

vim-macdown

write markdown in Vim with live-reloads in MacDown
Vim Script
14
star
20

hashrocket-rails

Rails engine & generators for bootstrapping a Hashrocket project
Ruby
12
star
21

slack-command-api

A Sinatra API for processing custom Slack commands
Ruby
12
star
22

boot_devcards_example

Example of using devcards with boot
Clojure
10
star
23

graphql_way_rails

This is a Proof of Concept Rails project using GraphQL
Ruby
6
star
24

wowza

Ruby wrapper around the Wowza REST API
Ruby
5
star
25

hr_hotels

Example database for hotels.
Ruby
5
star
26

hr

Hashrocket Sub
Ruby
5
star
27

ecto_pg_extras

A collection of custom functions for PostgreSQL features in Ecto
Elixir
4
star
28

my_emma

Ruby wrapper for the MyEmma Remote Signup API
Ruby
4
star
29

university-bookstore

Hashrocket Training Project for Pre-RailsConf 2010 Workshop
Ruby
4
star
30

hashrocket-vr-example

JavaScript
3
star
31

dibs-ios

An iOS client for the Dibs "Online classifieds without the strangers" web application.
Objective-C
3
star
32

OffBot

๐Ÿ”Œ ๐Ÿค– Timely slack notifications for scheduled holidays and vacations
Ruby
3
star
33

learn_to_program

Curriculums and Programs for Teaching people how to build web applications
Ruby
2
star
34

concepts

A gallery for our side projects
JavaScript
2
star
35

wowza-webhooks

Java
2
star
36

vim-hr-psql

Open psql formatted table definitions from Vim Postgres
Vim Script
2
star
37

chime

Chimes in the Chicago office when someone comes in the front door
Arduino
1
star
38

hacktive

Github activity tracker
Ruby
1
star
39

homebrew-formulas

Hashrocket homebrew formulas
Ruby
1
star
40

spices

Ruby
1
star
41

metro_relic

Easily track custom newrelic metrics with a config file
Ruby
1
star
42

vostok

The Hashrocket middleman template
CSS
1
star
43

trybool

The value parsing tool to return a boolean that you never knew you needed!
Ruby
1
star
44

homebrew-fdw

FDW formulas for Homebrew package manager
Ruby
1
star
45

scored

Simple iPhone app
Objective-C
1
star
46

hashshake

Hashrocket shakes hands ๐Ÿค
Ruby
1
star