jiralicious 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +3 -0
- data/jiralicious.gemspec +0 -2
- data/lib/jiralicious.rb +4 -0
- data/lib/jiralicious/avatar.rb +101 -0
- data/lib/jiralicious/base.rb +53 -15
- data/lib/jiralicious/configuration.rb +30 -4
- data/lib/jiralicious/custom_field_option.rb +7 -3
- data/lib/jiralicious/errors.rb +10 -0
- data/lib/jiralicious/field.rb +23 -12
- data/lib/jiralicious/issue.rb +69 -11
- data/lib/jiralicious/issue/comment.rb +54 -12
- data/lib/jiralicious/issue/fields.rb +44 -3
- data/lib/jiralicious/issue/transitions.rb +42 -11
- data/lib/jiralicious/issue/watchers.rb +19 -2
- data/lib/jiralicious/parsers/field_parser.rb +12 -0
- data/lib/jiralicious/project.rb +7 -1
- data/lib/jiralicious/project/avatar.rb +126 -0
- data/lib/jiralicious/search.rb +9 -0
- data/lib/jiralicious/search_result.rb +15 -7
- data/lib/jiralicious/session.rb +5 -0
- data/lib/jiralicious/user.rb +154 -0
- data/lib/jiralicious/user/avatar.rb +130 -0
- data/lib/jiralicious/version.rb +1 -1
- data/spec/avatar_spec.rb +50 -0
- data/spec/basic_session_spec.rb +4 -0
- data/spec/comment_spec.rb +2 -2
- data/spec/fixtures/avatar.json +7 -0
- data/spec/fixtures/avatar_custom.json +16 -0
- data/spec/fixtures/avatar_list.json +16 -0
- data/spec/fixtures/avatar_temp.json +7 -0
- data/spec/fixtures/avatar_test.png +0 -0
- data/spec/fixtures/user.json +27 -0
- data/spec/fixtures/user_array.json +26 -0
- data/spec/fixtures/user_picker.json +18 -0
- data/spec/issue_spec.rb +10 -9
- data/spec/project_avatar_spec.rb +66 -0
- data/spec/project_spec.rb +2 -2
- data/spec/search_spec.rb +2 -1
- data/spec/support/http.rb +24 -0
- data/spec/user_avatar_spec.rb +66 -0
- data/spec/user_spec.rb +79 -0
- data/spec/watchers_spec.rb +2 -2
- metadata +30 -18
data/lib/jiralicious/issue.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
module Jiralicious
|
3
3
|
##
|
4
|
-
# The Issue class rolls up all functionality of issues from
|
5
|
-
#
|
6
|
-
#
|
4
|
+
# The Issue class rolls up all functionality of issues from Jira.
|
5
|
+
# This class contains methods to manage Issues from Ruby via the
|
6
|
+
# API. Several child classes are added in order to facilitate
|
7
|
+
# several different aspects of managing the issues.
|
7
8
|
#
|
8
9
|
class Issue < Jiralicious::Base
|
9
10
|
|
@@ -30,8 +31,15 @@ module Jiralicious
|
|
30
31
|
# Contains the editmeta
|
31
32
|
attr_accessor :editmeta
|
32
33
|
|
34
|
+
##
|
33
35
|
# Initialization Method
|
34
|
-
|
36
|
+
#
|
37
|
+
# [Arguments]
|
38
|
+
# :decoded_json (optional) rubyized json object
|
39
|
+
#
|
40
|
+
# :default (optional) set to not load subclasses
|
41
|
+
#
|
42
|
+
def initialize(decoded_json = nil, default = nil)
|
35
43
|
@loaded = false
|
36
44
|
if (!decoded_json.nil?)
|
37
45
|
super(decoded_json)
|
@@ -53,8 +61,14 @@ module Jiralicious
|
|
53
61
|
end
|
54
62
|
|
55
63
|
##
|
56
|
-
# Imports all data from a decoded hash. This function is used
|
57
|
-
# issue is created but needs to be loaded from a
|
64
|
+
# Imports all data from a decoded hash. This function is used
|
65
|
+
# when a blank issue is created but needs to be loaded from a
|
66
|
+
# JSON string at a later time.
|
67
|
+
#
|
68
|
+
# [Arguments]
|
69
|
+
# :decoded_hash (optional) rubyized json object
|
70
|
+
#
|
71
|
+
# :default (optional) set to not load subclasses
|
58
72
|
#
|
59
73
|
def load(decoded_hash, default = nil)
|
60
74
|
decoded_hash.each do |k,v|
|
@@ -83,6 +97,11 @@ module Jiralicious
|
|
83
97
|
##
|
84
98
|
# Adds specified assignee to the Jira Issue.
|
85
99
|
#
|
100
|
+
# [Arguments]
|
101
|
+
# :name (required) name of assignee
|
102
|
+
#
|
103
|
+
# :key (required) issue key
|
104
|
+
#
|
86
105
|
def assignee(name, key)
|
87
106
|
name = {"name" => name} if name.is_a? String
|
88
107
|
fetch({:method => :put, :key => "#{key}/assignee", :body => name})
|
@@ -92,22 +111,39 @@ module Jiralicious
|
|
92
111
|
# Creates a new issue. This method is not recommended
|
93
112
|
# for direct access but is provided for advanced users.
|
94
113
|
#
|
114
|
+
# [Arguments]
|
115
|
+
# :issue (required) issue fields in hash format
|
116
|
+
#
|
95
117
|
def create(issue)
|
96
118
|
fetch({:method => :post, :body => issue})
|
97
119
|
end
|
98
120
|
|
99
121
|
##
|
100
|
-
# Removes/Deletes the Issue from the Jira Project. It is not
|
101
|
-
#
|
102
|
-
#
|
122
|
+
# Removes/Deletes the Issue from the Jira Project. It is not
|
123
|
+
# recommended to delete issues however the functionality is
|
124
|
+
# provided. It is recommended to override this function to
|
125
|
+
# throw an error or warning to maintain data integrity in
|
126
|
+
# systems that do not allow deleting from a remote location.
|
127
|
+
#
|
128
|
+
# [Arguments]
|
129
|
+
# :key (required) issue key
|
130
|
+
#
|
131
|
+
# :deleteSubtasks (optional) boolean flag to remove subtasks
|
132
|
+
#
|
103
133
|
#
|
104
134
|
def remove(key, options = {})
|
105
135
|
fetch({:method => :delete, :body_to_params => true, :key => key, :body => options})
|
106
136
|
end
|
107
137
|
|
108
138
|
##
|
109
|
-
# Updates the specified issue based on the provided HASH. It
|
110
|
-
# to access this method directly but is
|
139
|
+
# Updates the specified issue based on the provided HASH. It
|
140
|
+
# is not recommended to access this method directly but is
|
141
|
+
# provided for advanced users.
|
142
|
+
#
|
143
|
+
# [Arguments]
|
144
|
+
# :issue (required) hash of fields to update
|
145
|
+
#
|
146
|
+
# :key (required) issue key to update
|
111
147
|
#
|
112
148
|
def update(issue, key)
|
113
149
|
fetch({:method => :put, :key => key, :body => issue})
|
@@ -117,6 +153,11 @@ module Jiralicious
|
|
117
153
|
# Retrieves the create meta for the Jira Project based on Issue Types.
|
118
154
|
# Can be used to validate or filter create requests to minimize errors.
|
119
155
|
#
|
156
|
+
# [Arguments]
|
157
|
+
# :projectkeys (required) project key to generate create meta
|
158
|
+
#
|
159
|
+
# :issuetypeids (opitonal) list of issues types for create meta
|
160
|
+
#
|
120
161
|
def createmeta(projectkeys, issuetypeids = nil)
|
121
162
|
response = fetch({:body_to_params => true, :key => "createmeta", :body => {:expand => "projects.issuetypes.fields.", :projectKeys => projectkeys, :issuetypeIds => issuetypeids}})
|
122
163
|
return Field.new(response.parsed_response)
|
@@ -126,6 +167,9 @@ module Jiralicious
|
|
126
167
|
# Retrieves the edit meta for the Jira Issue. Can be used
|
127
168
|
# to validate or filter create requests to minimize errors.
|
128
169
|
#
|
170
|
+
# [Arguments]
|
171
|
+
# :key (required) issue key
|
172
|
+
#
|
129
173
|
def editmeta(key)
|
130
174
|
response = fetch({:key => "#{key}/editmeta"})
|
131
175
|
response.parsed_response["key"] = key
|
@@ -135,6 +179,9 @@ module Jiralicious
|
|
135
179
|
##
|
136
180
|
# Legacy method to retrieve transitions manually.
|
137
181
|
#
|
182
|
+
# [Arguments]
|
183
|
+
# :transitions_url (required) full URL
|
184
|
+
#
|
138
185
|
def get_transitions(transitions_url)
|
139
186
|
Jiralicious.session.request(:get, transitions_url, :handler => handler)
|
140
187
|
end
|
@@ -142,6 +189,11 @@ module Jiralicious
|
|
142
189
|
##
|
143
190
|
# Legacy method to process transitions manually.
|
144
191
|
#
|
192
|
+
# [Arguments]
|
193
|
+
# :transitions_url (required) full URL and params to be processed
|
194
|
+
#
|
195
|
+
# :data (required) data for the transition
|
196
|
+
#
|
145
197
|
def transition(transitions_url, data)
|
146
198
|
Jiralicious.session.request(:post, transitions_url,
|
147
199
|
:handler => handler,
|
@@ -152,6 +204,9 @@ module Jiralicious
|
|
152
204
|
##
|
153
205
|
# Method to assign an assignee by name in a current issue.
|
154
206
|
#
|
207
|
+
# [Arguments]
|
208
|
+
# :name (required) name of assignee
|
209
|
+
#
|
155
210
|
def set_assignee(name)
|
156
211
|
self.class.assignee(name, self.jira_key)
|
157
212
|
end
|
@@ -159,6 +214,9 @@ module Jiralicious
|
|
159
214
|
##
|
160
215
|
# Method to remove or delete the current issue.
|
161
216
|
#
|
217
|
+
# [Arguments]
|
218
|
+
# :options (optional) passed on
|
219
|
+
#
|
162
220
|
def remove(options = {})
|
163
221
|
self.class.remove(self.jira_key, options)
|
164
222
|
end
|
@@ -12,7 +12,10 @@ module Jiralicious
|
|
12
12
|
##
|
13
13
|
# Initialization Method
|
14
14
|
#
|
15
|
-
|
15
|
+
# [Arguments]
|
16
|
+
# :decoded_json (optional) rubyized json object
|
17
|
+
#
|
18
|
+
def initialize(decoded_json = nil)
|
16
19
|
if (decoded_json != nil)
|
17
20
|
properties_from_hash(decoded_json)
|
18
21
|
super(decoded_json)
|
@@ -33,7 +36,10 @@ module Jiralicious
|
|
33
36
|
##
|
34
37
|
# Retrieves the Comments based on the Issue Key
|
35
38
|
#
|
36
|
-
|
39
|
+
# [Arguments]
|
40
|
+
# :key (required) issue key
|
41
|
+
#
|
42
|
+
def find_by_key(key)
|
37
43
|
response = fetch({:parent => parent_name, :parent_key => key})
|
38
44
|
a = new(response)
|
39
45
|
a.jira_key = key
|
@@ -43,7 +49,12 @@ module Jiralicious
|
|
43
49
|
##
|
44
50
|
# Retrieves the Comment based on the Issue Key and Comment ID
|
45
51
|
#
|
46
|
-
|
52
|
+
# [Arguments]
|
53
|
+
# :key (required) issue key
|
54
|
+
#
|
55
|
+
# :id (required) comment id
|
56
|
+
#
|
57
|
+
def find_by_key_and_id(key, id)
|
47
58
|
response = fetch({:parent => parent_name, :parent_key => key, :key => id})
|
48
59
|
a = new(response)
|
49
60
|
a.jira_key = key
|
@@ -53,6 +64,11 @@ module Jiralicious
|
|
53
64
|
##
|
54
65
|
# Adds a new Comment to the Issue
|
55
66
|
#
|
67
|
+
# [Arguments]
|
68
|
+
# :comment (required) comment to post
|
69
|
+
#
|
70
|
+
# :key (required) issue key
|
71
|
+
#
|
56
72
|
def add(comment, key)
|
57
73
|
fetch({:method => :post, :body => comment, :parent => parent_name, :parent_key => key})
|
58
74
|
end
|
@@ -60,32 +76,50 @@ module Jiralicious
|
|
60
76
|
##
|
61
77
|
# Updates a Comment based on Issue Key and Comment ID
|
62
78
|
#
|
79
|
+
# [Arguments]
|
80
|
+
# :comment (required) comment to post
|
81
|
+
#
|
82
|
+
# :key (required) issue key
|
83
|
+
#
|
84
|
+
# :id (required) comment id
|
85
|
+
#
|
63
86
|
def edit(comment, key, id)
|
64
87
|
fetch({:method => :put, :key => id, :body => comment, :parent => parent_name, :parent_key => key})
|
65
88
|
end
|
66
89
|
|
67
90
|
##
|
68
|
-
# Removes/Deletes the Comment from the Jira Issue. It is
|
69
|
-
#
|
70
|
-
#
|
71
|
-
#
|
91
|
+
# Removes/Deletes the Comment from the Jira Issue. It is
|
92
|
+
# not recommended to delete comments however the functionality
|
93
|
+
# is provided. It is recommended to override this function
|
94
|
+
# to throw an error or warning to maintain data integrity
|
95
|
+
# in systems that do not allow deleting from a remote location.
|
96
|
+
#
|
97
|
+
# [Arguments]
|
98
|
+
# :key (required) issue key
|
99
|
+
#
|
100
|
+
# :id (required) comment id
|
72
101
|
#
|
73
102
|
def remove(key, id)
|
74
103
|
fetch({:method => :delete, :body_to_params => true, :key => id, :parent => parent_name, :parent_key => key})
|
75
|
-
|
76
104
|
end
|
77
105
|
end
|
78
106
|
|
79
107
|
##
|
80
108
|
# Retrieves the Comment based on the loaded Issue and Comment ID
|
81
109
|
#
|
82
|
-
|
110
|
+
# [Arguments]
|
111
|
+
# :id (required) comment id
|
112
|
+
#
|
113
|
+
def find_by_id(id)
|
83
114
|
self.class.find_by_key_and_id(@jira_key, id)
|
84
115
|
end
|
85
116
|
|
86
117
|
##
|
87
118
|
# Adds a new Comment to the loaded Issue
|
88
119
|
#
|
120
|
+
# [Arguments]
|
121
|
+
# :comment (required) comment text
|
122
|
+
#
|
89
123
|
def add(comment)
|
90
124
|
self.class.add(comment, @jira_key)
|
91
125
|
end
|
@@ -93,14 +127,22 @@ module Jiralicious
|
|
93
127
|
##
|
94
128
|
# Updates a Comment based on loaded Issue and Comment
|
95
129
|
#
|
130
|
+
# [Arguments]
|
131
|
+
# :comment (required) comment text
|
132
|
+
#
|
96
133
|
def edit(comment)
|
97
134
|
self.class.edit(comment, @jira_key, self.id)
|
98
135
|
end
|
99
136
|
|
100
137
|
##
|
101
|
-
# Removes/Deletes the Comment from the Jira Issue. It is
|
102
|
-
#
|
103
|
-
#
|
138
|
+
# Removes/Deletes the Comment from the Jira Issue. It is
|
139
|
+
# not recommended to delete comments. However, the functionality
|
140
|
+
# is provided. It is recommended to override this function
|
141
|
+
# to throw an error or warning to maintain data integrity
|
142
|
+
# in systems that do not allow deleting from a remote location.
|
143
|
+
#
|
144
|
+
# [Arguments]
|
145
|
+
# :id (optional) comment id
|
104
146
|
#
|
105
147
|
def remove(id = self.id)
|
106
148
|
self.class.remove(@jira_key, id)
|
@@ -2,9 +2,11 @@
|
|
2
2
|
module Jiralicious
|
3
3
|
class Issue
|
4
4
|
##
|
5
|
-
# The Fields class provides functionality to the Issue
|
6
|
-
#
|
7
|
-
#
|
5
|
+
# The Fields class provides functionality to the Issue
|
6
|
+
# class that allows it to easily update or create issues.
|
7
|
+
# The class retains the original and the proposed
|
8
|
+
# information which could be used for cross validation
|
9
|
+
# prior to posting an update.
|
8
10
|
#
|
9
11
|
class Fields
|
10
12
|
# The fields that will be updated or created
|
@@ -15,6 +17,9 @@ module Jiralicious
|
|
15
17
|
##
|
16
18
|
# Initialization Method
|
17
19
|
#
|
20
|
+
# [Arguments]
|
21
|
+
# :fc (optional) fields to load
|
22
|
+
#
|
18
23
|
def initialize(fc = nil)
|
19
24
|
@fields_current = (fc == nil) ? Hash.new : fc
|
20
25
|
@fields_update = Hash.new
|
@@ -37,6 +42,9 @@ module Jiralicious
|
|
37
42
|
##
|
38
43
|
# Adds a comment to the field list
|
39
44
|
#
|
45
|
+
# [Arguments]
|
46
|
+
# :comment (required) comment text
|
47
|
+
#
|
40
48
|
def add_comment(comment)
|
41
49
|
if !(@fields_update['comment'].is_a? Array)
|
42
50
|
@fields_update['comment'] = Array.new
|
@@ -47,6 +55,11 @@ module Jiralicious
|
|
47
55
|
##
|
48
56
|
# Appends the current String with the provided value
|
49
57
|
#
|
58
|
+
# [Arguments]
|
59
|
+
# :field (required) field to update
|
60
|
+
#
|
61
|
+
# :value (required) value text
|
62
|
+
#
|
50
63
|
def append_s(field, value)
|
51
64
|
if (@fields_update[field] == nil)
|
52
65
|
@fields_update[field] = @fields_current[field] unless @fields_current.nil?
|
@@ -58,6 +71,11 @@ module Jiralicious
|
|
58
71
|
##
|
59
72
|
# Appends the current Array with the provided value
|
60
73
|
#
|
74
|
+
# [Arguments]
|
75
|
+
# :field (required) field to update
|
76
|
+
#
|
77
|
+
# :value (required) value array
|
78
|
+
#
|
61
79
|
def append_a(field, value)
|
62
80
|
@fields_update[field] = @fields_current[field] if (@fields_update[field] == nil)
|
63
81
|
@fields_update[field] = Array.new if !(@fields_update[field].is_a? Array)
|
@@ -71,6 +89,11 @@ module Jiralicious
|
|
71
89
|
##
|
72
90
|
# Appends the current Hash with the provided value
|
73
91
|
#
|
92
|
+
# [Arguments]
|
93
|
+
# :field (required) field to update
|
94
|
+
#
|
95
|
+
# :value (required) value hash
|
96
|
+
#
|
74
97
|
def append_h(field, hash)
|
75
98
|
@fields_update[field] = @fields_current[field] if (@fields_update[field] == nil)
|
76
99
|
@fields_update[field] = Hash.new if !(@fields_update[field].is_a? Hash)
|
@@ -80,6 +103,11 @@ module Jiralicious
|
|
80
103
|
##
|
81
104
|
# Sets the field key with the provided value.
|
82
105
|
#
|
106
|
+
# [Arguments]
|
107
|
+
# :field (required) field to update
|
108
|
+
#
|
109
|
+
# :value (required) value to add
|
110
|
+
#
|
83
111
|
def set(field, value)
|
84
112
|
@fields_update[field] = value
|
85
113
|
end
|
@@ -88,6 +116,11 @@ module Jiralicious
|
|
88
116
|
# Sets the field with a name hash.
|
89
117
|
# This is necessary for some objects in Jira.
|
90
118
|
#
|
119
|
+
# [Arguments]
|
120
|
+
# :field (required) field to update
|
121
|
+
#
|
122
|
+
# :value (required) value text
|
123
|
+
#
|
91
124
|
def set_name(field, value)
|
92
125
|
@fields_update[field] = {"name" => value}
|
93
126
|
end
|
@@ -96,12 +129,20 @@ module Jiralicious
|
|
96
129
|
# Sets the field with a id hash.
|
97
130
|
# This is necessary for some objects in Jira.
|
98
131
|
#
|
132
|
+
# [Arguments]
|
133
|
+
# :field (required) field to update
|
134
|
+
#
|
135
|
+
# :value (required) value text/int
|
136
|
+
#
|
99
137
|
def set_id(field, value)
|
100
138
|
@fields_update[field] = {"id" => value}
|
101
139
|
end
|
102
140
|
##
|
103
141
|
# Fills the fields_current object with the provided Hash.
|
104
142
|
#
|
143
|
+
# [Arguments]
|
144
|
+
# :fc (optional) fields to load
|
145
|
+
#
|
105
146
|
def set_current(fc)
|
106
147
|
@fields_current = fc if fc.type == Hash
|
107
148
|
end
|
@@ -2,8 +2,9 @@
|
|
2
2
|
module Jiralicious
|
3
3
|
class Issue
|
4
4
|
##
|
5
|
-
# The Transitions Class provides all of the
|
6
|
-
# and use a transition
|
5
|
+
# The Transitions Class provides all of the
|
6
|
+
# functionality to retrieve, and use a transition
|
7
|
+
# associated with an Issue.
|
7
8
|
#
|
8
9
|
class Transitions < Jiralicious::Base
|
9
10
|
|
@@ -13,7 +14,12 @@ module Jiralicious
|
|
13
14
|
##
|
14
15
|
# Initialization Method
|
15
16
|
#
|
16
|
-
|
17
|
+
# [Arguments]
|
18
|
+
# :decoded_json (optional) rubyized json object
|
19
|
+
#
|
20
|
+
# :default (optional) default issue key
|
21
|
+
#
|
22
|
+
def initialize(decoded_json = nil, default = nil)
|
17
23
|
@loaded = false
|
18
24
|
@meta = nil
|
19
25
|
if decoded_json.is_a? Array
|
@@ -45,30 +51,46 @@ module Jiralicious
|
|
45
51
|
##
|
46
52
|
# Retrieves the associated Transitions based on the Issue Key
|
47
53
|
#
|
48
|
-
|
54
|
+
# [Arguments]
|
55
|
+
# :key (required) issue key
|
56
|
+
#
|
57
|
+
def find(key)
|
49
58
|
response = fetch({:parent => parent_name, :parent_key => key})
|
50
59
|
response.parsed_response['transitions'].each do |t|
|
51
60
|
t['jira_key'] = key
|
52
61
|
end
|
53
|
-
|
54
|
-
return a
|
62
|
+
return new(response.parsed_response['transitions'], key)
|
55
63
|
end
|
56
64
|
|
57
65
|
##
|
58
66
|
# Retrieves the Transition based on the Issue Key and Transition ID
|
59
67
|
#
|
60
|
-
|
68
|
+
# [Arguments]
|
69
|
+
# :key (required) issue key
|
70
|
+
#
|
71
|
+
# :id (required) transition id
|
72
|
+
#
|
73
|
+
def find_by_key_and_id(key, id)
|
61
74
|
response = fetch({:parent => parent_name, :parent_key => key, :body => {"transitionId" => id}, :body_to_params => true })
|
62
75
|
response.parsed_response['transitions'].each do |t|
|
63
76
|
t['jira_key'] = key
|
64
77
|
end
|
65
|
-
|
66
|
-
return a
|
78
|
+
return new(response.parsed_response['transitions'])
|
67
79
|
end
|
68
80
|
|
69
81
|
##
|
70
82
|
# Processes the Transition based on the provided options
|
71
83
|
#
|
84
|
+
# [Arguments]
|
85
|
+
# :key (required) issue key
|
86
|
+
#
|
87
|
+
# :id (required) transaction id
|
88
|
+
#
|
89
|
+
# :comment (optional) comment to be added with transition
|
90
|
+
#
|
91
|
+
# :fields (mixed) the fields that are required or optional
|
92
|
+
# based on the individual transition
|
93
|
+
#
|
72
94
|
def go(key, id, options = {})
|
73
95
|
transition = {"transition" => {"id" => id}}
|
74
96
|
if options[:comment].is_a? String
|
@@ -90,14 +112,20 @@ module Jiralicious
|
|
90
112
|
# Retrieves the meta data for the Transition based on the
|
91
113
|
# options, Issue Key and Transition ID provided.
|
92
114
|
#
|
115
|
+
# [Arguments]
|
116
|
+
# :key (required) issue key
|
117
|
+
#
|
118
|
+
# :id (required) transaction id
|
119
|
+
#
|
120
|
+
# :return (optional) boolean flag to determine if an object or hash is returned
|
121
|
+
#
|
93
122
|
def meta(key, id, options = {})
|
94
123
|
response = fetch({:method => :get, :parent => parent_name, :parent_key => key, :body_to_params => true,
|
95
124
|
:body => {"transitionId" => id, "expand" => "transitions.fields"}})
|
96
125
|
response.parsed_response['transitions'].each do |t|
|
97
126
|
t['jira_key'] = key
|
98
127
|
end
|
99
|
-
|
100
|
-
return a
|
128
|
+
return (options[:return].nil?) ? new(response.parsed_response['transitions'], key) : response
|
101
129
|
end
|
102
130
|
|
103
131
|
alias :find_all :find
|
@@ -113,6 +141,9 @@ module Jiralicious
|
|
113
141
|
##
|
114
142
|
# Processes the Transition based on the provided options
|
115
143
|
#
|
144
|
+
# [Arguments]
|
145
|
+
# :options are passed on to the 'class.go' function
|
146
|
+
#
|
116
147
|
def go(options = {})
|
117
148
|
self.class.go(self.jira_key, self.id, options)
|
118
149
|
end
|