jira-cli 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4214636b9c7269a7938393d0fc276bb674a9f206
4
- data.tar.gz: 2c12b0da63379b9b90464b55be0aed1408f42e11
3
+ metadata.gz: 8c33b97d4e0ef4210a4bd86b72ac364aecc5a312
4
+ data.tar.gz: 4792aa28bfcc52b02ba37cf5924d981153accacc
5
5
  SHA512:
6
- metadata.gz: f57685970220ef829e128c376f0d14a62199a1eb800e79e38e3c770a05dd843c66a0c7a93e60eeb32cb7aa100a29ca34633f8b875a0d7a9edc932a8935478d67
7
- data.tar.gz: f0d6981cfac1d5f6affe7a0be5d836e74897e69cb0b125188e457ccc1281e3ce989f7bf4094ddcd4871a7d884ad3509a30f3219ff7ed0fefbb8fb4f6e881c7ad
6
+ metadata.gz: ad94d97ffe50d2e80a7af426a5f951f2bdba509d46269dfb15128669ac9e099f9bed27e9a6690c874d6e3b1f37cfdef10166a286c84f7c8ebd4fb2f422bb407d
7
+ data.tar.gz: 7620cc2000d9bb6efaf2459850ad19cec6490d41b99e8b32ed83bf54b76b2f5c84ae8df7c53fdef1c937811c0a1d32e087a4020c7c3b14d00247664abec3803d
data/bin/jira CHANGED
@@ -8,4 +8,5 @@ rescue GitException
8
8
  rescue InstallationException
9
9
  puts "Please run #{Jira::Format.summary('jira install')} before "\
10
10
  "running this command."
11
+ rescue Interrupt
11
12
  end
@@ -1,16 +1,8 @@
1
1
  # dependencies
2
2
  require 'thor'
3
- # core logic
4
- require 'jira/constants'
5
- require 'jira/core'
6
- require 'jira/api'
7
- require 'jira/io'
8
- require 'jira/format'
9
- require 'jira/mixins'
10
- require 'jira/exceptions'
11
- # include jira/commands/*
3
+ # core logic and commands
12
4
  Dir.glob(
13
- File.dirname(File.absolute_path(__FILE__)) + '/jira/commands/*',
5
+ File.dirname(File.absolute_path(__FILE__)) + '/jira/**/*.rb',
14
6
  &method(:require)
15
7
  )
16
8
 
@@ -1,10 +1,23 @@
1
1
  module Jira
2
2
  class API
3
3
 
4
+ TYPES = [
5
+ :rest,
6
+ :agile
7
+ ].freeze
8
+
9
+ ENDPOINTS = {
10
+ rest: 'rest/api/2',
11
+ agile: 'rest/greenhopper/latest'
12
+ }.freeze
13
+
4
14
  #
5
15
  # Initialize Jira::API
6
16
  #
7
- def initialize
17
+ # @param type [Symbol]
18
+ #
19
+ def initialize(type)
20
+ @type = type
8
21
  @client = Faraday.new
9
22
  @client.basic_auth(Jira::Core.username, Jira::Core.password)
10
23
 
@@ -71,7 +84,7 @@ module Jira
71
84
  # @return [String] API endpoint
72
85
  #
73
86
  def endpoint(path)
74
- "#{Jira::Core.url}/rest/api/2/#{path}"
87
+ "#{Jira::Core.url}/#{ENDPOINTS[@type]}/#{path}"
75
88
  end
76
89
 
77
90
  #
@@ -4,6 +4,33 @@ module Jira
4
4
  desc "sprint", "Lists all tickets in active sprint"
5
5
  def sprint
6
6
  # TODO
7
+ self.api(:agile).get(
8
+ 'rapid/charts/sprintreport?rapidViewId=17&sprintId=41'
9
+ ) do |response|
10
+ groups = {}
11
+
12
+ parser = ->(issue){
13
+ assignee = issue['assignee']
14
+ status = issue['statusName']
15
+ groups[assignee] ||= {}
16
+ groups[assignee][status] ||= []
17
+ groups[assignee][status] << {
18
+ ticket: issue['key'],
19
+ summary: issue['summary']
20
+ }
21
+ }
22
+
23
+ response['contents']['completedIssues'].each{|issue| parser.call(issue)}
24
+ response['contents']['incompletedIssues'].each{|issue| parser.call(issue)}
25
+
26
+ groups.each do |user, status_groups|
27
+ puts user
28
+ status_groups.each do |status, tickets|
29
+ puts " " + status
30
+ puts " " + tickets.map{|info| info[:ticket] }.join(' ')
31
+ end
32
+ end
33
+ end
7
34
  end
8
35
 
9
36
  end
@@ -10,11 +10,14 @@ module Jira
10
10
  end
11
11
  options['Cancel'] = nil
12
12
 
13
- choice = self.io.choose("Transition to", options.keys)
13
+ choice = self.io.choose(
14
+ "Transition #{Jira::Format.ticket(ticket)} to",
15
+ options.keys
16
+ )
14
17
  if options[choice].nil?
15
18
  puts "No transition was performed on #{ticket}."
16
19
  else
17
- self.api_transition(ticket, transition_id, choice)
20
+ self.api_transition(ticket, options[choice], choice)
18
21
  end
19
22
  end
20
23
  end
@@ -1,5 +1,5 @@
1
1
  module Jira
2
2
 
3
- VERSION = "0.1.4"
3
+ VERSION = "0.1.5"
4
4
 
5
5
  end
@@ -16,21 +16,21 @@ module Jira
16
16
  # @return [String] JIRA project endpoint
17
17
  #
18
18
  def url
19
- @url ||= self.read(self.url_path)
19
+ @url ||= ENV['JIRA_URL'] || self.read(self.url_path)
20
20
  end
21
21
 
22
22
  #
23
23
  # @return [String] JIRA username
24
24
  #
25
25
  def username
26
- @username ||= self.auth.first
26
+ @username ||= ENV['JIRA_USERNAME'] || self.auth.first
27
27
  end
28
28
 
29
29
  #
30
30
  # @return [String] JIRA password
31
31
  #
32
32
  def password
33
- @password ||= self.auth.last
33
+ @password ||= ENV['JIRA_PASSWORD'] || self.auth.last
34
34
  end
35
35
 
36
36
  #
@@ -16,11 +16,19 @@ module Jira
16
16
  @io ||= Jira::IO.new
17
17
  end
18
18
 
19
+ #
20
+ # @param [Symbol]
19
21
  #
20
22
  # @return [Jira::API] Jira API class
21
23
  #
22
- def api
23
- @api ||= Jira::API.new
24
+ def api(type=:rest)
25
+ key = "@api_#{type}"
26
+ klass = self.instance_variable_get(key)
27
+ if klass.nil?
28
+ klass = Jira::API.new(type)
29
+ self.instance_variable_set(key, klass)
30
+ end
31
+ return klass
24
32
  end
25
33
 
26
34
  end
metadata CHANGED
@@ -1,133 +1,153 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jira-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Darren Lin Cheng
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-27 00:00:00.000000000 Z
11
+ date: 2015-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.18.1
20
- - - '>='
19
+ version: 0.19.1
20
+ - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 0.18.1
22
+ version: 0.19.1
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ~>
27
+ - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: 0.18.1
30
- - - '>='
29
+ version: 0.19.1
30
+ - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 0.18.1
32
+ version: 0.19.1
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: faraday
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ~>
37
+ - - "~>"
38
38
  - !ruby/object:Gem::Version
39
39
  version: 0.9.0
40
- - - '>='
40
+ - - ">="
41
41
  - !ruby/object:Gem::Version
42
42
  version: 0.9.0
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ~>
47
+ - - "~>"
48
48
  - !ruby/object:Gem::Version
49
49
  version: 0.9.0
50
- - - '>='
50
+ - - ">="
51
51
  - !ruby/object:Gem::Version
52
52
  version: 0.9.0
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: inquirer
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - ~>
57
+ - - "~>"
58
58
  - !ruby/object:Gem::Version
59
59
  version: 0.2.0
60
- - - '>='
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
62
  version: 0.2.0
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ~>
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
69
  version: 0.2.0
70
- - - '>='
70
+ - - ">="
71
71
  - !ruby/object:Gem::Version
72
72
  version: 0.2.0
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: pry-remote
75
75
  requirement: !ruby/object:Gem::Requirement
76
76
  requirements:
77
- - - ~>
77
+ - - "~>"
78
78
  - !ruby/object:Gem::Version
79
79
  version: 0.1.7
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: 0.1.7
83
83
  type: :development
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: 0.1.7
90
- - - '>='
90
+ - - ">="
91
91
  - !ruby/object:Gem::Version
92
92
  version: 0.1.7
93
+ - !ruby/object:Gem::Dependency
94
+ name: rspec-expectations
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: 2.14.0
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 2.14.0
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: 2.14.0
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 2.14.0
93
113
  - !ruby/object:Gem::Dependency
94
114
  name: rspec
95
115
  requirement: !ruby/object:Gem::Requirement
96
116
  requirements:
97
- - - ~>
117
+ - - "~>"
98
118
  - !ruby/object:Gem::Version
99
119
  version: 2.14.1
100
- - - '>='
120
+ - - ">="
101
121
  - !ruby/object:Gem::Version
102
122
  version: 2.14.1
103
123
  type: :development
104
124
  prerelease: false
105
125
  version_requirements: !ruby/object:Gem::Requirement
106
126
  requirements:
107
- - - ~>
127
+ - - "~>"
108
128
  - !ruby/object:Gem::Version
109
129
  version: 2.14.1
110
- - - '>='
130
+ - - ">="
111
131
  - !ruby/object:Gem::Version
112
132
  version: 2.14.1
113
133
  - !ruby/object:Gem::Dependency
114
134
  name: coveralls
115
135
  requirement: !ruby/object:Gem::Requirement
116
136
  requirements:
117
- - - ~>
137
+ - - "~>"
118
138
  - !ruby/object:Gem::Version
119
139
  version: 0.7.0
120
- - - '>='
140
+ - - ">="
121
141
  - !ruby/object:Gem::Version
122
142
  version: 0.7.0
123
143
  type: :development
124
144
  prerelease: false
125
145
  version_requirements: !ruby/object:Gem::Requirement
126
146
  requirements:
127
- - - ~>
147
+ - - "~>"
128
148
  - !ruby/object:Gem::Version
129
149
  version: 0.7.0
130
- - - '>='
150
+ - - ">="
131
151
  - !ruby/object:Gem::Version
132
152
  version: 0.7.0
133
153
  description: CLI used to manage JIRA workflows leveraging git
@@ -169,19 +189,18 @@ require_paths:
169
189
  - lib
170
190
  required_ruby_version: !ruby/object:Gem::Requirement
171
191
  requirements:
172
- - - '>='
192
+ - - ">="
173
193
  - !ruby/object:Gem::Version
174
194
  version: '0'
175
195
  required_rubygems_version: !ruby/object:Gem::Requirement
176
196
  requirements:
177
- - - '>='
197
+ - - ">="
178
198
  - !ruby/object:Gem::Version
179
199
  version: '0'
180
200
  requirements: []
181
201
  rubyforge_project:
182
- rubygems_version: 2.2.0
202
+ rubygems_version: 2.2.2
183
203
  signing_key:
184
204
  specification_version: 4
185
205
  summary: JIRA CLI
186
206
  test_files: []
187
- has_rdoc: