jira-rest 0.1.42 → 0.1.79

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZTMxZWE1ZjNhOTI0Mzc5ZmNmODUyZWZhYTgyMzY4NGQ1NmM3OWM3OA==
4
+ NDk5ZjMyYWYyY2VmODk5ZmFjMzg5YjllNWFhM2I5ZTUyMjUxNGU0Nw==
5
5
  data.tar.gz: !binary |-
6
- ZDc1OTJjYzc5MTNiMzNjYThiYTllOWM3OTRjMmIwNzlhNmU2YzA1OA==
6
+ OGNmZGMxOTdiODk1MzJmNzUxNjhiMWMzNjI4MTFkNGFjZGE0ZTU4Yg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- OGM5ODI0ZGFjMTNhM2U3NDFmZTc3Nzg3MWM5MjY2YjQ0ZDNhMmYwNmExNTZh
10
- YTU2OGI4MGQzYmY1ZGZjZWQwOTZjMTFkMzQ5YmUxN2I5MGY2YWM1NGIzNzY0
11
- OTQyZTcwYzgzMDY3MzQ4MTFkNTcwMzUyYzAxNTY0MmRlNGVhZjY=
9
+ YzQyZGIxNTZhMTQ4YjMwODkwNzhkNGQxZjRjZTIzNDcxNjBkMDc0ZDI1ZmVm
10
+ YTkxYjdmYTgwNDNhMjhhN2YwYTU3OTFiMzJiMGNiMTcyYTJjOTQyODM0MmM5
11
+ NGE0Njc5MGNhYWIwMjkwZmIwNTJhMmIyYzA3OGQ1MzllMTkwOWM=
12
12
  data.tar.gz: !binary |-
13
- YTFjMTcwZTZiYmMxN2Q0MmQwYzhkNzE5ZWY4MDAwZjQ3MTI5ZjYyMGRiZGQx
14
- M2RlYmEzNTZmNTQ0OWQyYjhmYzgyOGY5ZTEwNmQxMTdkOGI1NzI5NzI3MmJi
15
- NTllYjg0OGY0OWZiZGViYWZjYzIyY2MwOTgwMmIwMjRlOGU1ZTY=
13
+ MjFmOWYwMjllMzcxMDhiNjU5YThlZmQwYmFmNTQ1NTYzMmYwZDcwNjZmYzIw
14
+ Y2NlY2Q0ZmUzNWNiNThiYjY0NzRlYmRhZjZjZWY4ZDM4OWMwMWRiMzJmYjdi
15
+ MDEyMDNiNWIyN2VjMTQ4Mjg1YjdjMjA3ZDZjYmE2OGYyYTg4ZWY=
data/README.md CHANGED
@@ -1,57 +1,72 @@
1
1
  jira-rest
2
2
  =========
3
3
 
4
- [![Build Status](https://travis-ci.org/macwadu/jira-rest.png?branch=master)](https://travis-ci.org/macwadu/jira-rest) [![Code Climate](https://codeclimate.com/github/macwadu/jira-rest.png)](https://codeclimate.com/github/macwadu/jira-rest) [![Dependency Status](https://gemnasium.com/macwadu/jira-rest.png)](https://gemnasium.com/macwadu/jira-rest.png) [![Coverage Status](https://coveralls.io/repos/macwadu/jira-rest/badge.png)](https://coveralls.io/r/macwadu/jira-rest)
4
+ [![Gem Version](https://badge.fury.io/rb/jira-rest.png)](http://badge.fury.io/rb/jira-rest) [![Build Status](https://travis-ci.org/macwadu/jira-rest.png?branch=master)](https://travis-ci.org/macwadu/jira-rest) [![Code Climate](https://codeclimate.com/github/macwadu/jira-rest.png)](https://codeclimate.com/github/macwadu/jira-rest) [![Dependency Status](https://gemnasium.com/macwadu/jira-rest.png)](https://gemnasium.com/macwadu/jira-rest.png) [![Coverage Status](https://coveralls.io/repos/macwadu/jira-rest/badge.png)](https://coveralls.io/r/macwadu/jira-rest)
5
5
 
6
-
7
-
8
- ## Installation
6
+ Installation
7
+ ------------
9
8
 
10
9
  Add this line to your application's Gemfile:
11
10
 
12
- gem 'jira-rest'
11
+ ```
12
+ gem 'jirarest'
13
+ ```
13
14
 
14
15
  And then execute:
15
16
 
16
- $ bundle
17
+ ```
18
+ $ bundle
19
+ ```
17
20
 
18
21
  Or install it yourself as:
19
22
 
20
- $ gem install jira-rest
21
-
22
- ## Usage
23
-
24
- require 'jira-rest'
25
-
26
- @jira = JiraRest::Client.new(jira_host, username, password)
27
-
28
- **Query by hash**
29
-
30
- hash_query = {:project => 'DEMO', :status => '"in progress", Open'}
31
- @jira.search.query_by_hash(hash_query)
32
-
33
- optional:
34
- @jira.search.query_by_hash(hash_query, return_fields, maxresults)
35
-
36
- **Query by jql string**
37
-
38
- jql_query = "project in (DEMO) AND status in ("in progress", Open)"
39
- @jira.search.jqlquery(jql_query)
40
-
41
- optional:
42
- @jira.search.jqlquery(jql_query, return_fields, maxresults)
43
-
44
- **Search by issue key**
45
-
46
- @jira.search.issue "JRA-9"
47
-
48
-
49
- **Get filter issues**
50
-
51
- @jira.search.filter "12843"
52
-
53
-
54
- ## Contributing
23
+ ```
24
+ $ gem install jira-rest
25
+ ```
26
+
27
+ Usage
28
+ -----
29
+
30
+ ```
31
+ require 'jira-rest'
32
+
33
+ @jira = JiraRest::Client.new(jira_host, username, password)
34
+ ```
35
+
36
+ **Query by hash**
37
+
38
+ ```
39
+ hash_query = {:project => 'DEMO', :status => '"in progress", Open'}
40
+ @jira.search.query_by_hash(hash_query)
41
+
42
+ optional:
43
+ @jira.search.query_by_hash(hash_query, return_fields, maxresults)
44
+ ```
45
+
46
+ **Query by jql string**
47
+
48
+ ```
49
+ jql_query = "project in (DEMO) AND status in ("in progress", Open)"
50
+ @jira.search.jqlquery(jql_query)
51
+
52
+ optional:
53
+ @jira.search.jqlquery(jql_query, return_fields, maxresults)
54
+ ```
55
+
56
+ **Search by issue key**
57
+
58
+ ```
59
+ @jira.search.issue "JRA-9"
60
+ ```
61
+
62
+ **Get filter issues**
63
+
64
+ ```
65
+ @jira.search.filter "12843"
66
+ ```
67
+
68
+ Contributing
69
+ ------------
55
70
 
56
71
  1. Fork it
57
72
  2. Create your feature branch (`git checkout -b my-new-feature`)
@@ -59,3 +74,68 @@ Or install it yourself as:
59
74
  4. Push to the branch (`git push origin my-new-feature`)
60
75
  5. Create new Pull Request
61
76
 
77
+ ```
78
+ gem 'jirarest'
79
+ ```
80
+
81
+ And then execute:
82
+
83
+ ```
84
+ $ bundle
85
+ ```
86
+
87
+ Or install it yourself as:
88
+
89
+ ```
90
+ $ gem install jira-rest
91
+ ```
92
+
93
+ Usage
94
+ -----
95
+
96
+ ```
97
+ require 'jira-rest'
98
+
99
+ @jira = JiraRest::Client.new(jira_host, username, password)
100
+ ```
101
+
102
+ **Query by hash**
103
+
104
+ ```
105
+ hash_query = {:project => 'DEMO', :status => '"in progress", Open'}
106
+ @jira.search.query_by_hash(hash_query)
107
+
108
+ optional:
109
+ @jira.search.query_by_hash(hash_query, return_fields, maxresults)
110
+ ```
111
+
112
+ **Query by jql string**
113
+
114
+ ```
115
+ jql_query = "project in (DEMO) AND status in ("in progress", Open)"
116
+ @jira.search.jqlquery(jql_query)
117
+
118
+ optional:
119
+ @jira.search.jqlquery(jql_query, return_fields, maxresults)
120
+ ```
121
+
122
+ **Search by issue key**
123
+
124
+ ```
125
+ @jira.search.issue "JRA-9"
126
+ ```
127
+
128
+ **Get filter issues**
129
+
130
+ ```
131
+ @jira.search.filter "12843"
132
+ ```
133
+
134
+ Contributing
135
+ ------------
136
+
137
+ 1. Fork it
138
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
139
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
140
+ 4. Push to the branch (`git push origin my-new-feature`)
141
+ 5. Create new Pull Request
@@ -6,4 +6,4 @@ require 'jirarest/client'
6
6
  require 'jirarest/search'
7
7
 
8
8
  #to_h is present on ruby 2.0.0
9
- require 'jirarest/struct' if RUBY_VERSION == '1.9.3'
9
+ require 'jirarest/struct' if RUBY_VERSION == '1.9.3'
@@ -10,11 +10,8 @@ module JiraRest
10
10
  Response = Struct.new(:success, :body, :error_msg, :optional)
11
11
 
12
12
  def initialize(jira_host, username=nil, password=nil)
13
-
14
13
  jira_url = "#{jira_host}/rest/api/latest/"
15
-
16
14
  generate jira_url, username, password
17
-
18
15
  end
19
16
 
20
17
  def generate(url, username=nil, password=nil)
@@ -23,12 +20,10 @@ module JiraRest
23
20
  @token = Token.new(url, header)
24
21
  end
25
22
 
26
-
27
23
  def search
28
24
  JiraRest::Search.new(self)
29
25
  end
30
26
 
31
-
32
27
  def self.get(url, header)
33
28
  begin
34
29
  p "Url: #{url}"
@@ -39,9 +34,6 @@ module JiraRest
39
34
  end
40
35
  end
41
36
 
42
-
43
-
44
-
45
37
  def self.construct_url(endpoint, params)
46
38
  p "Query: #{params.jql}" unless params.jql.nil?
47
39
  params.fields = DEFAULT_FIELDS if (params.fields.nil? or params.fields.to_s.empty?)
@@ -71,13 +63,18 @@ module JiraRest
71
63
  end.join('&')
72
64
  end
73
65
 
74
- #TODO refactor to use in all methods
75
- def self.handle_response(response, key=nil)
66
+
67
+ def self.handle_response(response, key=nil, parsed_response=false)
76
68
  raise ArgumentError, 'Response is not a HTTParty::Response' unless response.class == HTTParty::Response
77
69
  case response.code
78
70
  when 200
79
- parsed_response = key.nil? ? response.parsed_response : response.parsed_response[key]
80
- return Response.new(true, parsed_response, nil)
71
+ parsed = key.nil? ? response.parsed_response : response.parsed_response[key]
72
+ if parsed_response
73
+ return Response.new(true, parse_response(parsed), nil)
74
+ else
75
+ return Response.new(true, parsed, nil)
76
+ end
77
+
81
78
  when (400..499)
82
79
  msg = response['errorMessages'].nil? ? response.code : response['errorMessages'].join("\n")
83
80
  return Response.new(false, response.response.message, msg)
@@ -86,34 +83,28 @@ module JiraRest
86
83
  end
87
84
  end
88
85
 
89
- def self.parse_search_result(response, fields=nil)
90
- code = response.code
91
- response = response.parsed_response
92
- case code
93
- when 200
94
- jira_tickets = []
95
- if response.has_key? 'issues'
96
- response['issues'].each do |tickets|
97
- if !tickets['key'].nil? and !tickets['fields']['summary'].nil?
98
- jira_tickets << [tickets['key'], tickets['fields']['summary'], tickets['self']]
99
- end
100
- end
101
- elsif !fields.nil?
102
- sss = ""
103
- fields.split(',').each {|field|
104
- p field if response[field]
105
- sss << response[field] if response[field]
106
-
107
- }
108
- p sss
86
+ def self.parse_response(response, fields=nil)
87
+ jira_tickets = []
88
+ if response.has_key? 'issues'
89
+ response['issues'].each do |tickets|
90
+ if !tickets['key'].nil? and !tickets['fields']['summary'].nil?
91
+ jira_tickets << [tickets['key'], tickets['fields']['summary'], tickets['self']]
92
+ end
93
+ end
94
+ elsif !fields.nil?
95
+ sss = ""
96
+ fields.split(',').each { |field|
97
+ p field if response[field]
98
+ sss << response[field] if response[field]
99
+
100
+ }
101
+ p sss
102
+ else
103
+ if !response['key'].nil? and !response['fields']['summary'].nil?
104
+ jira_tickets << [response['key'], response['fields']['summary'], response['self'], response['description']]
109
105
  end
110
- return Response.new(true, jira_tickets.sort_by { |x| x.first }, nil)
111
- when (400..499)
112
- msg = response['errorMessages'].nil? ? code : response['errorMessages'].join("\n")
113
- return Response.new(false, nil, msg)
114
- else
115
- return Response.new(false, nil, 'fail')
116
106
  end
107
+ return jira_tickets.sort_by { |x| x.first }
117
108
  end
118
109
  end
119
- end
110
+ end
@@ -6,16 +6,13 @@ module JiraRest
6
6
  @token = params.token
7
7
  end
8
8
 
9
-
10
9
  def issue(issue_id)
11
-
12
10
  url = 'issue/' + issue_id.to_s
13
11
  issue = Url.new
14
12
  issue.fields = 'key,summary,issuetype,reporter,priority'
15
13
  search_url = Client.construct_url @token.url + url, issue
16
14
  response = Client.get search_url, @token.header
17
- Client.handle_response(response)
18
- #TODO parse issue result
15
+ Client.handle_response(response, nil, true)
19
16
  end
20
17
 
21
18
  #get tickets from filter id
@@ -29,12 +26,9 @@ module JiraRest
29
26
  search_url = Client.construct_url @token.url + url, issue
30
27
  response = Client.get search_url, @token.header
31
28
  filter_url = Client.handle_response(response, 'searchUrl')
32
-
33
29
  return filter_url unless filter_url.success
34
-
35
30
  filter_response = Client.get filter_url.body, @token.header
36
- Client.parse_search_result filter_response
37
-
31
+ Client.handle_response(filter_response, nil, true)
38
32
  end
39
33
 
40
34
 
@@ -50,7 +44,7 @@ module JiraRest
50
44
 
51
45
  #search_url = construct_query URI.escape(jql_string), return_fields, maxresults
52
46
  response = Client.get @token.url + search_url, @token.header
53
- Client.parse_search_result(response)
47
+ Client.handle_response(response, nil, true)
54
48
  end
55
49
 
56
50
  #get tickets from by a jql query
@@ -62,7 +56,7 @@ module JiraRest
62
56
  def jqlquery(jql_string, return_fields=nil, maxresults=nil)
63
57
  search_url = Client.construct_url('search', Url.new(URI.encode(jql_string), return_fields, maxresults))
64
58
  response = Client.get @token.url + search_url, @token.header
65
- Client.parse_search_result(response)
59
+ Client.handle_response(response, nil, true)
66
60
  end
67
61
  end
68
62
  end
@@ -2,4 +2,4 @@ class Struct
2
2
  def to_h
3
3
  Hash[*members.zip(values).flatten]
4
4
  end
5
- end
5
+ end
@@ -1,3 +1,4 @@
1
1
  module JiraRest
2
- VERSION = "0.1." + ENV['TRAVIS_BUILD_NUMBER']
2
+ VERSION = "0.1." + (ENV['TRAVIS_BUILD_NUMBER'].nil? ? '0' : ENV['TRAVIS_BUILD_NUMBER'])
3
+ ENV['GEM_VERSION'] = VERSION
3
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jira-rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.42
4
+ version: 0.1.79
5
5
  platform: ruby
6
6
  authors:
7
7
  - tiago.l.nobre@gmail.com
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-08 00:00:00.000000000 Z
11
+ date: 2014-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -94,7 +94,21 @@ dependencies:
94
94
  - - ~>
95
95
  - !ruby/object:Gem::Version
96
96
  version: '1.3'
97
- description: ''
97
+ - !ruby/object:Gem::Dependency
98
+ name: coveralls
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ description: jira-rest is a ruby lib to interact with JIRA
98
112
  email: tiago.l.nobre@gmail.com
99
113
  executables: []
100
114
  extensions: []
@@ -129,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
143
  version: '0'
130
144
  requirements: []
131
145
  rubyforge_project:
132
- rubygems_version: 2.2.2
146
+ rubygems_version: 2.3.0
133
147
  signing_key:
134
148
  specification_version: 4
135
149
  summary: JIRA REST API