jiraSOAP 0.7.1 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.yardopts +2 -3
- data/ChangeLog +15 -0
- data/LICENSE.txt +1 -1
- data/README.markdown +51 -41
- data/Rakefile +57 -0
- data/docs/GettingStarted.markdown +36 -0
- data/lib/jiraSOAP.rb +7 -4
- data/lib/jiraSOAP/api.rb +59 -53
- data/lib/jiraSOAP/api/additions.rb +4 -6
- data/lib/jiraSOAP/api/attachments.rb +18 -8
- data/lib/jiraSOAP/api/avatars.rb +30 -17
- data/lib/jiraSOAP/api/comments.rb +16 -11
- data/lib/jiraSOAP/api/filters.rb +13 -10
- data/lib/jiraSOAP/api/issue_data_types.rb +29 -21
- data/lib/jiraSOAP/api/issues.rb +46 -31
- data/lib/jiraSOAP/api/project_roles.rb +22 -15
- data/lib/jiraSOAP/api/projects.rb +33 -20
- data/lib/jiraSOAP/api/schemes.rb +9 -9
- data/lib/jiraSOAP/api/server_info.rb +11 -9
- data/lib/jiraSOAP/api/users.rb +58 -10
- data/lib/jiraSOAP/api/versions.rb +15 -11
- data/lib/jiraSOAP/api/worklog.rb +14 -0
- data/lib/jiraSOAP/core_extensions.rb +8 -0
- data/lib/jiraSOAP/entities.rb +3 -0
- data/lib/jiraSOAP/entities/attachment_metadata.rb +28 -9
- data/lib/jiraSOAP/entities/avatar.rb +29 -10
- data/lib/jiraSOAP/entities/comment.rb +37 -11
- data/lib/jiraSOAP/entities/component.rb +1 -1
- data/lib/jiraSOAP/entities/custom_field_value.rb +17 -12
- data/lib/jiraSOAP/entities/described_entity.rb +9 -5
- data/lib/jiraSOAP/entities/dynamic_entity.rb +12 -5
- data/lib/jiraSOAP/entities/entity.rb +33 -27
- data/lib/jiraSOAP/entities/field.rb +1 -1
- data/lib/jiraSOAP/entities/field_value.rb +16 -6
- data/lib/jiraSOAP/entities/filter.rb +18 -5
- data/lib/jiraSOAP/entities/issue.rb +74 -29
- data/lib/jiraSOAP/entities/issue_property.rb +9 -6
- data/lib/jiraSOAP/entities/issue_security_scheme.rb +1 -1
- data/lib/jiraSOAP/entities/issue_type.rb +9 -4
- data/lib/jiraSOAP/entities/named_entity.rb +8 -4
- data/lib/jiraSOAP/entities/notification_scheme.rb +1 -1
- data/lib/jiraSOAP/entities/permission.rb +14 -6
- data/lib/jiraSOAP/entities/permission_mapping.rb +9 -5
- data/lib/jiraSOAP/entities/permission_scheme.rb +7 -4
- data/lib/jiraSOAP/entities/priority.rb +7 -4
- data/lib/jiraSOAP/entities/project.rb +29 -13
- data/lib/jiraSOAP/entities/project_role.rb +3 -2
- data/lib/jiraSOAP/entities/resolution.rb +1 -1
- data/lib/jiraSOAP/entities/scheme.rb +5 -1
- data/lib/jiraSOAP/entities/server_configuration.rb +39 -14
- data/lib/jiraSOAP/entities/server_info.rb +20 -8
- data/lib/jiraSOAP/entities/status.rb +1 -1
- data/lib/jiraSOAP/entities/time_info.rb +12 -5
- data/lib/jiraSOAP/entities/user.rb +8 -4
- data/lib/jiraSOAP/entities/usergroup.rb +15 -0
- data/lib/jiraSOAP/entities/username.rb +7 -1
- data/lib/jiraSOAP/entities/version.rb +20 -12
- data/lib/jiraSOAP/entities/worklog.rb +28 -0
- data/lib/jiraSOAP/handsoap_extensions.rb +31 -80
- data/lib/jiraSOAP/{JIRAservice.rb → jira_service.rb} +19 -14
- data/lib/jiraSOAP/{macruby_bonuses.rb → macruby_extensions.rb} +5 -14
- data/lib/jiraSOAP/nokogiri_extensions.rb +68 -0
- data/lib/jiraSOAP/url.rb +10 -2
- data/lib/jiraSOAP/version.rb +3 -0
- metadata +29 -55
- data/yard-jiraSOAP.rb +0 -65
@@ -1,12 +1,13 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
##
|
3
2
|
# Methods declared here do not directly map to methods defined in JIRA's
|
4
3
|
# SOAP API javadoc. They are generally close to something from the javadoc
|
5
4
|
# but with some extra conveniences.
|
6
|
-
module RemoteAPIAdditions
|
5
|
+
module JIRA::RemoteAPIAdditions
|
7
6
|
|
7
|
+
##
|
8
8
|
# Returns the first field that exactly matches the given
|
9
9
|
# name, otherwise returns nil.
|
10
|
+
#
|
10
11
|
# @param [String] name
|
11
12
|
# @return [JIRA::Field,nil]
|
12
13
|
def get_custom_field_with_name name
|
@@ -16,7 +17,4 @@ module RemoteAPIAdditions
|
|
16
17
|
nil
|
17
18
|
end
|
18
19
|
|
19
|
-
# @todo a method for getting attachments
|
20
|
-
end
|
21
|
-
|
22
20
|
end
|
@@ -1,22 +1,34 @@
|
|
1
|
-
module JIRA
|
2
|
-
module RemoteAPI
|
3
|
-
# @group Working with issue Attachments and their metadata
|
1
|
+
module JIRA::RemoteAPI
|
4
2
|
|
3
|
+
##
|
4
|
+
# @note The JIRA SOAP API only works with the metadata for attachments,
|
5
|
+
# you will have to look at your servers configuration to figure
|
6
|
+
# out the proper URL to call to get attachment data.
|
7
|
+
#
|
8
|
+
# This module has implemented all relevant APIs as of JIRA 4.2.
|
9
|
+
|
10
|
+
# @group Attachments
|
11
|
+
|
12
|
+
##
|
5
13
|
# @todo change method name to reflect that you only get metadata
|
14
|
+
#
|
6
15
|
# @param [String] issue_key
|
7
16
|
# @return [Array<JIRA::AttachmentMetadata>]
|
8
|
-
def
|
9
|
-
|
17
|
+
def attachments_for_issue_with_key issue_key
|
18
|
+
array_jira_call JIRA::AttachmentMetadata, 'getAttachmentsFromIssue', issue_key
|
10
19
|
end
|
20
|
+
alias_method :get_attachments_for_issue_with_key, :attachments_for_issue_with_key
|
11
21
|
|
22
|
+
##
|
12
23
|
# Expect this method to be slow.
|
24
|
+
#
|
13
25
|
# @param [String] issue_key
|
14
26
|
# @param [Array<String>] filenames names to put on the files
|
15
27
|
# @param [Array<String>] data base64 encoded data
|
16
28
|
# @return [Boolean] true if successful
|
17
29
|
def add_base64_encoded_attachments_to_issue_with_key issue_key, filenames, data
|
18
30
|
invoke('soap:addBase64EncodedAttachmentsToIssue') { |msg|
|
19
|
-
msg.add 'soap:in0',
|
31
|
+
msg.add 'soap:in0', self.auth_token
|
20
32
|
msg.add 'soap:in1', issue_key
|
21
33
|
msg.add 'soap:in2' do |submsg|
|
22
34
|
filenames.each { |filename| submsg.add 'filenames', filename }
|
@@ -28,6 +40,4 @@ module RemoteAPI
|
|
28
40
|
true
|
29
41
|
end
|
30
42
|
|
31
|
-
# @endgroup
|
32
|
-
end
|
33
43
|
end
|
data/lib/jiraSOAP/api/avatars.rb
CHANGED
@@ -1,45 +1,58 @@
|
|
1
|
-
module JIRA
|
2
|
-
module RemoteAPI
|
3
|
-
# @group Working with Avatars
|
1
|
+
module JIRA::RemoteAPI
|
4
2
|
|
3
|
+
# @group Avatars
|
4
|
+
|
5
|
+
##
|
5
6
|
# Gets you the default avatar image for a project; if you want all
|
6
7
|
# the avatars for a project, use {#get_project_avatars_for_key}.
|
8
|
+
#
|
7
9
|
# @param [String] project_key
|
8
10
|
# @return [JIRA::Avatar]
|
9
|
-
def
|
10
|
-
JIRA::Avatar.new_with_xml
|
11
|
+
def project_avatar_for_key project_key
|
12
|
+
JIRA::Avatar.new_with_xml jira_call( 'getProjectAvatar', project_key )
|
11
13
|
end
|
14
|
+
alias_method :get_project_avatar_for_key, :project_avatar_for_key
|
12
15
|
|
16
|
+
##
|
13
17
|
# Gets ALL avatars for a given project with this method; if you
|
14
18
|
# just want the project avatar, use {#get_project_avatar_for_key}.
|
19
|
+
#
|
15
20
|
# @param [String] project_key
|
16
21
|
# @param [Boolean] include_default_avatars
|
17
22
|
# @return [Array<JIRA::Avatar>]
|
18
|
-
def
|
19
|
-
|
23
|
+
def project_avatars_for_key project_key, include_default_avatars = false
|
24
|
+
array_jira_call JIRA::Avatar, 'getProjectAvatars', project_key, include_default_avatars
|
20
25
|
end
|
26
|
+
alias_method :get_project_avatars_for_key, :project_avatars_for_key
|
21
27
|
|
22
|
-
|
23
|
-
# @note You
|
28
|
+
##
|
29
|
+
# @note You cannot delete system avatars, and you need project
|
30
|
+
# administration permissions to delete other avatars.
|
31
|
+
#
|
24
32
|
# @param [String] avatar_id
|
25
33
|
# @return [Boolean] true if successful
|
26
34
|
def delete_project_avatar_with_id avatar_id
|
27
|
-
|
35
|
+
jira_call 'deleteProjectAvatar', avatar_id
|
28
36
|
true
|
29
37
|
end
|
30
38
|
|
31
|
-
|
32
|
-
# @note
|
39
|
+
##
|
40
|
+
# @note You need project administration permissions to edit an avatar.
|
41
|
+
# @note JIRA does not care if the avatar_id is valid.
|
42
|
+
#
|
33
43
|
# Change the project avatar to another existing avatar. If you want to
|
34
44
|
# upload a new avatar and set it to be the new project avatar use
|
35
45
|
# {#set_new_project_avatar_for_project_with_key} instead.
|
46
|
+
#
|
36
47
|
# @return [Boolean] true if successful
|
37
48
|
def set_project_avatar_for_project_with_key project_key, avatar_id
|
38
|
-
|
49
|
+
jira_call 'setProjectAvatar', project_key, avatar_id
|
39
50
|
true
|
40
51
|
end
|
41
52
|
|
42
|
-
|
53
|
+
##
|
54
|
+
# @note You need project administration permissions to edit an avatar.
|
55
|
+
#
|
43
56
|
# Use this method to create a new custom avatar for a project and set it
|
44
57
|
# to be current avatar for the project.
|
45
58
|
#
|
@@ -48,17 +61,17 @@ module RemoteAPI
|
|
48
61
|
# then it will be upscaled to 48 pixels.
|
49
62
|
# The small version of the avatar image (16 pixels) is generated
|
50
63
|
# automatically.
|
64
|
+
#
|
51
65
|
# If you want to switch a project avatar to an avatar that already exists on
|
52
66
|
# the system then use {#set_project_avatar_for_project_with_key} instead.
|
67
|
+
#
|
53
68
|
# @param [String] project_key
|
54
69
|
# @param [String] mime_type
|
55
70
|
# @param [String] base64_image
|
56
71
|
# @return [Boolean] true if successful
|
57
72
|
def set_new_project_avatar_for_project_with_key project_key, mime_type, base64_image
|
58
|
-
|
73
|
+
jira_call 'setNewProjectAvatar', project_key, mime_type, base64_image
|
59
74
|
true
|
60
75
|
end
|
61
76
|
|
62
|
-
# @endgroup
|
63
|
-
end
|
64
77
|
end
|
@@ -1,33 +1,38 @@
|
|
1
|
-
module JIRA
|
2
|
-
|
3
|
-
# @group
|
1
|
+
module JIRA::RemoteAPI
|
2
|
+
|
3
|
+
# @group Comments
|
4
4
|
|
5
5
|
# @param [String] issue_key
|
6
6
|
# @param [JIRA::Comment] comment
|
7
7
|
# @return [Boolean] true if successful
|
8
8
|
def add_comment_to_issue_with_key issue_key, comment
|
9
|
-
|
9
|
+
jira_call 'addComment', issue_key, comment
|
10
10
|
true
|
11
11
|
end
|
12
12
|
|
13
13
|
# @param [String] id
|
14
14
|
# @return [JIRA::Comment]
|
15
|
-
def
|
16
|
-
JIRA::Comment.new_with_xml
|
15
|
+
def comment_with_id id
|
16
|
+
JIRA::Comment.new_with_xml jira_call( 'getComment', id )
|
17
17
|
end
|
18
|
+
alias_method :get_comment_with_id, :comment_with_id
|
18
19
|
|
19
20
|
# @param [String] issue_key
|
20
21
|
# @return [Array<JIRA::Comment>]
|
21
|
-
def
|
22
|
-
|
22
|
+
def comments_for_issue_with_key issue_key
|
23
|
+
array_jira_call JIRA::Comment, 'getComments', issue_key
|
23
24
|
end
|
25
|
+
alias_method :get_comments_for_issue_with_key, :comments_for_issue_with_key
|
24
26
|
|
25
27
|
# @param [JIRA::Comment] comment
|
26
28
|
# @return [JIRA::Comment]
|
27
29
|
def update_comment comment
|
28
|
-
JIRA::Comment.new_with_xml
|
30
|
+
JIRA::Comment.new_with_xml jira_call( 'editComment', comment )
|
31
|
+
end
|
32
|
+
|
33
|
+
# @param [JIRA::Comment]
|
34
|
+
def permission_to_edit_comment? comment
|
35
|
+
jira_call( 'hasPermissionToEditComment', comment ).to_boolean
|
29
36
|
end
|
30
37
|
|
31
|
-
# @endgroup
|
32
|
-
end
|
33
38
|
end
|
data/lib/jiraSOAP/api/filters.rb
CHANGED
@@ -1,20 +1,23 @@
|
|
1
|
-
module JIRA
|
2
|
-
module RemoteAPI
|
3
|
-
# @group Working with Filters
|
1
|
+
module JIRA::RemoteAPI
|
4
2
|
|
3
|
+
# @group Filters
|
4
|
+
|
5
|
+
##
|
5
6
|
# Retrieves favourite filters for the currently logged in user.
|
7
|
+
#
|
6
8
|
# @return [Array<JIRA::Filter>]
|
7
|
-
def
|
8
|
-
|
9
|
+
def favourite_filters
|
10
|
+
array_jira_call JIRA::Filter, 'getFavouriteFilters'
|
9
11
|
end
|
10
|
-
alias_method :
|
12
|
+
alias_method :get_favourite_filters, :favourite_filters
|
13
|
+
alias_method :get_favorite_filters, :favourite_filters
|
14
|
+
alias_method :favorite_filters, :favourite_filters
|
11
15
|
|
12
16
|
# @param [String] id
|
13
17
|
# @return [Fixnum]
|
14
|
-
def
|
15
|
-
|
18
|
+
def issue_count_for_filter_with_id id
|
19
|
+
jira_call( 'getIssueCountForFilter', id ).to_i
|
16
20
|
end
|
21
|
+
alias_method :get_issue_count_for_filter_with_id, :issue_count_for_filter_with_id
|
17
22
|
|
18
|
-
# @endgroup
|
19
|
-
end
|
20
23
|
end
|
@@ -1,51 +1,59 @@
|
|
1
|
-
module JIRA
|
2
|
-
|
3
|
-
# @group
|
1
|
+
module JIRA::RemoteAPI
|
2
|
+
|
3
|
+
# @group Issue attributes
|
4
4
|
|
5
5
|
# @return [Array<JIRA::Priority>]
|
6
|
-
def
|
7
|
-
|
6
|
+
def priorities
|
7
|
+
array_jira_call JIRA::Priority, 'getPriorities'
|
8
8
|
end
|
9
|
+
alias_method :get_priorities, :priorities
|
9
10
|
|
10
11
|
# @return [Array<JIRA::Resolution>]
|
11
|
-
def
|
12
|
-
|
12
|
+
def resolutions
|
13
|
+
array_jira_call JIRA::Resolution, 'getResolutions'
|
13
14
|
end
|
15
|
+
alias_method :get_resolutions, :resolutions
|
14
16
|
|
15
17
|
# @return [Array<JIRA::Field>]
|
16
|
-
def
|
17
|
-
|
18
|
+
def custom_fields
|
19
|
+
array_jira_call JIRA::Field, 'getCustomFields'
|
18
20
|
end
|
21
|
+
alias_method :get_custom_fields, :custom_fields
|
19
22
|
|
20
23
|
# @return [Array<JIRA::IssueType>]
|
21
|
-
def
|
22
|
-
|
24
|
+
def issue_types
|
25
|
+
array_jira_call JIRA::IssueType, 'getIssueTypes'
|
23
26
|
end
|
27
|
+
alias_method :get_issue_types, :issue_types
|
24
28
|
|
25
29
|
# @return [Array<JIRA::Status>]
|
26
|
-
def
|
27
|
-
|
30
|
+
def statuses
|
31
|
+
array_jira_call JIRA::Status, 'getStatuses'
|
28
32
|
end
|
33
|
+
alias_method :get_statuses, :statuses
|
29
34
|
|
30
35
|
# @return [Array<JIRA::IssueType>]
|
31
|
-
def
|
32
|
-
|
36
|
+
def subtask_issue_types
|
37
|
+
array_jira_call JIRA::IssueType, 'getSubTaskIssueTypes'
|
33
38
|
end
|
39
|
+
alias_method :get_subtask_issue_types, :subtask_issue_types
|
34
40
|
|
35
41
|
# @param [String] project_id
|
36
42
|
# @return [Array<JIRA::IssueType>]
|
37
|
-
def
|
38
|
-
|
43
|
+
def subtask_issue_types_for_project_with_id project_id
|
44
|
+
array_jira_call JIRA::IssueType, 'getSubTaskIssueTypesForProject', project_id
|
39
45
|
end
|
46
|
+
alias_method :get_subtask_issue_types_for_project_with_id, :subtask_issue_types_for_project_with_id
|
40
47
|
|
41
|
-
|
48
|
+
##
|
42
49
|
# @todo find out what this method does
|
50
|
+
#
|
51
|
+
# I have no idea what this method does.
|
52
|
+
#
|
43
53
|
# @return [Boolean] true if no exceptions were raised
|
44
54
|
def refresh_custom_fields
|
45
|
-
|
55
|
+
jira_call 'refreshCustomFields'
|
46
56
|
true
|
47
57
|
end
|
48
58
|
|
49
|
-
# @endgroup
|
50
|
-
end
|
51
59
|
end
|
data/lib/jiraSOAP/api/issues.rb
CHANGED
@@ -1,57 +1,68 @@
|
|
1
|
-
module JIRA
|
2
|
-
module RemoteAPI
|
3
|
-
# @group Working with Issues
|
1
|
+
module JIRA::RemoteAPI
|
4
2
|
|
3
|
+
# @group Issues
|
4
|
+
|
5
|
+
##
|
5
6
|
# This method is the equivalent of making an advanced search from the
|
6
7
|
# web interface.
|
7
8
|
#
|
8
9
|
# During my own testing, I found that HTTP requests could timeout for really
|
9
|
-
# large requests (~2500 results)
|
10
|
-
# feel free to override it, but be aware of
|
10
|
+
# large requests (~2500 results) if you are not on the same network. So I set
|
11
|
+
# a more reasonable upper limit; feel free to override it, but be aware of
|
12
|
+
# the potential issues.
|
13
|
+
#
|
14
|
+
# The {JIRA::Issue} structure does not include any comments or attachments.
|
11
15
|
#
|
12
|
-
# The JIRA::Issue structure does not include any comments or attachments.
|
13
16
|
# @param [String] jql_query JQL query as a string
|
14
17
|
# @param [Fixnum] max_results limit on number of returned results;
|
15
|
-
#
|
18
|
+
# the value may be overridden by the server if max_results is too large
|
16
19
|
# @return [Array<JIRA::Issue>]
|
17
|
-
def
|
18
|
-
|
20
|
+
def issues_from_jql_search jql_query, max_results = 2000
|
21
|
+
array_jira_call JIRA::Issue, 'getIssuesFromJqlSearch', jql_query, max_results
|
19
22
|
end
|
23
|
+
alias_method :get_issues_from_jql_search, :issues_from_jql_search
|
20
24
|
|
25
|
+
##
|
21
26
|
# This method can update most, but not all, issue fields. Some limitations
|
22
27
|
# are because of how the API is designed, and some are because I have not
|
23
|
-
# yet implemented the ability to update fields made of custom objects
|
24
|
-
# in the JIRA module).
|
28
|
+
# yet implemented the ability to update fields made of custom objects
|
29
|
+
# (things in the JIRA module).
|
25
30
|
#
|
26
31
|
# Fields known to not update via this method:
|
32
|
+
#
|
27
33
|
# - status - use {#progress_workflow_action}
|
28
34
|
# - attachments - use {#add_base64_encoded_attachments_to_issue_with_key}
|
29
35
|
#
|
30
|
-
# Though JIRA::FieldValue objects have an id field, they do not expect
|
31
|
-
# given id values. You must use the name of the field you wish to
|
36
|
+
# Though {JIRA::FieldValue} objects have an id field, they do not expect
|
37
|
+
# to be given id values. You must use the name of the field you wish to
|
38
|
+
# update.
|
39
|
+
#
|
32
40
|
# @example Usage With A Normal Field
|
33
|
-
# summary
|
41
|
+
# summary = JIRA::FieldValue.new 'summary', ['My new summary']
|
34
42
|
# @example Usage With A Custom Field
|
35
|
-
# custom_field
|
43
|
+
# custom_field = JIRA::FieldValue.new 'customfield_10060', ['123456']
|
36
44
|
# @example Setting a field to be blank/nil
|
37
|
-
# description
|
45
|
+
# description = JIRA::FieldValue.new 'description'
|
38
46
|
# @example Calling the method to update an issue
|
39
47
|
# jira_service_instance.update_issue 'PROJECT-1', description, custom_field
|
48
|
+
#
|
40
49
|
# @param [String] issue_key
|
41
50
|
# @param [JIRA::FieldValue] *field_values
|
42
51
|
# @return [JIRA::Issue]
|
43
52
|
def update_issue issue_key, *field_values
|
44
53
|
response = invoke('soap:updateIssue') { |msg|
|
45
|
-
msg.add 'soap:in0',
|
54
|
+
msg.add 'soap:in0', self.auth_token
|
46
55
|
msg.add 'soap:in1', issue_key
|
47
56
|
msg.add 'soap:in2' do |submsg|
|
48
57
|
field_values.each { |fv| fv.soapify_for submsg }
|
49
58
|
end
|
50
59
|
}
|
51
|
-
JIRA::Issue.new_with_xml response.document.xpath('//updateIssueReturn').first
|
60
|
+
JIRA::Issue.new_with_xml response.document.element.xpath('//updateIssueReturn').first
|
52
61
|
end
|
53
62
|
|
63
|
+
##
|
54
64
|
# Some fields will be ignored when an issue is created.
|
65
|
+
#
|
55
66
|
# - reporter - you cannot override this value at creation
|
56
67
|
# - resolution
|
57
68
|
# - attachments
|
@@ -59,44 +70,48 @@ module RemoteAPI
|
|
59
70
|
# - status
|
60
71
|
# - due date - I think this is a bug in jiraSOAP or JIRA
|
61
72
|
# - environment - I think this is a bug in jiraSOAP or JIRA
|
73
|
+
#
|
62
74
|
# @param [JIRA::Issue] issue
|
63
75
|
# @return [JIRA::Issue]
|
64
76
|
def create_issue_with_issue issue
|
65
|
-
JIRA::Issue.new_with_xml
|
77
|
+
JIRA::Issue.new_with_xml jira_call( 'createIssue', issue )
|
66
78
|
end
|
67
79
|
|
68
80
|
# @param [String] issue_key
|
69
81
|
# @return [JIRA::Issue]
|
70
|
-
def
|
71
|
-
JIRA::Issue.new_with_xml
|
82
|
+
def issue_with_key issue_key
|
83
|
+
JIRA::Issue.new_with_xml jira_call( 'getIssue', issue_key )
|
72
84
|
end
|
85
|
+
alias_method :get_issue_with_key, :issue_with_key
|
73
86
|
|
74
87
|
# @param [String] issue_id
|
75
88
|
# @return [JIRA::Issue]
|
76
|
-
def
|
77
|
-
JIRA::Issue.new_with_xml
|
89
|
+
def issue_with_id issue_id
|
90
|
+
JIRA::Issue.new_with_xml jira_call( 'getIssueById', issue_id )
|
78
91
|
end
|
92
|
+
alias_method :get_issue_with_id, :issue_with_id
|
79
93
|
|
80
94
|
# @param [String] id
|
81
95
|
# @param [Fixnum] max_results
|
82
96
|
# @param [Fixnum] offset
|
83
97
|
# @return [Array<JIRA::Issue>]
|
84
|
-
def
|
85
|
-
|
98
|
+
def issues_from_filter_with_id id, max_results = 500, offset = 0
|
99
|
+
array_jira_call JIRA::Issue, 'getIssuesFromFilterWithLimit', id, offset, max_results
|
86
100
|
end
|
101
|
+
alias_method :get_issues_from_filter_with_id, :issues_from_filter_with_id
|
87
102
|
|
88
103
|
# @param [String] issue_id
|
89
104
|
# @return [Time]
|
90
|
-
def
|
91
|
-
|
105
|
+
def resolution_date_for_issue_with_id issue_id
|
106
|
+
jira_call( 'getResolutionDateById', issue_id ).to_iso_date
|
92
107
|
end
|
108
|
+
alias_method :get_resolution_date_for_issue_with_id, :resolution_date_for_issue_with_id
|
93
109
|
|
94
110
|
# @param [String] issue_key
|
95
111
|
# @return [Time]
|
96
|
-
def
|
97
|
-
|
112
|
+
def resolution_date_for_issue_with_key issue_key
|
113
|
+
jira_call( 'getResolutionDateByKey', issue_key ).to_iso_date
|
98
114
|
end
|
115
|
+
alias_method :get_resolution_date_for_issue_with_key, :resolution_date_for_issue_with_key
|
99
116
|
|
100
|
-
# @endgroup
|
101
|
-
end
|
102
117
|
end
|