pt-flow 0.5.3 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +9 -6
- data/lib/pt-flow.rb +2 -1
- data/lib/pt-flow/branch.rb +33 -0
- data/lib/pt-flow/ui.rb +36 -41
- data/lib/pt-flow/version.rb +1 -1
- data/pt-flow.gemspec +2 -0
- data/spec/fixtures/{story-4459994.xml → chore.xml} +1 -2
- data/spec/fixtures/stories.xml +1 -1
- data/spec/fixtures/story.xml +1 -1
- data/spec/lib/pt-flow/ui_spec.rb +20 -27
- metadata +39 -18
- data/spec/fixtures/features.xml +0 -293
- data/spec/fixtures/memberships.xml +0 -42
- data/spec/fixtures/project.xml +0 -53
- data/spec/fixtures/story-4460038.xml +0 -46
- data/spec/fixtures/story-4460598.xml +0 -32
- data/spec/fixtures/story-4473735.xml +0 -48
data/README.md
CHANGED
@@ -13,7 +13,6 @@ Install the gem:
|
|
13
13
|
- flow start
|
14
14
|
- flow finish
|
15
15
|
- flow review
|
16
|
-
- flow deliver
|
17
16
|
|
18
17
|
### Committer
|
19
18
|
|
@@ -21,6 +20,8 @@ Install the gem:
|
|
21
20
|
$ flow start
|
22
21
|
# shows lists of tasks - choosing one starts/assigns the task on pt and checks out a new branch.
|
23
22
|
|
23
|
+
# Make sure your branch is up-to-date with release branch
|
24
|
+
|
24
25
|
$ flow finish
|
25
26
|
# pushes branch, finishes task on pt, and opens github new pull request page.
|
26
27
|
# follow with cap staging deploy:migrations BRANCH=master-325325 etc...
|
@@ -30,9 +31,11 @@ $ flow finish
|
|
30
31
|
|
31
32
|
```bash
|
32
33
|
$ flow review
|
33
|
-
#
|
34
|
-
|
34
|
+
# selecting a pull request opens github page, comment :+1: to approve
|
35
|
+
```
|
36
|
+
|
37
|
+
### Committer
|
35
38
|
|
36
|
-
|
37
|
-
#
|
38
|
-
|
39
|
+
```bash
|
40
|
+
# pressing merge button on github delivers task on pivotal tracker
|
41
|
+
```
|
data/lib/pt-flow.rb
CHANGED
@@ -0,0 +1,33 @@
|
|
1
|
+
module PT::Flow
|
2
|
+
class Branch
|
3
|
+
require 'i18n'
|
4
|
+
require 'active_support/core_ext/string/inflections'
|
5
|
+
|
6
|
+
attr_accessor :name
|
7
|
+
|
8
|
+
def self.current
|
9
|
+
new(`git rev-parse --abbrev-ref HEAD`.strip)
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.from_task(task)
|
13
|
+
new("#{current.target}.#{task.name.parameterize[0..60]}.#{task.id}")
|
14
|
+
end
|
15
|
+
|
16
|
+
def initialize(name)
|
17
|
+
@name = name
|
18
|
+
end
|
19
|
+
|
20
|
+
def target
|
21
|
+
name.split('.').first
|
22
|
+
end
|
23
|
+
|
24
|
+
def task_id
|
25
|
+
name[/\d+$/] || ''
|
26
|
+
end
|
27
|
+
|
28
|
+
def to_s
|
29
|
+
name
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
data/lib/pt-flow/ui.rb
CHANGED
@@ -7,64 +7,67 @@ module PT::Flow
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def start
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
if @params[0]
|
11
|
+
task = create
|
12
|
+
else
|
13
|
+
table = PT::TasksTable.new(@client.get_work(@project))
|
14
|
+
title("Available tasks in #{project_to_s}")
|
15
|
+
task = select("Please select a task to start working on", table)
|
16
|
+
end
|
14
17
|
estimate_task(task, ask("How many points do you estimate for it? (#{@project.point_scale})")) if task.estimate && task.estimate < 0
|
15
18
|
assign_task(task, @local_config[:user_name])
|
16
19
|
start_task(task)
|
17
|
-
run("git checkout -b #{
|
20
|
+
run("git checkout -b #{Branch.from_task(task)}")
|
18
21
|
end
|
19
22
|
|
20
23
|
def finish
|
21
|
-
run("git push origin #{
|
22
|
-
task = PivotalTracker::Story.find(
|
23
|
-
title = task.name.gsub('"',"'") + " [##{task.id}]"
|
24
|
-
|
25
|
-
run("
|
24
|
+
run("git push origin #{branch}")
|
25
|
+
task = PivotalTracker::Story.find(branch.task_id, @project.id)
|
26
|
+
title = task.name.gsub('"',"'") + " [Delivers ##{task.id}]"
|
27
|
+
|
28
|
+
run("hub pull-request -b #{branch.target} -h #{repo.user}:#{branch} \"#{title}\"")
|
29
|
+
run("git checkout #{branch.target}")
|
26
30
|
finish_task(task)
|
27
31
|
end
|
28
32
|
|
29
|
-
def
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
33
|
+
def create
|
34
|
+
name = @params[0] || ask("Name for the new story:")
|
35
|
+
types = { 'c' => 'chore', 'b' => 'bug', 'f' => 'feature' }
|
36
|
+
task_type = types[ask('Type? (c)hore, (b)ug, (f)eature')]
|
37
|
+
task = @project.stories.create(name: name, requested_by: @local_config[:user_name], story_type: task_type)
|
38
|
+
if task.errors.any?
|
39
|
+
error(task.errors.errors)
|
40
|
+
else
|
41
|
+
congrats("#{task_type} created: #{task.url}")
|
42
|
+
task
|
43
|
+
end
|
39
44
|
end
|
40
45
|
|
41
46
|
def review
|
42
47
|
table = PullRequestsTable.new(repo.pull_requests)
|
43
48
|
pull_request = select("Please select a pull request to review", table)
|
44
|
-
run("git fetch")
|
45
|
-
run("git checkout #{pull_request.head.ref}")
|
46
49
|
run("open #{pull_request.html_url}/files")
|
47
50
|
rescue Github::Error::Unauthorized => e
|
48
51
|
error("Error from github: #{e.message}")
|
49
52
|
end
|
50
53
|
|
51
54
|
def cleanup
|
52
|
-
title("Cleaning merged story branches for [#{
|
55
|
+
title("Cleaning merged story branches for [#{branch.target}]")
|
53
56
|
|
54
57
|
# Update our list of remotes
|
55
58
|
run("git fetch")
|
56
59
|
run("git remote prune origin")
|
57
60
|
|
58
61
|
# Only clean out merged story branches for current topic
|
59
|
-
filter = "#{
|
62
|
+
filter = "#{branch.target}.\\+[0-9]\\+$"
|
60
63
|
|
61
64
|
# Remove local branches fully merged with origin/current_target
|
62
|
-
run("git branch --merged origin/#{
|
65
|
+
run("git branch --merged origin/#{branch.target} | grep '#{filter}' | xargs git branch -D")
|
63
66
|
|
64
67
|
# Remove remote branches fully merged with origin/master
|
65
|
-
run("git branch -r --merged origin/#{
|
68
|
+
run("git branch -r --merged origin/#{branch.target} | sed 's/ *origin\\///' | grep '#{filter}' | xargs -I% git push origin :%")
|
66
69
|
|
67
|
-
congrats("Deleted branches merged with [#{
|
70
|
+
congrats("Deleted branches merged with [#{branch.target}]")
|
68
71
|
end
|
69
72
|
|
70
73
|
def help
|
@@ -76,14 +79,18 @@ module PT::Flow
|
|
76
79
|
puts("flow start # start working on a story")
|
77
80
|
puts("flow finish # finish a story and create a pull request")
|
78
81
|
puts("flow review # review a pull request")
|
79
|
-
puts("flow deliver # merge current branch and clean up")
|
82
|
+
#puts("flow deliver # merge current branch and clean up")
|
80
83
|
puts("flow cleanup # deleted merged local/remote branches and prune origin")
|
81
84
|
end
|
82
85
|
|
83
86
|
private
|
84
87
|
|
88
|
+
def branch
|
89
|
+
@branch ||= Branch.current
|
90
|
+
end
|
91
|
+
|
85
92
|
def repo
|
86
|
-
Repo.new
|
93
|
+
@repo ||= Repo.new
|
87
94
|
end
|
88
95
|
|
89
96
|
def assign_task(task, owner)
|
@@ -95,18 +102,6 @@ module PT::Flow
|
|
95
102
|
end
|
96
103
|
end
|
97
104
|
|
98
|
-
def current_branch
|
99
|
-
@current_branch ||= `git rev-parse --abbrev-ref HEAD`.strip
|
100
|
-
end
|
101
|
-
|
102
|
-
def current_target
|
103
|
-
current_branch.sub(current_task_id, '').chomp('-')
|
104
|
-
end
|
105
|
-
|
106
|
-
def current_task_id
|
107
|
-
current_branch[/\d+$/] || ''
|
108
|
-
end
|
109
|
-
|
110
105
|
def run(command)
|
111
106
|
title(command)
|
112
107
|
error("Error running: #{command}") unless system(command)
|
data/lib/pt-flow/version.rb
CHANGED
data/pt-flow.gemspec
CHANGED
@@ -18,6 +18,8 @@ Gem::Specification.new do |gem|
|
|
18
18
|
gem.add_dependency 'pt'
|
19
19
|
gem.add_dependency 'hub'
|
20
20
|
gem.add_dependency 'github_api'
|
21
|
+
gem.add_dependency 'active_support'
|
22
|
+
gem.add_dependency 'i18n'
|
21
23
|
|
22
24
|
gem.add_development_dependency 'rspec', '~> 2.9'
|
23
25
|
gem.add_development_dependency 'webmock'
|
@@ -2,9 +2,8 @@
|
|
2
2
|
<story>
|
3
3
|
<id type="integer">4459994</id>
|
4
4
|
<project_id type="integer">102622</project_id>
|
5
|
-
<story_type>
|
5
|
+
<story_type>chore</story_type>
|
6
6
|
<url>http://www.pivotaltracker.com/story/show/4459994</url>
|
7
|
-
<estimate type="integer">-1</estimate>
|
8
7
|
<current_state>unstarted</current_state>
|
9
8
|
<description>Generic description</description>
|
10
9
|
<name>Unestimated Feature</name>
|
data/spec/fixtures/stories.xml
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
<estimate type="integer">-1</estimate>
|
23
23
|
<current_state>unstarted</current_state>
|
24
24
|
<description>Generic description</description>
|
25
|
-
<name>Unestimated Feature</name>
|
25
|
+
<name>As a user I should see an Unestimated Feature with a fairly long name</name>
|
26
26
|
<requested_by>Jon Mischo</requested_by>
|
27
27
|
<created_at type="datetime">2010/07/27 21:51:01 UTC</created_at>
|
28
28
|
<updated_at type="datetime">2010/07/27 22:20:46 UTC</updated_at>
|
data/spec/fixtures/story.xml
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
<estimate type="integer">-1</estimate>
|
8
8
|
<current_state>unstarted</current_state>
|
9
9
|
<description>Generic description</description>
|
10
|
-
<name>
|
10
|
+
<name>As a user I should see an Unestimated Feature with a fairly long name</name>
|
11
11
|
<requested_by>Jon Mischo</requested_by>
|
12
12
|
<created_at type="datetime">2010/07/27 21:51:01 UTC</created_at>
|
13
13
|
<updated_at type="datetime">2010/07/27 22:20:46 UTC</updated_at>
|
data/spec/lib/pt-flow/ui_spec.rb
CHANGED
@@ -9,6 +9,7 @@ describe PT::Flow::UI do
|
|
9
9
|
HighLine.stub(new: prompt)
|
10
10
|
stub_request(:get, /projects$/).to_return(body: fixture_file('projects.xml'))
|
11
11
|
stub_request(:get, /stories\?/).to_return(body: fixture_file('stories.xml'))
|
12
|
+
stub_request(:post, /stories$/).to_return(body: fixture_file('chore.xml'))
|
12
13
|
stub_request(:any, /stories\/\d+/).to_return(body: fixture_file('story.xml'))
|
13
14
|
end
|
14
15
|
|
@@ -25,7 +26,7 @@ describe PT::Flow::UI do
|
|
25
26
|
WebMock.should have_requested(:put, "#{endpoint}/projects/102622/stories/4459994").with(body: /<owned_by>Jon Mischo<\/owned_by>/)
|
26
27
|
WebMock.should have_requested(:put, "#{endpoint}/projects/102622/stories/4459994").with(body: /<current_state>started<\/current_state>/)
|
27
28
|
|
28
|
-
current_branch.should == 'master-4459994'
|
29
|
+
current_branch.should == 'master.as-a-user-i-should-see-an-unestimated-feature-with-a-fairly-l.4459994'
|
29
30
|
end
|
30
31
|
end
|
31
32
|
|
@@ -42,17 +43,29 @@ describe PT::Flow::UI do
|
|
42
43
|
it "creates an appropriately namespaced branch" do
|
43
44
|
prompt.should_receive(:ask).and_return('3')
|
44
45
|
PT::Flow::UI.new %w{ start }
|
45
|
-
current_branch.should == 'new_feature-4460038'
|
46
|
+
current_branch.should == 'new_feature.this-is-for-comments.4460038'
|
46
47
|
end
|
47
48
|
end
|
48
49
|
|
49
50
|
context 'when run from an existing story branch' do
|
50
|
-
before { system('git checkout -B new_feature-
|
51
|
+
before { system('git checkout -B new_feature.as-a-user-i-should.4459994') }
|
51
52
|
|
52
53
|
it "creates a branch within the same namespace" do
|
53
54
|
prompt.should_receive(:ask).and_return('3')
|
54
55
|
PT::Flow::UI.new %w{ start }
|
55
|
-
current_branch.should == 'new_feature-4460038'
|
56
|
+
current_branch.should == 'new_feature.this-is-for-comments.4460038'
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
context 'given a string' do
|
61
|
+
it "creates and starts a new story with that name" do
|
62
|
+
prompt.should_receive(:ask).with("Type? (c)hore, (b)ug, (f)eature".bold).and_return('c')
|
63
|
+
|
64
|
+
PT::Flow::UI.new ['start','a new feature']
|
65
|
+
|
66
|
+
WebMock.should have_requested(:post, "#{endpoint}/projects/102622/stories").with(body: /<name>a new feature<\/name>/).with(body: /<story_type>chore<\/story_type>/).with(body: /<requested_by>Jon Mischo<\/requested_by>/)
|
67
|
+
WebMock.should have_requested(:put, "#{endpoint}/projects/102622/stories/4459994").with(body: /<owned_by>Jon Mischo<\/owned_by>/)
|
68
|
+
WebMock.should have_requested(:put, "#{endpoint}/projects/102622/stories/4459994").with(body: /<current_state>started<\/current_state>/)
|
56
69
|
end
|
57
70
|
end
|
58
71
|
end
|
@@ -60,36 +73,16 @@ describe PT::Flow::UI do
|
|
60
73
|
describe '#finish' do
|
61
74
|
before do
|
62
75
|
#TODO: Stubbed endpoint ALWAYS returns story 4459994, need a way to check it is actually getting the right id from the branch
|
63
|
-
system('git checkout -B new_feature-4459994')
|
76
|
+
system('git checkout -B new_feature.as-a-user-i-should.4459994')
|
64
77
|
system('git remote add origin git@github.com:cookpad/pt-flow.git')
|
65
78
|
end
|
66
79
|
|
67
80
|
it "pushes the current branch to origin, flags the story as finished, and opens a github pull request" do
|
68
|
-
PT::Flow::UI.any_instance.should_receive(:run).with('git push origin new_feature-4459994')
|
69
|
-
PT::Flow::UI.any_instance.should_receive(:run).with("hub pull-request -b new_feature -h cookpad:new_feature-4459994 \"
|
81
|
+
PT::Flow::UI.any_instance.should_receive(:run).with('git push origin new_feature.as-a-user-i-should.4459994')
|
82
|
+
PT::Flow::UI.any_instance.should_receive(:run).with("hub pull-request -b new_feature -h cookpad:new_feature.as-a-user-i-should.4459994 \"As a user I should see an Unestimated Feature with a fairly long name [Delivers #4459994]\"")
|
70
83
|
PT::Flow::UI.any_instance.should_receive(:run).with('git checkout new_feature')
|
71
84
|
PT::Flow::UI.new %w{ finish }
|
72
85
|
WebMock.should have_requested(:put, "#{endpoint}/projects/102622/stories/4459994").with(body: /<current_state>finished<\/current_state>/)
|
73
86
|
end
|
74
87
|
end
|
75
|
-
|
76
|
-
describe '#deliver' do
|
77
|
-
before do
|
78
|
-
#TODO: Stubbed endpoint ALWAYS returns story 4459994, need a way to check it is actually getting the right id from the branch
|
79
|
-
system('git checkout -B new_feature-4459994')
|
80
|
-
end
|
81
|
-
|
82
|
-
it "pushes the current branch to origin, flags the story as finished, and opens a github pull request" do
|
83
|
-
PT::Flow::UI.any_instance.should_receive(:run).with('git fetch')
|
84
|
-
PT::Flow::UI.any_instance.should_receive(:run).with('git checkout new_feature')
|
85
|
-
PT::Flow::UI.any_instance.should_receive(:run).with('git pull --rebase origin new_feature')
|
86
|
-
PT::Flow::UI.any_instance.should_receive(:run).with('git merge new_feature-4459994')
|
87
|
-
PT::Flow::UI.any_instance.should_receive(:run).with('git push origin new_feature')
|
88
|
-
PT::Flow::UI.any_instance.should_receive(:run).with('git push origin :new_feature-4459994')
|
89
|
-
PT::Flow::UI.any_instance.should_receive(:run).with('git branch -d new_feature-4459994')
|
90
|
-
|
91
|
-
PT::Flow::UI.new %w{ deliver }
|
92
|
-
WebMock.should have_requested(:put, "#{endpoint}/projects/102622/stories/4459994").with(body: /<current_state>delivered<\/current_state>/)
|
93
|
-
end
|
94
|
-
end
|
95
88
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pt-flow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-10-
|
12
|
+
date: 2012-10-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: pt
|
@@ -59,6 +59,38 @@ dependencies:
|
|
59
59
|
- - ! '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: active_support
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: i18n
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
type: :runtime
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
62
94
|
- !ruby/object:Gem::Dependency
|
63
95
|
name: rspec
|
64
96
|
requirement: !ruby/object:Gem::Requirement
|
@@ -139,22 +171,17 @@ files:
|
|
139
171
|
- Rakefile
|
140
172
|
- bin/flow
|
141
173
|
- lib/pt-flow.rb
|
174
|
+
- lib/pt-flow/branch.rb
|
142
175
|
- lib/pt-flow/pull_requests_table.rb
|
143
176
|
- lib/pt-flow/repo.rb
|
144
177
|
- lib/pt-flow/ui.rb
|
145
178
|
- lib/pt-flow/version.rb
|
146
179
|
- pt-flow.gemspec
|
147
|
-
- spec/fixtures/
|
180
|
+
- spec/fixtures/chore.xml
|
148
181
|
- spec/fixtures/global_config.yml
|
149
182
|
- spec/fixtures/local_config.yml
|
150
|
-
- spec/fixtures/memberships.xml
|
151
|
-
- spec/fixtures/project.xml
|
152
183
|
- spec/fixtures/projects.xml
|
153
184
|
- spec/fixtures/stories.xml
|
154
|
-
- spec/fixtures/story-4459994.xml
|
155
|
-
- spec/fixtures/story-4460038.xml
|
156
|
-
- spec/fixtures/story-4460598.xml
|
157
|
-
- spec/fixtures/story-4473735.xml
|
158
185
|
- spec/fixtures/story.xml
|
159
186
|
- spec/lib/pt-flow/ui_spec.rb
|
160
187
|
- spec/spec_helper.rb
|
@@ -176,7 +203,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
176
203
|
version: '0'
|
177
204
|
segments:
|
178
205
|
- 0
|
179
|
-
hash:
|
206
|
+
hash: 1622382141531473024
|
180
207
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
181
208
|
none: false
|
182
209
|
requirements:
|
@@ -185,7 +212,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
185
212
|
version: '0'
|
186
213
|
segments:
|
187
214
|
- 0
|
188
|
-
hash:
|
215
|
+
hash: 1622382141531473024
|
189
216
|
requirements: []
|
190
217
|
rubyforge_project:
|
191
218
|
rubygems_version: 1.8.23
|
@@ -193,17 +220,11 @@ signing_key:
|
|
193
220
|
specification_version: 3
|
194
221
|
summary: Some extra methods for the pt gem to use in our dev flow.
|
195
222
|
test_files:
|
196
|
-
- spec/fixtures/
|
223
|
+
- spec/fixtures/chore.xml
|
197
224
|
- spec/fixtures/global_config.yml
|
198
225
|
- spec/fixtures/local_config.yml
|
199
|
-
- spec/fixtures/memberships.xml
|
200
|
-
- spec/fixtures/project.xml
|
201
226
|
- spec/fixtures/projects.xml
|
202
227
|
- spec/fixtures/stories.xml
|
203
|
-
- spec/fixtures/story-4459994.xml
|
204
|
-
- spec/fixtures/story-4460038.xml
|
205
|
-
- spec/fixtures/story-4460598.xml
|
206
|
-
- spec/fixtures/story-4473735.xml
|
207
228
|
- spec/fixtures/story.xml
|
208
229
|
- spec/lib/pt-flow/ui_spec.rb
|
209
230
|
- spec/spec_helper.rb
|
data/spec/fixtures/features.xml
DELETED
@@ -1,293 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<stories type="array" count="14" limit="20" total="14">
|
3
|
-
<story>
|
4
|
-
<id type="integer">4460116</id>
|
5
|
-
<project_id type="integer">102622</project_id>
|
6
|
-
<story_type>feature</story_type>
|
7
|
-
<url>http://www.pivotaltracker.com/story/show/4460116</url>
|
8
|
-
<estimate type="integer">0</estimate>
|
9
|
-
<current_state>accepted</current_state>
|
10
|
-
<description>This is a story that's finished.</description>
|
11
|
-
<name>Old, accepted story</name>
|
12
|
-
<requested_by>Jon Mischo</requested_by>
|
13
|
-
<created_at type="datetime">2010/07/27 21:58:28 UTC</created_at>
|
14
|
-
<updated_at type="datetime">2010/07/27 22:21:17 UTC</updated_at>
|
15
|
-
<accepted_at type="datetime">2010/07/18 17:00:00 UTC</accepted_at>
|
16
|
-
</story>
|
17
|
-
<story>
|
18
|
-
<id type="integer">4459994</id>
|
19
|
-
<project_id type="integer">102622</project_id>
|
20
|
-
<story_type>feature</story_type>
|
21
|
-
<url>http://www.pivotaltracker.com/story/show/4459994</url>
|
22
|
-
<estimate type="integer">2</estimate>
|
23
|
-
<current_state>unstarted</current_state>
|
24
|
-
<description>Generic description</description>
|
25
|
-
<name>Tasks Test</name>
|
26
|
-
<requested_by>Jon Mischo</requested_by>
|
27
|
-
<created_at type="datetime">2010/07/27 21:51:01 UTC</created_at>
|
28
|
-
<updated_at type="datetime">2010/07/27 22:20:46 UTC</updated_at>
|
29
|
-
<tasks type="array">
|
30
|
-
<task>
|
31
|
-
<id type="integer">468113</id>
|
32
|
-
<description>Task number 1</description>
|
33
|
-
<position>1</position>
|
34
|
-
<complete>false</complete>
|
35
|
-
<created_at type="datetime">2010/07/27 21:51:28 UTC</created_at>
|
36
|
-
</task>
|
37
|
-
<task>
|
38
|
-
<id type="integer">468114</id>
|
39
|
-
<description>Number 2 Task</description>
|
40
|
-
<position>2</position>
|
41
|
-
<complete>false</complete>
|
42
|
-
<created_at type="datetime">2010/07/27 21:51:32 UTC</created_at>
|
43
|
-
</task>
|
44
|
-
<task>
|
45
|
-
<id type="integer">468117</id>
|
46
|
-
<description>3rd task is a charm</description>
|
47
|
-
<position>3</position>
|
48
|
-
<complete>true</complete>
|
49
|
-
<created_at type="datetime">2010/07/27 21:51:42 UTC</created_at>
|
50
|
-
</task>
|
51
|
-
</tasks>
|
52
|
-
</story>
|
53
|
-
<story>
|
54
|
-
<id type="integer">4460038</id>
|
55
|
-
<project_id type="integer">102622</project_id>
|
56
|
-
<story_type>feature</story_type>
|
57
|
-
<url>http://www.pivotaltracker.com/story/show/4460038</url>
|
58
|
-
<estimate type="integer">1</estimate>
|
59
|
-
<current_state>unstarted</current_state>
|
60
|
-
<description>This is a story that has comments.</description>
|
61
|
-
<name>This is for comments</name>
|
62
|
-
<requested_by>Jon Mischo</requested_by>
|
63
|
-
<created_at type="datetime">2010/07/27 21:53:16 UTC</created_at>
|
64
|
-
<updated_at type="datetime">2010/07/27 22:20:48 UTC</updated_at>
|
65
|
-
<notes type="array">
|
66
|
-
<note>
|
67
|
-
<id type="integer">2111593</id>
|
68
|
-
<text>This is a comment...whee!</text>
|
69
|
-
<author>Jon</author>
|
70
|
-
<noted_at type="datetime">2010/07/27 22:15:48 UTC</noted_at>
|
71
|
-
</note>
|
72
|
-
<note>
|
73
|
-
<id type="integer">2128955</id>
|
74
|
-
<text>Test note</text>
|
75
|
-
<author>Test Suite Access</author>
|
76
|
-
<noted_at type="datetime">2010/07/29 18:15:09 UTC</noted_at>
|
77
|
-
</note>
|
78
|
-
<note>
|
79
|
-
<id type="integer">2128959</id>
|
80
|
-
<text>Test note</text>
|
81
|
-
<author>Test Suite Access</author>
|
82
|
-
<noted_at type="datetime">2010/07/29 18:16:12 UTC</noted_at>
|
83
|
-
</note>
|
84
|
-
<note>
|
85
|
-
<id type="integer">2129077</id>
|
86
|
-
<text>Test note</text>
|
87
|
-
<author>Test Suite Access</author>
|
88
|
-
<noted_at type="datetime">2010/07/29 18:22:26 UTC</noted_at>
|
89
|
-
</note>
|
90
|
-
<note>
|
91
|
-
<id type="integer">2129374</id>
|
92
|
-
<text>Test note</text>
|
93
|
-
<author>Test Suite Access</author>
|
94
|
-
<noted_at type="datetime">2010/07/29 18:55:44 UTC</noted_at>
|
95
|
-
</note>
|
96
|
-
</notes>
|
97
|
-
</story>
|
98
|
-
<story>
|
99
|
-
<id type="integer">4460598</id>
|
100
|
-
<project_id type="integer">102622</project_id>
|
101
|
-
<story_type>feature</story_type>
|
102
|
-
<url>http://www.pivotaltracker.com/story/show/4460598</url>
|
103
|
-
<estimate type="integer">3</estimate>
|
104
|
-
<current_state>unstarted</current_state>
|
105
|
-
<description>This story has attachments.</description>
|
106
|
-
<name>Story with attachments</name>
|
107
|
-
<requested_by>Jon Mischo</requested_by>
|
108
|
-
<created_at type="datetime">2010/07/27 22:33:13 UTC</created_at>
|
109
|
-
<updated_at type="datetime">2010/07/27 22:33:28 UTC</updated_at>
|
110
|
-
<attachments type="array">
|
111
|
-
<attachment>
|
112
|
-
<id type="integer">491576</id>
|
113
|
-
<filename>LICENSE</filename>
|
114
|
-
<description></description>
|
115
|
-
<uploaded_by>Jon</uploaded_by>
|
116
|
-
<uploaded_at type="datetime">2010/07/27 22:34:23 UTC</uploaded_at>
|
117
|
-
<url>http://www.pivotaltracker.com/resource/download/491576</url>
|
118
|
-
</attachment>
|
119
|
-
<attachment>
|
120
|
-
<id type="integer">493019</id>
|
121
|
-
<filename>README.rdoc</filename>
|
122
|
-
<description>README file from api gem</description>
|
123
|
-
<uploaded_by>Jon</uploaded_by>
|
124
|
-
<uploaded_at type="datetime">2010/07/28 15:16:18 UTC</uploaded_at>
|
125
|
-
<url>http://www.pivotaltracker.com/resource/download/493019</url>
|
126
|
-
</attachment>
|
127
|
-
</attachments>
|
128
|
-
</story>
|
129
|
-
<story>
|
130
|
-
<id type="integer">4473735</id>
|
131
|
-
<project_id type="integer">102622</project_id>
|
132
|
-
<story_type>feature</story_type>
|
133
|
-
<url>http://www.pivotaltracker.com/story/show/4473735</url>
|
134
|
-
<estimate type="integer">1</estimate>
|
135
|
-
<current_state>unstarted</current_state>
|
136
|
-
<description></description>
|
137
|
-
<name>Attachment upload test story</name>
|
138
|
-
<requested_by>Jon</requested_by>
|
139
|
-
<created_at type="datetime">2010/07/28 18:17:33 UTC</created_at>
|
140
|
-
<updated_at type="datetime">2010/07/28 18:17:44 UTC</updated_at>
|
141
|
-
<attachments type="array">
|
142
|
-
<attachment>
|
143
|
-
<id type="integer">495851</id>
|
144
|
-
<filename>LICENSE</filename>
|
145
|
-
<description></description>
|
146
|
-
<uploaded_by>Test Suite Access</uploaded_by>
|
147
|
-
<uploaded_at type="datetime">2010/07/29 19:07:19 UTC</uploaded_at>
|
148
|
-
<url>http://www.pivotaltracker.com/resource/download/495851</url>
|
149
|
-
</attachment>
|
150
|
-
<attachment>
|
151
|
-
<id type="integer">495856</id>
|
152
|
-
<filename>LICENSE</filename>
|
153
|
-
<description></description>
|
154
|
-
<uploaded_by>Test Suite Access</uploaded_by>
|
155
|
-
<uploaded_at type="datetime">2010/07/29 19:09:27 UTC</uploaded_at>
|
156
|
-
<url>http://www.pivotaltracker.com/resource/download/495856</url>
|
157
|
-
</attachment>
|
158
|
-
<attachment>
|
159
|
-
<id type="integer">495858</id>
|
160
|
-
<filename>LICENSE</filename>
|
161
|
-
<description></description>
|
162
|
-
<uploaded_by>Test Suite Access</uploaded_by>
|
163
|
-
<uploaded_at type="datetime">2010/07/29 19:11:44 UTC</uploaded_at>
|
164
|
-
<url>http://www.pivotaltracker.com/resource/download/495858</url>
|
165
|
-
</attachment>
|
166
|
-
<attachment>
|
167
|
-
<id type="integer">495863</id>
|
168
|
-
<filename>LICENSE</filename>
|
169
|
-
<description></description>
|
170
|
-
<uploaded_by>Test Suite Access</uploaded_by>
|
171
|
-
<uploaded_at type="datetime">2010/07/29 19:13:06 UTC</uploaded_at>
|
172
|
-
<url>http://www.pivotaltracker.com/resource/download/495863</url>
|
173
|
-
</attachment>
|
174
|
-
</attachments>
|
175
|
-
</story>
|
176
|
-
<story>
|
177
|
-
<id type="integer">4490874</id>
|
178
|
-
<project_id type="integer">102622</project_id>
|
179
|
-
<story_type>feature</story_type>
|
180
|
-
<url>http://www.pivotaltracker.com/story/show/4490874</url>
|
181
|
-
<estimate type="integer">0</estimate>
|
182
|
-
<current_state>unstarted</current_state>
|
183
|
-
<description></description>
|
184
|
-
<name>Movable Story</name>
|
185
|
-
<requested_by>Test Suite Access</requested_by>
|
186
|
-
<created_at type="datetime">2010/07/29 18:12:31 UTC</created_at>
|
187
|
-
<updated_at type="datetime">2010/07/29 19:13:12 UTC</updated_at>
|
188
|
-
</story>
|
189
|
-
<story>
|
190
|
-
<id type="integer">4492080</id>
|
191
|
-
<project_id type="integer">102622</project_id>
|
192
|
-
<story_type>feature</story_type>
|
193
|
-
<url>http://www.pivotaltracker.com/story/show/4492080</url>
|
194
|
-
<estimate type="integer">-1</estimate>
|
195
|
-
<current_state>unscheduled</current_state>
|
196
|
-
<description></description>
|
197
|
-
<name>Create stuff</name>
|
198
|
-
<requested_by>Test Suite Access</requested_by>
|
199
|
-
<created_at type="datetime">2010/07/29 19:13:04 UTC</created_at>
|
200
|
-
<updated_at type="datetime">2010/07/29 19:13:04 UTC</updated_at>
|
201
|
-
</story>
|
202
|
-
<story>
|
203
|
-
<id type="integer">4492078</id>
|
204
|
-
<project_id type="integer">102622</project_id>
|
205
|
-
<story_type>feature</story_type>
|
206
|
-
<url>http://www.pivotaltracker.com/story/show/4492078</url>
|
207
|
-
<estimate type="integer">-1</estimate>
|
208
|
-
<current_state>unscheduled</current_state>
|
209
|
-
<description></description>
|
210
|
-
<name>Create stuff</name>
|
211
|
-
<requested_by>Test Suite Access</requested_by>
|
212
|
-
<created_at type="datetime">2010/07/29 19:13:01 UTC</created_at>
|
213
|
-
<updated_at type="datetime">2010/07/29 19:13:01 UTC</updated_at>
|
214
|
-
</story>
|
215
|
-
<story>
|
216
|
-
<id type="integer">4492060</id>
|
217
|
-
<project_id type="integer">102622</project_id>
|
218
|
-
<story_type>feature</story_type>
|
219
|
-
<url>http://www.pivotaltracker.com/story/show/4492060</url>
|
220
|
-
<estimate type="integer">-1</estimate>
|
221
|
-
<current_state>unscheduled</current_state>
|
222
|
-
<description></description>
|
223
|
-
<name>Create stuff</name>
|
224
|
-
<requested_by>Test Suite Access</requested_by>
|
225
|
-
<created_at type="datetime">2010/07/29 19:11:43 UTC</created_at>
|
226
|
-
<updated_at type="datetime">2010/07/29 19:11:43 UTC</updated_at>
|
227
|
-
</story>
|
228
|
-
<story>
|
229
|
-
<id type="integer">4492059</id>
|
230
|
-
<project_id type="integer">102622</project_id>
|
231
|
-
<story_type>feature</story_type>
|
232
|
-
<url>http://www.pivotaltracker.com/story/show/4492059</url>
|
233
|
-
<estimate type="integer">-1</estimate>
|
234
|
-
<current_state>unscheduled</current_state>
|
235
|
-
<description></description>
|
236
|
-
<name>Create stuff</name>
|
237
|
-
<requested_by>Test Suite Access</requested_by>
|
238
|
-
<created_at type="datetime">2010/07/29 19:11:38 UTC</created_at>
|
239
|
-
<updated_at type="datetime">2010/07/29 19:11:38 UTC</updated_at>
|
240
|
-
</story>
|
241
|
-
<story>
|
242
|
-
<id type="integer">4491973</id>
|
243
|
-
<project_id type="integer">102622</project_id>
|
244
|
-
<story_type>feature</story_type>
|
245
|
-
<url>http://www.pivotaltracker.com/story/show/4491973</url>
|
246
|
-
<estimate type="integer">-1</estimate>
|
247
|
-
<current_state>unscheduled</current_state>
|
248
|
-
<description></description>
|
249
|
-
<name>Create stuff</name>
|
250
|
-
<requested_by>Test Suite Access</requested_by>
|
251
|
-
<created_at type="datetime">2010/07/29 19:09:26 UTC</created_at>
|
252
|
-
<updated_at type="datetime">2010/07/29 19:09:26 UTC</updated_at>
|
253
|
-
</story>
|
254
|
-
<story>
|
255
|
-
<id type="integer">4491971</id>
|
256
|
-
<project_id type="integer">102622</project_id>
|
257
|
-
<story_type>feature</story_type>
|
258
|
-
<url>http://www.pivotaltracker.com/story/show/4491971</url>
|
259
|
-
<estimate type="integer">-1</estimate>
|
260
|
-
<current_state>unscheduled</current_state>
|
261
|
-
<description></description>
|
262
|
-
<name>Create stuff</name>
|
263
|
-
<requested_by>Test Suite Access</requested_by>
|
264
|
-
<created_at type="datetime">2010/07/29 19:09:24 UTC</created_at>
|
265
|
-
<updated_at type="datetime">2010/07/29 19:09:24 UTC</updated_at>
|
266
|
-
</story>
|
267
|
-
<story>
|
268
|
-
<id type="integer">4491741</id>
|
269
|
-
<project_id type="integer">102622</project_id>
|
270
|
-
<story_type>feature</story_type>
|
271
|
-
<url>http://www.pivotaltracker.com/story/show/4491741</url>
|
272
|
-
<estimate type="integer">-1</estimate>
|
273
|
-
<current_state>unscheduled</current_state>
|
274
|
-
<description></description>
|
275
|
-
<name>Create Stuff</name>
|
276
|
-
<requested_by>Test Suite Access</requested_by>
|
277
|
-
<created_at type="datetime">2010/07/29 18:56:02 UTC</created_at>
|
278
|
-
<updated_at type="datetime">2010/07/29 18:56:02 UTC</updated_at>
|
279
|
-
</story>
|
280
|
-
<story>
|
281
|
-
<id type="integer">4490944</id>
|
282
|
-
<project_id type="integer">102622</project_id>
|
283
|
-
<story_type>feature</story_type>
|
284
|
-
<url>http://www.pivotaltracker.com/story/show/4490944</url>
|
285
|
-
<estimate type="integer">-1</estimate>
|
286
|
-
<current_state>unscheduled</current_state>
|
287
|
-
<description></description>
|
288
|
-
<name>Create Stuff</name>
|
289
|
-
<requested_by>Test Suite Access</requested_by>
|
290
|
-
<created_at type="datetime">2010/07/29 18:17:23 UTC</created_at>
|
291
|
-
<updated_at type="datetime">2010/07/29 18:17:23 UTC</updated_at>
|
292
|
-
</story>
|
293
|
-
</stories>
|
@@ -1,42 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<memberships type="array">
|
3
|
-
<membership>
|
4
|
-
<id>331822</id>
|
5
|
-
<person>
|
6
|
-
<email>jmischo@sittercity.com</email>
|
7
|
-
<name>Jon</name>
|
8
|
-
<initials>JM</initials>
|
9
|
-
</person>
|
10
|
-
<role>Owner</role>
|
11
|
-
<project>
|
12
|
-
<id>102622</id>
|
13
|
-
<name>Pivotal Tracker API Gem</name>
|
14
|
-
</project>
|
15
|
-
</membership>
|
16
|
-
<membership>
|
17
|
-
<id>331823</id>
|
18
|
-
<person>
|
19
|
-
<email>jmischo@quagility.com</email>
|
20
|
-
<name>Jon Mischo</name>
|
21
|
-
<initials>JM</initials>
|
22
|
-
</person>
|
23
|
-
<role>Owner</role>
|
24
|
-
<project>
|
25
|
-
<id>102622</id>
|
26
|
-
<name>Pivotal Tracker API Gem</name>
|
27
|
-
</project>
|
28
|
-
</membership>
|
29
|
-
<membership>
|
30
|
-
<id>331832</id>
|
31
|
-
<person>
|
32
|
-
<email>pivotal-tracker-api-gem@quagility.com</email>
|
33
|
-
<name>Test Suite Access</name>
|
34
|
-
<initials>TEST</initials>
|
35
|
-
</person>
|
36
|
-
<role>Member</role>
|
37
|
-
<project>
|
38
|
-
<id>102622</id>
|
39
|
-
<name>Pivotal Tracker API Gem</name>
|
40
|
-
</project>
|
41
|
-
</membership>
|
42
|
-
</memberships>
|
data/spec/fixtures/project.xml
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<project>
|
3
|
-
<id>102622</id>
|
4
|
-
<name>Pivotal Tracker API Gem</name>
|
5
|
-
<first_iteration_start_time type="datetime">2011/12/05 06:00:00 UTC</first_iteration_start_time>
|
6
|
-
<current_iteration_number type="integer">4</current_iteration_number>
|
7
|
-
<iteration_length type="integer">1</iteration_length>
|
8
|
-
<week_start_day>Monday</week_start_day>
|
9
|
-
<point_scale>0,1,2,3</point_scale>
|
10
|
-
<account>Jon</account>
|
11
|
-
<velocity_scheme>Average of 3 iterations</velocity_scheme>
|
12
|
-
<current_velocity>2</current_velocity>
|
13
|
-
<initial_velocity>2</initial_velocity>
|
14
|
-
<number_of_done_iterations_to_show>12</number_of_done_iterations_to_show>
|
15
|
-
<labels></labels>
|
16
|
-
<last_activity_at type="datetime">2010/07/29 19:13:13 UTC</last_activity_at>
|
17
|
-
<allow_attachments>true</allow_attachments>
|
18
|
-
<public>true</public>
|
19
|
-
<use_https>false</use_https>
|
20
|
-
<bugs_and_chores_are_estimatable>true</bugs_and_chores_are_estimatable>
|
21
|
-
<commit_mode>true</commit_mode>
|
22
|
-
<memberships>
|
23
|
-
<membership>
|
24
|
-
<id>331822</id>
|
25
|
-
<person>
|
26
|
-
<email>jmischo@sittercity.com</email>
|
27
|
-
<name>Jon</name>
|
28
|
-
<initials>JM</initials>
|
29
|
-
</person>
|
30
|
-
<role>Owner</role>
|
31
|
-
</membership>
|
32
|
-
<membership>
|
33
|
-
<id>331823</id>
|
34
|
-
<person>
|
35
|
-
<email>jmischo@quagility.com</email>
|
36
|
-
<name>Jon Mischo</name>
|
37
|
-
<initials>JM</initials>
|
38
|
-
</person>
|
39
|
-
<role>Owner</role>
|
40
|
-
</membership>
|
41
|
-
<membership>
|
42
|
-
<id>331832</id>
|
43
|
-
<person>
|
44
|
-
<email>pivotal-tracker-api-gem@quagility.com</email>
|
45
|
-
<name>Test Suite Access</name>
|
46
|
-
<initials>TEST</initials>
|
47
|
-
</person>
|
48
|
-
<role>Member</role>
|
49
|
-
</membership>
|
50
|
-
</memberships>
|
51
|
-
<integrations>
|
52
|
-
</integrations>
|
53
|
-
</project>
|
@@ -1,46 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<story>
|
3
|
-
<id type="integer">4460038</id>
|
4
|
-
<project_id type="integer">102622</project_id>
|
5
|
-
<story_type>feature</story_type>
|
6
|
-
<url>http://www.pivotaltracker.com/story/show/4460038</url>
|
7
|
-
<estimate type="integer">1</estimate>
|
8
|
-
<current_state>unstarted</current_state>
|
9
|
-
<description>This is a story that has comments.</description>
|
10
|
-
<name>This is for comments</name>
|
11
|
-
<requested_by>Jon Mischo</requested_by>
|
12
|
-
<created_at type="datetime">2010/07/27 21:53:16 UTC</created_at>
|
13
|
-
<updated_at type="datetime">2010/07/27 22:20:48 UTC</updated_at>
|
14
|
-
<notes type="array">
|
15
|
-
<note>
|
16
|
-
<id type="integer">2111593</id>
|
17
|
-
<text>This is a comment...whee!</text>
|
18
|
-
<author>Jon</author>
|
19
|
-
<noted_at type="datetime">2010/07/27 22:15:48 UTC</noted_at>
|
20
|
-
</note>
|
21
|
-
<note>
|
22
|
-
<id type="integer">2128955</id>
|
23
|
-
<text>Test note</text>
|
24
|
-
<author>Test Suite Access</author>
|
25
|
-
<noted_at type="datetime">2010/07/29 18:15:09 UTC</noted_at>
|
26
|
-
</note>
|
27
|
-
<note>
|
28
|
-
<id type="integer">2128959</id>
|
29
|
-
<text>Test note</text>
|
30
|
-
<author>Test Suite Access</author>
|
31
|
-
<noted_at type="datetime">2010/07/29 18:16:12 UTC</noted_at>
|
32
|
-
</note>
|
33
|
-
<note>
|
34
|
-
<id type="integer">2129077</id>
|
35
|
-
<text>Test note</text>
|
36
|
-
<author>Test Suite Access</author>
|
37
|
-
<noted_at type="datetime">2010/07/29 18:22:26 UTC</noted_at>
|
38
|
-
</note>
|
39
|
-
<note>
|
40
|
-
<id type="integer">2129374</id>
|
41
|
-
<text>Test note</text>
|
42
|
-
<author>Test Suite Access</author>
|
43
|
-
<noted_at type="datetime">2010/07/29 18:55:44 UTC</noted_at>
|
44
|
-
</note>
|
45
|
-
</notes>
|
46
|
-
</story>
|
@@ -1,32 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<story>
|
3
|
-
<id type="integer">4460598</id>
|
4
|
-
<project_id type="integer">102622</project_id>
|
5
|
-
<story_type>feature</story_type>
|
6
|
-
<url>http://www.pivotaltracker.com/story/show/4460598</url>
|
7
|
-
<estimate type="integer">3</estimate>
|
8
|
-
<current_state>unstarted</current_state>
|
9
|
-
<description>This story has attachments.</description>
|
10
|
-
<name>Story with attachments</name>
|
11
|
-
<requested_by>Jon Mischo</requested_by>
|
12
|
-
<created_at type="datetime">2010/07/27 22:33:13 UTC</created_at>
|
13
|
-
<updated_at type="datetime">2010/07/27 22:33:28 UTC</updated_at>
|
14
|
-
<attachments type="array">
|
15
|
-
<attachment>
|
16
|
-
<id type="integer">491576</id>
|
17
|
-
<filename>LICENSE</filename>
|
18
|
-
<description></description>
|
19
|
-
<uploaded_by>Jon</uploaded_by>
|
20
|
-
<uploaded_at type="datetime">2010/07/27 22:34:23 UTC</uploaded_at>
|
21
|
-
<url>http://www.pivotaltracker.com/resource/download/491576</url>
|
22
|
-
</attachment>
|
23
|
-
<attachment>
|
24
|
-
<id type="integer">493019</id>
|
25
|
-
<filename>README.rdoc</filename>
|
26
|
-
<description>README file from api gem</description>
|
27
|
-
<uploaded_by>Jon</uploaded_by>
|
28
|
-
<uploaded_at type="datetime">2010/07/28 15:16:18 UTC</uploaded_at>
|
29
|
-
<url>http://www.pivotaltracker.com/resource/download/493019</url>
|
30
|
-
</attachment>
|
31
|
-
</attachments>
|
32
|
-
</story>
|
@@ -1,48 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<story>
|
3
|
-
<id type="integer">4473735</id>
|
4
|
-
<project_id type="integer">102622</project_id>
|
5
|
-
<story_type>feature</story_type>
|
6
|
-
<url>http://www.pivotaltracker.com/story/show/4473735</url>
|
7
|
-
<estimate type="integer">1</estimate>
|
8
|
-
<current_state>unstarted</current_state>
|
9
|
-
<description></description>
|
10
|
-
<name>Attachment upload test story</name>
|
11
|
-
<requested_by>Jon</requested_by>
|
12
|
-
<created_at type="datetime">2010/07/28 18:17:33 UTC</created_at>
|
13
|
-
<updated_at type="datetime">2010/07/28 18:17:44 UTC</updated_at>
|
14
|
-
<attachments type="array">
|
15
|
-
<attachment>
|
16
|
-
<id type="integer">495851</id>
|
17
|
-
<filename>LICENSE</filename>
|
18
|
-
<description></description>
|
19
|
-
<uploaded_by>Test Suite Access</uploaded_by>
|
20
|
-
<uploaded_at type="datetime">2010/07/29 19:07:19 UTC</uploaded_at>
|
21
|
-
<url>http://www.pivotaltracker.com/resource/download/495851</url>
|
22
|
-
</attachment>
|
23
|
-
<attachment>
|
24
|
-
<id type="integer">495856</id>
|
25
|
-
<filename>LICENSE</filename>
|
26
|
-
<description></description>
|
27
|
-
<uploaded_by>Test Suite Access</uploaded_by>
|
28
|
-
<uploaded_at type="datetime">2010/07/29 19:09:27 UTC</uploaded_at>
|
29
|
-
<url>http://www.pivotaltracker.com/resource/download/495856</url>
|
30
|
-
</attachment>
|
31
|
-
<attachment>
|
32
|
-
<id type="integer">495858</id>
|
33
|
-
<filename>LICENSE</filename>
|
34
|
-
<description></description>
|
35
|
-
<uploaded_by>Test Suite Access</uploaded_by>
|
36
|
-
<uploaded_at type="datetime">2010/07/29 19:11:44 UTC</uploaded_at>
|
37
|
-
<url>http://www.pivotaltracker.com/resource/download/495858</url>
|
38
|
-
</attachment>
|
39
|
-
<attachment>
|
40
|
-
<id type="integer">495863</id>
|
41
|
-
<filename>LICENSE</filename>
|
42
|
-
<description></description>
|
43
|
-
<uploaded_by>Test Suite Access</uploaded_by>
|
44
|
-
<uploaded_at type="datetime">2010/07/29 19:13:06 UTC</uploaded_at>
|
45
|
-
<url>http://www.pivotaltracker.com/resource/download/495863</url>
|
46
|
-
</attachment>
|
47
|
-
</attachments>
|
48
|
-
</story>
|