jira-ruby 2.2.0 → 3.0.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE/bug_report.md +20 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.github/dependabot.yml +6 -0
- data/.github/workflows/CI.yml +28 -0
- data/.github/workflows/codeql.yml +100 -0
- data/.github/workflows/rubocop.yml +18 -0
- data/.rubocop.yml +188 -0
- data/Gemfile +11 -3
- data/Guardfile +2 -0
- data/README.md +121 -20
- data/Rakefile +4 -5
- data/jira-ruby.gemspec +11 -17
- data/lib/jira/base.rb +37 -28
- data/lib/jira/base_factory.rb +4 -1
- data/lib/jira/client.rb +65 -46
- data/lib/jira/has_many_proxy.rb +4 -2
- data/lib/jira/http_client.rb +18 -13
- data/lib/jira/http_error.rb +4 -0
- data/lib/jira/jwt_client.rb +18 -42
- data/lib/jira/oauth_client.rb +6 -3
- data/lib/jira/railtie.rb +2 -0
- data/lib/jira/request_client.rb +5 -1
- data/lib/jira/resource/agile.rb +7 -9
- data/lib/jira/resource/applinks.rb +5 -3
- data/lib/jira/resource/attachment.rb +43 -3
- data/lib/jira/resource/board.rb +5 -3
- data/lib/jira/resource/board_configuration.rb +2 -0
- data/lib/jira/resource/comment.rb +2 -0
- data/lib/jira/resource/component.rb +2 -0
- data/lib/jira/resource/createmeta.rb +3 -1
- data/lib/jira/resource/field.rb +9 -4
- data/lib/jira/resource/filter.rb +2 -0
- data/lib/jira/resource/issue.rb +35 -44
- data/lib/jira/resource/issue_picker_suggestions.rb +4 -1
- data/lib/jira/resource/issue_picker_suggestions_issue.rb +2 -0
- data/lib/jira/resource/issuelink.rb +2 -0
- data/lib/jira/resource/issuelinktype.rb +2 -0
- data/lib/jira/resource/issuetype.rb +2 -0
- data/lib/jira/resource/priority.rb +2 -0
- data/lib/jira/resource/project.rb +4 -2
- data/lib/jira/resource/rapidview.rb +5 -3
- data/lib/jira/resource/remotelink.rb +2 -0
- data/lib/jira/resource/resolution.rb +2 -0
- data/lib/jira/resource/serverinfo.rb +2 -0
- data/lib/jira/resource/sprint.rb +14 -23
- data/lib/jira/resource/status.rb +7 -1
- data/lib/jira/resource/status_category.rb +10 -0
- data/lib/jira/resource/suggested_issue.rb +2 -0
- data/lib/jira/resource/transition.rb +2 -0
- data/lib/jira/resource/user.rb +3 -1
- data/lib/jira/resource/version.rb +2 -0
- data/lib/jira/resource/watcher.rb +2 -1
- data/lib/jira/resource/webhook.rb +4 -2
- data/lib/jira/resource/worklog.rb +3 -2
- data/lib/jira/version.rb +3 -1
- data/lib/jira-ruby.rb +5 -3
- data/lib/tasks/generate.rake +4 -2
- data/spec/data/files/short.txt +1 -0
- data/spec/integration/attachment_spec.rb +3 -3
- data/spec/integration/comment_spec.rb +8 -8
- data/spec/integration/component_spec.rb +7 -7
- data/spec/integration/field_spec.rb +3 -3
- data/spec/integration/issue_spec.rb +20 -16
- data/spec/integration/issuelinktype_spec.rb +3 -3
- data/spec/integration/issuetype_spec.rb +3 -3
- data/spec/integration/priority_spec.rb +3 -3
- data/spec/integration/project_spec.rb +7 -7
- data/spec/integration/rapidview_spec.rb +9 -9
- data/spec/integration/resolution_spec.rb +3 -3
- data/spec/integration/status_category_spec.rb +20 -0
- data/spec/integration/status_spec.rb +4 -8
- data/spec/integration/transition_spec.rb +2 -2
- data/spec/integration/user_spec.rb +22 -8
- data/spec/integration/version_spec.rb +7 -7
- data/spec/integration/watcher_spec.rb +17 -18
- data/spec/integration/webhook.rb +5 -4
- data/spec/integration/worklog_spec.rb +8 -8
- data/spec/jira/base_factory_spec.rb +2 -1
- data/spec/jira/base_spec.rb +55 -41
- data/spec/jira/client_spec.rb +48 -34
- data/spec/jira/has_many_proxy_spec.rb +3 -3
- data/spec/jira/http_client_spec.rb +98 -26
- data/spec/jira/http_error_spec.rb +2 -2
- data/spec/jira/oauth_client_spec.rb +30 -8
- data/spec/jira/request_client_spec.rb +4 -4
- data/spec/jira/resource/agile_spec.rb +28 -28
- data/spec/jira/resource/attachment_spec.rb +142 -52
- data/spec/jira/resource/board_spec.rb +21 -20
- data/spec/jira/resource/createmeta_spec.rb +48 -48
- data/spec/jira/resource/field_spec.rb +30 -12
- data/spec/jira/resource/filter_spec.rb +4 -4
- data/spec/jira/resource/issue_picker_suggestions_spec.rb +18 -18
- data/spec/jira/resource/issue_spec.rb +44 -38
- data/spec/jira/resource/jira_picker_suggestions_issue_spec.rb +3 -3
- data/spec/jira/resource/project_factory_spec.rb +3 -2
- data/spec/jira/resource/project_spec.rb +16 -16
- data/spec/jira/resource/sprint_spec.rb +70 -3
- data/spec/jira/resource/status_spec.rb +21 -0
- data/spec/jira/resource/user_factory_spec.rb +4 -4
- data/spec/jira/resource/worklog_spec.rb +3 -3
- data/spec/mock_responses/sprint/1.json +13 -0
- data/spec/mock_responses/status/1.json +8 -1
- data/spec/mock_responses/status.json +40 -5
- data/spec/mock_responses/statuscategory/1.json +7 -0
- data/spec/mock_responses/statuscategory.json +30 -0
- data/spec/mock_responses/{user_username=admin.json → user_accountId=1234567890abcdef01234567.json} +2 -1
- data/spec/spec_helper.rb +1 -0
- data/spec/support/clients_helper.rb +3 -5
- data/spec/support/shared_examples/integration.rb +25 -28
- metadata +25 -257
- data/.travis.yml +0 -9
- data/example.rb +0 -232
- data/http-basic-example.rb +0 -113
- data/lib/jira/resource/sprint_report.rb +0 -8
- data/lib/jira/tasks.rb +0 -0
- data/spec/jira/jwt_uri_builder_spec.rb +0 -59
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jira-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- SUMO Heavy Industries
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-08-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -59,169 +59,33 @@ dependencies:
|
|
59
59
|
requirements:
|
60
60
|
- - "~>"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: '0
|
63
|
-
- - ">="
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
version: 0.5.0
|
62
|
+
version: '1.0'
|
66
63
|
type: :runtime
|
67
64
|
prerelease: false
|
68
65
|
version_requirements: !ruby/object:Gem::Requirement
|
69
66
|
requirements:
|
70
67
|
- - "~>"
|
71
68
|
- !ruby/object:Gem::Version
|
72
|
-
version: '0
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 0.5.0
|
76
|
-
- !ruby/object:Gem::Dependency
|
77
|
-
name: guard
|
78
|
-
requirement: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '2.13'
|
83
|
-
- - ">="
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: 2.13.0
|
86
|
-
type: :development
|
87
|
-
prerelease: false
|
88
|
-
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
requirements:
|
90
|
-
- - "~>"
|
91
|
-
- !ruby/object:Gem::Version
|
92
|
-
version: '2.13'
|
93
|
-
- - ">="
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: 2.13.0
|
96
|
-
- !ruby/object:Gem::Dependency
|
97
|
-
name: guard-rspec
|
98
|
-
requirement: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - "~>"
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '4.6'
|
103
|
-
- - ">="
|
104
|
-
- !ruby/object:Gem::Version
|
105
|
-
version: 4.6.5
|
106
|
-
type: :development
|
107
|
-
prerelease: false
|
108
|
-
version_requirements: !ruby/object:Gem::Requirement
|
109
|
-
requirements:
|
110
|
-
- - "~>"
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
version: '4.6'
|
113
|
-
- - ">="
|
114
|
-
- !ruby/object:Gem::Version
|
115
|
-
version: 4.6.5
|
116
|
-
- !ruby/object:Gem::Dependency
|
117
|
-
name: pry
|
118
|
-
requirement: !ruby/object:Gem::Requirement
|
119
|
-
requirements:
|
120
|
-
- - "~>"
|
121
|
-
- !ruby/object:Gem::Version
|
122
|
-
version: '0.10'
|
123
|
-
- - ">="
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: 0.10.3
|
126
|
-
type: :development
|
127
|
-
prerelease: false
|
128
|
-
version_requirements: !ruby/object:Gem::Requirement
|
129
|
-
requirements:
|
130
|
-
- - "~>"
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
version: '0.10'
|
133
|
-
- - ">="
|
134
|
-
- !ruby/object:Gem::Version
|
135
|
-
version: 0.10.3
|
136
|
-
- !ruby/object:Gem::Dependency
|
137
|
-
name: railties
|
138
|
-
requirement: !ruby/object:Gem::Requirement
|
139
|
-
requirements:
|
140
|
-
- - ">="
|
141
|
-
- !ruby/object:Gem::Version
|
142
|
-
version: '0'
|
143
|
-
type: :development
|
144
|
-
prerelease: false
|
145
|
-
version_requirements: !ruby/object:Gem::Requirement
|
146
|
-
requirements:
|
147
|
-
- - ">="
|
148
|
-
- !ruby/object:Gem::Version
|
149
|
-
version: '0'
|
150
|
-
- !ruby/object:Gem::Dependency
|
151
|
-
name: rake
|
152
|
-
requirement: !ruby/object:Gem::Requirement
|
153
|
-
requirements:
|
154
|
-
- - "~>"
|
155
|
-
- !ruby/object:Gem::Version
|
156
|
-
version: '10.3'
|
157
|
-
- - ">="
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: 10.3.2
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - "~>"
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '10.3'
|
167
|
-
- - ">="
|
168
|
-
- !ruby/object:Gem::Version
|
169
|
-
version: 10.3.2
|
170
|
-
- !ruby/object:Gem::Dependency
|
171
|
-
name: rspec
|
172
|
-
requirement: !ruby/object:Gem::Requirement
|
173
|
-
requirements:
|
174
|
-
- - "~>"
|
175
|
-
- !ruby/object:Gem::Version
|
176
|
-
version: '3.0'
|
177
|
-
- - ">="
|
178
|
-
- !ruby/object:Gem::Version
|
179
|
-
version: 3.0.0
|
180
|
-
type: :development
|
181
|
-
prerelease: false
|
182
|
-
version_requirements: !ruby/object:Gem::Requirement
|
183
|
-
requirements:
|
184
|
-
- - "~>"
|
185
|
-
- !ruby/object:Gem::Version
|
186
|
-
version: '3.0'
|
187
|
-
- - ">="
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
version: 3.0.0
|
190
|
-
- !ruby/object:Gem::Dependency
|
191
|
-
name: webmock
|
192
|
-
requirement: !ruby/object:Gem::Requirement
|
193
|
-
requirements:
|
194
|
-
- - "~>"
|
195
|
-
- !ruby/object:Gem::Version
|
196
|
-
version: '1.18'
|
197
|
-
- - ">="
|
198
|
-
- !ruby/object:Gem::Version
|
199
|
-
version: 1.18.0
|
200
|
-
type: :development
|
201
|
-
prerelease: false
|
202
|
-
version_requirements: !ruby/object:Gem::Requirement
|
203
|
-
requirements:
|
204
|
-
- - "~>"
|
205
|
-
- !ruby/object:Gem::Version
|
206
|
-
version: '1.18'
|
207
|
-
- - ">="
|
208
|
-
- !ruby/object:Gem::Version
|
209
|
-
version: 1.18.0
|
69
|
+
version: '1.0'
|
210
70
|
description: API for JIRA
|
211
71
|
email:
|
212
72
|
executables: []
|
213
73
|
extensions: []
|
214
74
|
extra_rdoc_files: []
|
215
75
|
files:
|
76
|
+
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
77
|
+
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
78
|
+
- ".github/dependabot.yml"
|
79
|
+
- ".github/workflows/CI.yml"
|
80
|
+
- ".github/workflows/codeql.yml"
|
81
|
+
- ".github/workflows/rubocop.yml"
|
216
82
|
- ".gitignore"
|
217
|
-
- ".
|
83
|
+
- ".rubocop.yml"
|
218
84
|
- Gemfile
|
219
85
|
- Guardfile
|
220
86
|
- LICENSE
|
221
87
|
- README.md
|
222
88
|
- Rakefile
|
223
|
-
- example.rb
|
224
|
-
- http-basic-example.rb
|
225
89
|
- jira-ruby.gemspec
|
226
90
|
- lib/jira-ruby.rb
|
227
91
|
- lib/jira/base.rb
|
@@ -257,8 +121,8 @@ files:
|
|
257
121
|
- lib/jira/resource/resolution.rb
|
258
122
|
- lib/jira/resource/serverinfo.rb
|
259
123
|
- lib/jira/resource/sprint.rb
|
260
|
-
- lib/jira/resource/sprint_report.rb
|
261
124
|
- lib/jira/resource/status.rb
|
125
|
+
- lib/jira/resource/status_category.rb
|
262
126
|
- lib/jira/resource/suggested_issue.rb
|
263
127
|
- lib/jira/resource/transition.rb
|
264
128
|
- lib/jira/resource/user.rb
|
@@ -266,9 +130,9 @@ files:
|
|
266
130
|
- lib/jira/resource/watcher.rb
|
267
131
|
- lib/jira/resource/webhook.rb
|
268
132
|
- lib/jira/resource/worklog.rb
|
269
|
-
- lib/jira/tasks.rb
|
270
133
|
- lib/jira/version.rb
|
271
134
|
- lib/tasks/generate.rake
|
135
|
+
- spec/data/files/short.txt
|
272
136
|
- spec/integration/attachment_spec.rb
|
273
137
|
- spec/integration/comment_spec.rb
|
274
138
|
- spec/integration/component_spec.rb
|
@@ -280,6 +144,7 @@ files:
|
|
280
144
|
- spec/integration/project_spec.rb
|
281
145
|
- spec/integration/rapidview_spec.rb
|
282
146
|
- spec/integration/resolution_spec.rb
|
147
|
+
- spec/integration/status_category_spec.rb
|
283
148
|
- spec/integration/status_spec.rb
|
284
149
|
- spec/integration/transition_spec.rb
|
285
150
|
- spec/integration/user_spec.rb
|
@@ -293,7 +158,6 @@ files:
|
|
293
158
|
- spec/jira/has_many_proxy_spec.rb
|
294
159
|
- spec/jira/http_client_spec.rb
|
295
160
|
- spec/jira/http_error_spec.rb
|
296
|
-
- spec/jira/jwt_uri_builder_spec.rb
|
297
161
|
- spec/jira/oauth_client_spec.rb
|
298
162
|
- spec/jira/request_client_spec.rb
|
299
163
|
- spec/jira/resource/agile_spec.rb
|
@@ -309,6 +173,7 @@ files:
|
|
309
173
|
- spec/jira/resource/project_factory_spec.rb
|
310
174
|
- spec/jira/resource/project_spec.rb
|
311
175
|
- spec/jira/resource/sprint_spec.rb
|
176
|
+
- spec/jira/resource/status_spec.rb
|
312
177
|
- spec/jira/resource/user_factory_spec.rb
|
313
178
|
- spec/jira/resource/worklog_spec.rb
|
314
179
|
- spec/mock_responses/board/1.json
|
@@ -354,10 +219,13 @@ files:
|
|
354
219
|
- spec/mock_responses/rapidview/SAMPLEPROJECT.json
|
355
220
|
- spec/mock_responses/resolution.json
|
356
221
|
- spec/mock_responses/resolution/1.json
|
222
|
+
- spec/mock_responses/sprint/1.json
|
357
223
|
- spec/mock_responses/sprint/1_issues.json
|
358
224
|
- spec/mock_responses/status.json
|
359
225
|
- spec/mock_responses/status/1.json
|
360
|
-
- spec/mock_responses/
|
226
|
+
- spec/mock_responses/statuscategory.json
|
227
|
+
- spec/mock_responses/statuscategory/1.json
|
228
|
+
- spec/mock_responses/user_accountId=1234567890abcdef01234567.json
|
361
229
|
- spec/mock_responses/version.post.json
|
362
230
|
- spec/mock_responses/version/10000.invalid.put.json
|
363
231
|
- spec/mock_responses/version/10000.json
|
@@ -375,6 +243,7 @@ licenses:
|
|
375
243
|
- MIT
|
376
244
|
metadata:
|
377
245
|
source_code_uri: https://github.com/sumoheavy/jira-ruby
|
246
|
+
rubygems_mfa_required: 'true'
|
378
247
|
post_install_message:
|
379
248
|
rdoc_options: []
|
380
249
|
require_paths:
|
@@ -383,116 +252,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
383
252
|
requirements:
|
384
253
|
- - ">="
|
385
254
|
- !ruby/object:Gem::Version
|
386
|
-
version: 1.
|
255
|
+
version: 3.1.0
|
387
256
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
388
257
|
requirements:
|
389
|
-
- - "
|
258
|
+
- - ">"
|
390
259
|
- !ruby/object:Gem::Version
|
391
|
-
version:
|
260
|
+
version: 1.3.1
|
392
261
|
requirements: []
|
393
|
-
rubygems_version: 3.
|
262
|
+
rubygems_version: 3.3.3
|
394
263
|
signing_key:
|
395
264
|
specification_version: 4
|
396
265
|
summary: Ruby Gem for use with the Atlassian JIRA REST API
|
397
|
-
test_files:
|
398
|
-
- spec/integration/attachment_spec.rb
|
399
|
-
- spec/integration/comment_spec.rb
|
400
|
-
- spec/integration/component_spec.rb
|
401
|
-
- spec/integration/field_spec.rb
|
402
|
-
- spec/integration/issue_spec.rb
|
403
|
-
- spec/integration/issuelinktype_spec.rb
|
404
|
-
- spec/integration/issuetype_spec.rb
|
405
|
-
- spec/integration/priority_spec.rb
|
406
|
-
- spec/integration/project_spec.rb
|
407
|
-
- spec/integration/rapidview_spec.rb
|
408
|
-
- spec/integration/resolution_spec.rb
|
409
|
-
- spec/integration/status_spec.rb
|
410
|
-
- spec/integration/transition_spec.rb
|
411
|
-
- spec/integration/user_spec.rb
|
412
|
-
- spec/integration/version_spec.rb
|
413
|
-
- spec/integration/watcher_spec.rb
|
414
|
-
- spec/integration/webhook.rb
|
415
|
-
- spec/integration/worklog_spec.rb
|
416
|
-
- spec/jira/base_factory_spec.rb
|
417
|
-
- spec/jira/base_spec.rb
|
418
|
-
- spec/jira/client_spec.rb
|
419
|
-
- spec/jira/has_many_proxy_spec.rb
|
420
|
-
- spec/jira/http_client_spec.rb
|
421
|
-
- spec/jira/http_error_spec.rb
|
422
|
-
- spec/jira/jwt_uri_builder_spec.rb
|
423
|
-
- spec/jira/oauth_client_spec.rb
|
424
|
-
- spec/jira/request_client_spec.rb
|
425
|
-
- spec/jira/resource/agile_spec.rb
|
426
|
-
- spec/jira/resource/attachment_spec.rb
|
427
|
-
- spec/jira/resource/board_spec.rb
|
428
|
-
- spec/jira/resource/createmeta_spec.rb
|
429
|
-
- spec/jira/resource/field_spec.rb
|
430
|
-
- spec/jira/resource/filter_spec.rb
|
431
|
-
- spec/jira/resource/issue_picker_suggestions_spec.rb
|
432
|
-
- spec/jira/resource/issue_spec.rb
|
433
|
-
- spec/jira/resource/issuelink_spec.rb
|
434
|
-
- spec/jira/resource/jira_picker_suggestions_issue_spec.rb
|
435
|
-
- spec/jira/resource/project_factory_spec.rb
|
436
|
-
- spec/jira/resource/project_spec.rb
|
437
|
-
- spec/jira/resource/sprint_spec.rb
|
438
|
-
- spec/jira/resource/user_factory_spec.rb
|
439
|
-
- spec/jira/resource/worklog_spec.rb
|
440
|
-
- spec/mock_responses/board/1.json
|
441
|
-
- spec/mock_responses/board/1_issues.json
|
442
|
-
- spec/mock_responses/component.post.json
|
443
|
-
- spec/mock_responses/component/10000.invalid.put.json
|
444
|
-
- spec/mock_responses/component/10000.json
|
445
|
-
- spec/mock_responses/component/10000.put.json
|
446
|
-
- spec/mock_responses/empty_issues.json
|
447
|
-
- spec/mock_responses/field.json
|
448
|
-
- spec/mock_responses/field/1.json
|
449
|
-
- spec/mock_responses/issue.json
|
450
|
-
- spec/mock_responses/issue.post.json
|
451
|
-
- spec/mock_responses/issue/10002.invalid.put.json
|
452
|
-
- spec/mock_responses/issue/10002.json
|
453
|
-
- spec/mock_responses/issue/10002.put.missing_field_update.json
|
454
|
-
- spec/mock_responses/issue/10002/attachments/10000.json
|
455
|
-
- spec/mock_responses/issue/10002/comment.json
|
456
|
-
- spec/mock_responses/issue/10002/comment.post.json
|
457
|
-
- spec/mock_responses/issue/10002/comment/10000.json
|
458
|
-
- spec/mock_responses/issue/10002/comment/10000.put.json
|
459
|
-
- spec/mock_responses/issue/10002/transitions.json
|
460
|
-
- spec/mock_responses/issue/10002/transitions.post.json
|
461
|
-
- spec/mock_responses/issue/10002/watchers.json
|
462
|
-
- spec/mock_responses/issue/10002/worklog.json
|
463
|
-
- spec/mock_responses/issue/10002/worklog.post.json
|
464
|
-
- spec/mock_responses/issue/10002/worklog/10000.json
|
465
|
-
- spec/mock_responses/issue/10002/worklog/10000.put.json
|
466
|
-
- spec/mock_responses/issueLinkType.json
|
467
|
-
- spec/mock_responses/issueLinkType/10000.json
|
468
|
-
- spec/mock_responses/issuetype.json
|
469
|
-
- spec/mock_responses/issuetype/5.json
|
470
|
-
- spec/mock_responses/jira/rest/webhooks/1.0/webhook.json
|
471
|
-
- spec/mock_responses/jira/rest/webhooks/1.0/webhook/2.json
|
472
|
-
- spec/mock_responses/priority.json
|
473
|
-
- spec/mock_responses/priority/1.json
|
474
|
-
- spec/mock_responses/project.json
|
475
|
-
- spec/mock_responses/project/SAMPLEPROJECT.issues.json
|
476
|
-
- spec/mock_responses/project/SAMPLEPROJECT.json
|
477
|
-
- spec/mock_responses/rapidview.json
|
478
|
-
- spec/mock_responses/rapidview/SAMPLEPROJECT.issues.full.json
|
479
|
-
- spec/mock_responses/rapidview/SAMPLEPROJECT.issues.json
|
480
|
-
- spec/mock_responses/rapidview/SAMPLEPROJECT.json
|
481
|
-
- spec/mock_responses/resolution.json
|
482
|
-
- spec/mock_responses/resolution/1.json
|
483
|
-
- spec/mock_responses/sprint/1_issues.json
|
484
|
-
- spec/mock_responses/status.json
|
485
|
-
- spec/mock_responses/status/1.json
|
486
|
-
- spec/mock_responses/user_username=admin.json
|
487
|
-
- spec/mock_responses/version.post.json
|
488
|
-
- spec/mock_responses/version/10000.invalid.put.json
|
489
|
-
- spec/mock_responses/version/10000.json
|
490
|
-
- spec/mock_responses/version/10000.put.json
|
491
|
-
- spec/mock_responses/webhook.json
|
492
|
-
- spec/mock_responses/webhook/webhook.json
|
493
|
-
- spec/spec_helper.rb
|
494
|
-
- spec/support/clients_helper.rb
|
495
|
-
- spec/support/matchers/have_attributes.rb
|
496
|
-
- spec/support/matchers/have_many.rb
|
497
|
-
- spec/support/matchers/have_one.rb
|
498
|
-
- spec/support/shared_examples/integration.rb
|
266
|
+
test_files: []
|
data/.travis.yml
DELETED
data/example.rb
DELETED
@@ -1,232 +0,0 @@
|
|
1
|
-
require 'pp'
|
2
|
-
require './lib/jira-ruby'
|
3
|
-
|
4
|
-
CONSUMER_KEY = 'test'
|
5
|
-
SITE = 'https://test.jira.com'
|
6
|
-
|
7
|
-
options = {
|
8
|
-
:private_key_file => "rsakey.pem",
|
9
|
-
:context_path => '',
|
10
|
-
:consumer_key => CONSUMER_KEY,
|
11
|
-
:site => SITE
|
12
|
-
}
|
13
|
-
|
14
|
-
client = JIRA::Client.new(options)
|
15
|
-
|
16
|
-
if ARGV.length == 0
|
17
|
-
# If not passed any command line arguments, open a browser and prompt the
|
18
|
-
# user for the OAuth verifier.
|
19
|
-
request_token = client.request_token
|
20
|
-
puts "Opening #{request_token.authorize_url}"
|
21
|
-
system "open #{request_token.authorize_url}"
|
22
|
-
|
23
|
-
puts "Enter the oauth_verifier: "
|
24
|
-
oauth_verifier = gets.strip
|
25
|
-
|
26
|
-
access_token = client.init_access_token(:oauth_verifier => oauth_verifier)
|
27
|
-
puts "Access token: #{access_token.token} secret: #{access_token.secret}"
|
28
|
-
elsif ARGV.length == 2
|
29
|
-
# Otherwise assume the arguments are a previous access token and secret.
|
30
|
-
access_token = client.set_access_token(ARGV[0], ARGV[1])
|
31
|
-
else
|
32
|
-
# Script must be passed 0 or 2 arguments
|
33
|
-
raise "Usage: #{$0} [ token secret ]"
|
34
|
-
end
|
35
|
-
|
36
|
-
# Show all projects
|
37
|
-
projects = client.Project.all
|
38
|
-
|
39
|
-
projects.each do |project|
|
40
|
-
puts "Project -> key: #{project.key}, name: #{project.name}"
|
41
|
-
end
|
42
|
-
issue = client.Issue.find('SAMPLEPROJECT-1')
|
43
|
-
pp issue
|
44
|
-
|
45
|
-
# # Handling fields by name, rather than by id
|
46
|
-
# # ------------------------------------------
|
47
|
-
# Cache the Field list from the server
|
48
|
-
client.Field.map_fields
|
49
|
-
# This allows use of friendlier names for custom fields
|
50
|
-
# Say that 'Special Field' is customfield_12345
|
51
|
-
# It becomes mapped to Special_Field which is usable as a method call
|
52
|
-
#
|
53
|
-
# Say that there is a second 'Special Field' is customfield_54321
|
54
|
-
# Names are deduplicated so the second 'Special Field' becomes Special_Field_54321
|
55
|
-
#
|
56
|
-
# Names are massaged to get rid of special characters, and spaces
|
57
|
-
# So 'Special & @ Field' becomes Special_____Field - not perfect, but usable
|
58
|
-
old_way = issue.customfield_12345
|
59
|
-
new_way = issue.Special_Field
|
60
|
-
(old_way == new_way) && puts 'much easier'
|
61
|
-
#
|
62
|
-
# You can also specify fields to be returned in the response
|
63
|
-
# This is especially useful in regards to shortening JQL query response times if performance becomes an issue
|
64
|
-
client.Issue.jql(a_normal_jql_search, fields:[:description, :summary, :Special_field, :created])
|
65
|
-
# Or you could always do it the old way - if you can remember the custom field numbers...
|
66
|
-
client.Issue.jql(a_normal_jql_search, fields:[:description, :summary, :customfield_1234, :created])
|
67
|
-
# You can also specify the maximum number of results to be returned in the response, i.e. 500
|
68
|
-
client.Issue.jql(a_normal_jql_search, max_results: 500)
|
69
|
-
|
70
|
-
# # Find a specific project by key
|
71
|
-
# # ------------------------------
|
72
|
-
# project = client.Project.find('SAMPLEPROJECT')
|
73
|
-
# pp project
|
74
|
-
# project.issues.each do |issue|
|
75
|
-
# puts "#{issue.id} - #{issue.fields['summary']}"
|
76
|
-
# end
|
77
|
-
#
|
78
|
-
# # List all Issues
|
79
|
-
# # ---------------
|
80
|
-
# client.Issue.all.each do |issue|
|
81
|
-
# puts "#{issue.id} - #{issue.fields['summary']}"
|
82
|
-
# end
|
83
|
-
#
|
84
|
-
# # List issues by JQL query
|
85
|
-
# # ------------------------
|
86
|
-
# client.Issue.jql('PROJECT = "SAMPLEPROJECT"', [comments, summary]).each do |issue|
|
87
|
-
# puts "#{issue.id} - #{issue.fields['summary']}"
|
88
|
-
# end
|
89
|
-
#
|
90
|
-
# # Delete an issue
|
91
|
-
# # ---------------
|
92
|
-
# issue = client.Issue.find('SAMPLEPROJECT-2')
|
93
|
-
# if issue.delete
|
94
|
-
# puts "Delete of issue SAMPLEPROJECT-2 sucessful"
|
95
|
-
# else
|
96
|
-
# puts "Delete of issue SAMPLEPROJECT-2 failed"
|
97
|
-
# end
|
98
|
-
#
|
99
|
-
# # Create an issue
|
100
|
-
# # ---------------
|
101
|
-
# issue = client.Issue.build
|
102
|
-
# labels = ['label1', 'label2']
|
103
|
-
# issue.save({
|
104
|
-
# "fields" => {
|
105
|
-
# "summary" => "blarg from in example.rb",
|
106
|
-
# "project" => {"key" => "SAMPLEPROJECT"},
|
107
|
-
# "issuetype" => {"id" => "3"},
|
108
|
-
# "labels" => labels,
|
109
|
-
# "priority" => {"id" => "1"}
|
110
|
-
# }
|
111
|
-
# })
|
112
|
-
# issue.fetch
|
113
|
-
# pp issue
|
114
|
-
#
|
115
|
-
# # Update an issue
|
116
|
-
# # ---------------
|
117
|
-
# issue = client.Issue.find("10002")
|
118
|
-
# issue.save({"fields"=>{"summary"=>"EVEN MOOOOOOARRR NINJAAAA!"}})
|
119
|
-
# pp issue
|
120
|
-
#
|
121
|
-
# # Transition an issue
|
122
|
-
# # -------------------
|
123
|
-
# issue_transition = issue.transitions.build
|
124
|
-
# issue_transition.save!('transition' => {'id' => transition_id})
|
125
|
-
#
|
126
|
-
# # Change assignee
|
127
|
-
# # -------------------
|
128
|
-
# issue.save({'fields' => {'assignee' => {'name' => person_name}}})
|
129
|
-
#
|
130
|
-
# # Find a user
|
131
|
-
# # -----------
|
132
|
-
# user = client.User.find('admin')
|
133
|
-
# pp user
|
134
|
-
#
|
135
|
-
# # Get all issue watchers
|
136
|
-
# # ----------------------
|
137
|
-
# issue = client.Issue.find("10002")
|
138
|
-
# watchers = issue.watchers.all
|
139
|
-
# watchers = client.Watcher.all(:issue => issue)
|
140
|
-
# # Get all issue types
|
141
|
-
# # -------------------
|
142
|
-
# issuetypes = client.Issuetype.all
|
143
|
-
# pp issuetypes
|
144
|
-
#
|
145
|
-
# # Get a single issue type
|
146
|
-
# # -----------------------
|
147
|
-
# issuetype = client.Issuetype.find('5')
|
148
|
-
# pp issuetype
|
149
|
-
#
|
150
|
-
# # Get all comments for an issue
|
151
|
-
# # -----------------------------
|
152
|
-
# issue.comments.each do |comment|
|
153
|
-
# pp comment
|
154
|
-
# end
|
155
|
-
#
|
156
|
-
# # Build and Save a comment
|
157
|
-
# # ------------------------
|
158
|
-
# comment = issue.comments.build
|
159
|
-
# comment.save!(:body => "New comment from example script")
|
160
|
-
#
|
161
|
-
# # Delete a comment from the collection
|
162
|
-
# # ------------------------------------
|
163
|
-
# issue.comments.last.delete
|
164
|
-
#
|
165
|
-
# # Update an existing comment
|
166
|
-
# # --------------------------
|
167
|
-
# issue.comments.first.save({"body" => "an updated comment frome example.rb"})
|
168
|
-
|
169
|
-
|
170
|
-
# # Add attachment to Issue
|
171
|
-
# # ------------------------
|
172
|
-
# issue = client.Issue.find('PROJ-1')
|
173
|
-
# attachment = issue.attachments.build
|
174
|
-
# attachment.save('file': '/path/to/file')
|
175
|
-
#
|
176
|
-
|
177
|
-
# List all available link types
|
178
|
-
# ------------------------------
|
179
|
-
pp client.Issuelinktype.all
|
180
|
-
|
181
|
-
# List issue's links
|
182
|
-
# -------------------------
|
183
|
-
issue = client.Issue.find("10002")
|
184
|
-
pp issue.issuelinks
|
185
|
-
|
186
|
-
# Link two issues (on the same Jira instance)
|
187
|
-
# --------------------------------------------
|
188
|
-
link = client.Issuelink.build
|
189
|
-
link.save(
|
190
|
-
{
|
191
|
-
:type => {:name => 'Relates'},
|
192
|
-
:inwardIssue => {:key => 'AL-1'},
|
193
|
-
:outwardIssue => {:key => 'AL-2'}
|
194
|
-
}
|
195
|
-
)
|
196
|
-
|
197
|
-
# List issue's remote links
|
198
|
-
# -------------------------
|
199
|
-
pp issue.remotelink.all
|
200
|
-
|
201
|
-
# Link two remote issues (on the different Jira instance)
|
202
|
-
# In order to add remote links, you have to add
|
203
|
-
# Application Links between two Jira instances first.
|
204
|
-
# More information:
|
205
|
-
# https://developer.atlassian.com/jiradev/jira-platform/guides/other/guide-jira-remote-issue-links/fields-in-remote-issue-links
|
206
|
-
# http://stackoverflow.com/questions/29850252/jira-api-issuelink-connect-two-different-instances
|
207
|
-
# -------------------------------------------------------
|
208
|
-
client_1 = JIRA::Client.new(options)
|
209
|
-
client_2 = JIRA::Client.new(options)
|
210
|
-
|
211
|
-
# you have to search for your app id here, instead of getting the first
|
212
|
-
client_2_app_link = client_2.ApplicationLink.manifest
|
213
|
-
issue_1 = client_1.Issue.find('BB-2')
|
214
|
-
issue_2 = client_2.Issue.find('AA-1')
|
215
|
-
|
216
|
-
remote_link = issue_2.remotelink.build
|
217
|
-
|
218
|
-
remote_link.save(
|
219
|
-
{
|
220
|
-
:globalId => "appId=#{client_2_app_link.id}&issueId=#{issue_1.id}",
|
221
|
-
:application => {
|
222
|
-
:type => 'com.atlassian.jira',
|
223
|
-
:name => client_2_app_link['name']
|
224
|
-
},
|
225
|
-
:relationship => 'relates to',
|
226
|
-
|
227
|
-
:object => {
|
228
|
-
:url => client_1.options[:site] + client_1.options[:context_path] + "/browse/#{issue_1.key}",
|
229
|
-
:title => issue_1.key,
|
230
|
-
}
|
231
|
-
}
|
232
|
-
)
|