tracker_deliveries 0.1.2 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +1 -2
- data/README.md +46 -13
- data/exe/tracker_deliveries +8 -1
- data/lib/tracker_deliveries/version.rb +1 -1
- data/lib/tracker_deliveries.rb +40 -9
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4971fefd1275558af1f0fc609fc641ac5102c5fa
|
4
|
+
data.tar.gz: 8eab891ba1e6894bd8c1209a99b9ca5a1cbca2c1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 433cf7f8aaf755e8f8dbb9933183742c0dac9eec1f74507f36fe022be5b5f9e9f45159912def85250254e6ebfe4ac9aae8e2ea9f033063b51be4ae8dc3bf3ef3
|
7
|
+
data.tar.gz: 48c87f501af5039dbe07f3e4d82fd6e2b202a67632af2f67417f462a5bf10944aa8a16f5b682c7f5d778b9fd751f98024da5902ba2ab35d8fbf169dae4e28ed8
|
data/.circleci/config.yml
CHANGED
@@ -23,10 +23,9 @@ jobs:
|
|
23
23
|
command: |
|
24
24
|
mkdir /tmp/test-results
|
25
25
|
TEST_FILES="$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)"
|
26
|
-
bundle exec rspec --format
|
26
|
+
bundle exec rspec --format documentation \
|
27
27
|
--format RspecJunitFormatter \
|
28
28
|
--out /tmp/test-results/rspec.xml \
|
29
|
-
--format progress \
|
30
29
|
"${TEST_FILES}"
|
31
30
|
- store_test_results:
|
32
31
|
path: /tmp/test-results
|
data/README.md
CHANGED
@@ -19,31 +19,64 @@ gem install tracker_deliveries
|
|
19
19
|
|
20
20
|
## Usage
|
21
21
|
|
22
|
-
Define these environment variables
|
22
|
+
Define these environment variables:
|
23
23
|
|
24
|
-
`TRACKER_DELIVERIES_API_TOKEN` - tracker API token
|
24
|
+
- `TRACKER_DELIVERIES_API_TOKEN` - tracker API token
|
25
|
+
- `TRACKER_DELIVERIES_PROJECT_ID` - tracker project ID
|
25
26
|
|
26
|
-
|
27
|
-
|
28
|
-
Then run the command:
|
27
|
+
Run:
|
29
28
|
|
30
29
|
```
|
31
30
|
tracker_deliveries
|
32
31
|
```
|
33
32
|
|
34
|
-
|
35
|
-
|
33
|
+
Output current delivered stories ids & story titles as plaintext e.g.:
|
34
|
+
|
35
|
+
```
|
36
|
+
132412351 - Add widget service request to order form
|
37
|
+
123412144 - Display widget detail view UI
|
38
|
+
131412414 - Update widget quantity in shopping cart
|
39
|
+
132412155 - Localize cart in Pirate speak, arr.
|
40
|
+
```
|
41
|
+
|
42
|
+
### Formatting output
|
36
43
|
|
37
|
-
|
44
|
+
Generate the list with alternative formatting as Markdown or HTML (with built in links to the tracker stories):
|
38
45
|
|
39
46
|
```
|
40
|
-
|
41
|
-
#213144 - Display widget detail view UI
|
42
|
-
#341414 - Update widget quantity in shopping cart
|
43
|
-
#342155 - Localize cart in Pirate speak, arr.
|
47
|
+
tracker_deliveries --markdown
|
44
48
|
```
|
45
49
|
|
46
|
-
|
50
|
+
```
|
51
|
+
- [132412351](https://pivotaltracker.com/story/show/132412351) - Add widget service request to order form
|
52
|
+
- [123412144](https://pivotaltracker.com/story/show/123412144) - Display widget detail view UI
|
53
|
+
- [131412414](https://pivotaltracker.com/story/show/131412414) - Update widget quantity in shopping cart
|
54
|
+
- [132412155](https://pivotaltracker.com/story/show/132412155) - Localize cart in Pirate speak, arr.
|
55
|
+
```
|
56
|
+
|
57
|
+
or
|
58
|
+
|
59
|
+
```
|
60
|
+
tracker_deliveries --html
|
61
|
+
```
|
62
|
+
|
63
|
+
```
|
64
|
+
<ul>
|
65
|
+
<li><a href="https://pivotaltracker.com/story/show/132412351">132412351</a> - Add widget service request to order form</li>
|
66
|
+
<li><a href="https://pivotaltracker.com/story/show/123412144">123412144</a> - Display widget detail view UI</li>
|
67
|
+
<li><a href="https://pivotaltracker.com/story/show/131412414">131412414</a> - Update widget quantity in shopping cart</li>
|
68
|
+
<li><a href="https://pivotaltracker.com/story/show/132412155">132412155</a> - Localize cart in Pirate speak, arr.</li>
|
69
|
+
</ul>
|
70
|
+
```
|
71
|
+
|
72
|
+
Rendering as:
|
73
|
+
|
74
|
+
- [132412351](https://pivotaltracker.com/story/show/132412351) - Add widget service request to order form
|
75
|
+
- [123412144](https://pivotaltracker.com/story/show/123412144) - Display widget detail view UI
|
76
|
+
- [131412414](https://pivotaltracker.com/story/show/131412414) - Update widget quantity in shopping cart
|
77
|
+
- [132412155](https://pivotaltracker.com/story/show/132412155) - Localize cart in Pirate speak, arr.
|
78
|
+
|
79
|
+
## Get hold of the Pivotal Tracker API Token / Project ID
|
47
80
|
|
48
81
|
On https://www.pivotaltracker.com/profile (while logged in) the API
|
49
82
|
token is at the bottom of the page.
|
data/exe/tracker_deliveries
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# -*- mode: ruby -*-
|
2
3
|
|
3
4
|
require 'tracker_deliveries'
|
4
5
|
|
5
|
-
|
6
|
+
if ARGV[0] == '--markdown'
|
7
|
+
puts TrackerDeliveries::Main.new(format: :markdown).delivered_stories
|
8
|
+
elsif ARGV[0] == '--html'
|
9
|
+
puts TrackerDeliveries::Main.new(format: :html).delivered_stories
|
10
|
+
else
|
11
|
+
puts TrackerDeliveries::Main.new().delivered_stories
|
12
|
+
end
|
data/lib/tracker_deliveries.rb
CHANGED
@@ -7,10 +7,10 @@ module TrackerDeliveries
|
|
7
7
|
:api_token,
|
8
8
|
:pivotal_tracker
|
9
9
|
|
10
|
-
def initialize
|
10
|
+
def initialize(options = {})
|
11
11
|
@project_id = ENV['TRACKER_DELIVERIES_PROJECT_ID']
|
12
12
|
@api_token = ENV['TRACKER_DELIVERIES_API_TOKEN']
|
13
|
-
@pivotal_tracker = PivotalTracker.new(@project_id, @api_token)
|
13
|
+
@pivotal_tracker = PivotalTracker.new(@project_id, @api_token, options)
|
14
14
|
end
|
15
15
|
|
16
16
|
def delivered_stories
|
@@ -22,21 +22,52 @@ module TrackerDeliveries
|
|
22
22
|
PIVOTAL_API_URL = 'https://www.pivotaltracker.com/services/v5/'
|
23
23
|
attr_accessor :api
|
24
24
|
|
25
|
-
def initialize project_id, api_key
|
25
|
+
def initialize project_id, api_key, options = {}
|
26
26
|
@api_key = api_key
|
27
27
|
@project_id = project_id
|
28
|
+
@format = options[:format] || :plaintext
|
28
29
|
@api = Blanket.wrap PIVOTAL_API_URL,
|
29
30
|
headers: { 'X-TrackerToken' => @api_key }
|
30
31
|
end
|
31
32
|
|
32
33
|
def delivered_stories
|
33
34
|
options = {with_state: "delivered"}
|
34
|
-
api
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
35
|
+
wrap_output(api
|
36
|
+
.projects(@project_id)
|
37
|
+
.stories
|
38
|
+
.get(params: options)
|
39
|
+
.payload
|
40
|
+
.map{|s| story_formatter s }
|
41
|
+
.join("\n"))
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def pivotal_tracker_link s
|
47
|
+
%Q{https://pivotaltracker.com/story/show/#{s.id}}
|
48
|
+
end
|
49
|
+
|
50
|
+
def story_formatter s
|
51
|
+
return send(@format, s)
|
52
|
+
end
|
53
|
+
|
54
|
+
def wrap_output output
|
55
|
+
return %Q{<ul>\n#{output}\n</ul>} if @format == :html
|
56
|
+
output
|
57
|
+
end
|
58
|
+
|
59
|
+
def plaintext s
|
60
|
+
%Q{#{s.id} - #{s.name}}
|
61
|
+
end
|
62
|
+
|
63
|
+
def markdown s
|
64
|
+
link = %Q{[#{s.id}](#{pivotal_tracker_link s})}
|
65
|
+
%Q{- #{link} - #{s.name}}
|
66
|
+
end
|
67
|
+
|
68
|
+
def html s
|
69
|
+
link = %Q{<a href="#{pivotal_tracker_link s}">#{s.id}</a>}
|
70
|
+
%Q{<li>#{link} - #{s.name}</li>}
|
40
71
|
end
|
41
72
|
end
|
42
73
|
end
|