jiraSOAP 0.7.1 → 0.8.0

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.
Files changed (66) hide show
  1. data/.yardopts +2 -3
  2. data/ChangeLog +15 -0
  3. data/LICENSE.txt +1 -1
  4. data/README.markdown +51 -41
  5. data/Rakefile +57 -0
  6. data/docs/GettingStarted.markdown +36 -0
  7. data/lib/jiraSOAP.rb +7 -4
  8. data/lib/jiraSOAP/api.rb +59 -53
  9. data/lib/jiraSOAP/api/additions.rb +4 -6
  10. data/lib/jiraSOAP/api/attachments.rb +18 -8
  11. data/lib/jiraSOAP/api/avatars.rb +30 -17
  12. data/lib/jiraSOAP/api/comments.rb +16 -11
  13. data/lib/jiraSOAP/api/filters.rb +13 -10
  14. data/lib/jiraSOAP/api/issue_data_types.rb +29 -21
  15. data/lib/jiraSOAP/api/issues.rb +46 -31
  16. data/lib/jiraSOAP/api/project_roles.rb +22 -15
  17. data/lib/jiraSOAP/api/projects.rb +33 -20
  18. data/lib/jiraSOAP/api/schemes.rb +9 -9
  19. data/lib/jiraSOAP/api/server_info.rb +11 -9
  20. data/lib/jiraSOAP/api/users.rb +58 -10
  21. data/lib/jiraSOAP/api/versions.rb +15 -11
  22. data/lib/jiraSOAP/api/worklog.rb +14 -0
  23. data/lib/jiraSOAP/core_extensions.rb +8 -0
  24. data/lib/jiraSOAP/entities.rb +3 -0
  25. data/lib/jiraSOAP/entities/attachment_metadata.rb +28 -9
  26. data/lib/jiraSOAP/entities/avatar.rb +29 -10
  27. data/lib/jiraSOAP/entities/comment.rb +37 -11
  28. data/lib/jiraSOAP/entities/component.rb +1 -1
  29. data/lib/jiraSOAP/entities/custom_field_value.rb +17 -12
  30. data/lib/jiraSOAP/entities/described_entity.rb +9 -5
  31. data/lib/jiraSOAP/entities/dynamic_entity.rb +12 -5
  32. data/lib/jiraSOAP/entities/entity.rb +33 -27
  33. data/lib/jiraSOAP/entities/field.rb +1 -1
  34. data/lib/jiraSOAP/entities/field_value.rb +16 -6
  35. data/lib/jiraSOAP/entities/filter.rb +18 -5
  36. data/lib/jiraSOAP/entities/issue.rb +74 -29
  37. data/lib/jiraSOAP/entities/issue_property.rb +9 -6
  38. data/lib/jiraSOAP/entities/issue_security_scheme.rb +1 -1
  39. data/lib/jiraSOAP/entities/issue_type.rb +9 -4
  40. data/lib/jiraSOAP/entities/named_entity.rb +8 -4
  41. data/lib/jiraSOAP/entities/notification_scheme.rb +1 -1
  42. data/lib/jiraSOAP/entities/permission.rb +14 -6
  43. data/lib/jiraSOAP/entities/permission_mapping.rb +9 -5
  44. data/lib/jiraSOAP/entities/permission_scheme.rb +7 -4
  45. data/lib/jiraSOAP/entities/priority.rb +7 -4
  46. data/lib/jiraSOAP/entities/project.rb +29 -13
  47. data/lib/jiraSOAP/entities/project_role.rb +3 -2
  48. data/lib/jiraSOAP/entities/resolution.rb +1 -1
  49. data/lib/jiraSOAP/entities/scheme.rb +5 -1
  50. data/lib/jiraSOAP/entities/server_configuration.rb +39 -14
  51. data/lib/jiraSOAP/entities/server_info.rb +20 -8
  52. data/lib/jiraSOAP/entities/status.rb +1 -1
  53. data/lib/jiraSOAP/entities/time_info.rb +12 -5
  54. data/lib/jiraSOAP/entities/user.rb +8 -4
  55. data/lib/jiraSOAP/entities/usergroup.rb +15 -0
  56. data/lib/jiraSOAP/entities/username.rb +7 -1
  57. data/lib/jiraSOAP/entities/version.rb +20 -12
  58. data/lib/jiraSOAP/entities/worklog.rb +28 -0
  59. data/lib/jiraSOAP/handsoap_extensions.rb +31 -80
  60. data/lib/jiraSOAP/{JIRAservice.rb → jira_service.rb} +19 -14
  61. data/lib/jiraSOAP/{macruby_bonuses.rb → macruby_extensions.rb} +5 -14
  62. data/lib/jiraSOAP/nokogiri_extensions.rb +68 -0
  63. data/lib/jiraSOAP/url.rb +10 -2
  64. data/lib/jiraSOAP/version.rb +3 -0
  65. metadata +29 -55
  66. data/yard-jiraSOAP.rb +0 -65
@@ -1,12 +1,13 @@
1
- module JIRA
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 get_attachments_for_issue_with_key issue_key
9
- jira_call JIRA::AttachmentMetadata, 'getAttachmentsFromIssue', issue_key
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', @auth_token
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
@@ -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 get_project_avatar_for_key project_key
10
- JIRA::Avatar.new_with_xml call( 'getProjectAvatar', project_key ).first
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 get_project_avatars_for_key project_key, include_default_avatars = false
19
- jira_call JIRA::Avatar, 'getProjectAvatars', project_key, include_default_avatars
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
- # @note You cannot delete system avatars
23
- # @note You need project administration permissions to delete an avatar
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
- call 'deleteProjectAvatar', avatar_id
35
+ jira_call 'deleteProjectAvatar', avatar_id
28
36
  true
29
37
  end
30
38
 
31
- # @note You need project administration permissions to edit an avatar
32
- # @note JIRA does not care if the avatar_id is valid
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
- call 'setProjectAvatar', project_key, avatar_id
49
+ jira_call 'setProjectAvatar', project_key, avatar_id
39
50
  true
40
51
  end
41
52
 
42
- # @note You need project administration permissions to edit an avatar
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
- call 'setNewProjectAvatar', project_key, mime_type, base64_image
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
- module RemoteAPI
3
- # @group Working with Comments
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
- call 'addComment', issue_key, comment
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 get_comment_with_id id
16
- JIRA::Comment.new_with_xml call( 'getComment', id ).first
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 get_comments_for_issue_with_key issue_key
22
- jira_call JIRA::Comment, 'getComments', issue_key
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 call( 'editComment', comment ).first
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
@@ -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 get_favourite_filters
8
- jira_call JIRA::Filter, 'getFavouriteFilters'
9
+ def favourite_filters
10
+ array_jira_call JIRA::Filter, 'getFavouriteFilters'
9
11
  end
10
- alias_method :get_favorite_filters, :get_favourite_filters
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 get_issue_count_for_filter_with_id id
15
- call( 'getIssueCountForFilter', id ).to_i
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
- module RemoteAPI
3
- # @group Working with issue attributes
1
+ module JIRA::RemoteAPI
2
+
3
+ # @group Issue attributes
4
4
 
5
5
  # @return [Array<JIRA::Priority>]
6
- def get_priorities
7
- jira_call JIRA::Priority, 'getPriorities'
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 get_resolutions
12
- jira_call JIRA::Resolution, 'getResolutions'
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 get_custom_fields
17
- jira_call JIRA::Field, 'getCustomFields'
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 get_issue_types
22
- jira_call JIRA::IssueType, 'getIssueTypes'
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 get_statuses
27
- jira_call JIRA::Status, 'getStatuses'
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 get_subtask_issue_types
32
- jira_call JIRA::IssueType, 'getSubTaskIssueTypes'
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 get_subtask_issue_types_for_project_with_id project_id
38
- jira_call JIRA::IssueType, 'getSubTaskIssueTypesForProject', project_id
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
- # I have no idea what this method does.
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
- call 'refreshCustomFields'
55
+ jira_call 'refreshCustomFields'
46
56
  true
47
57
  end
48
58
 
49
- # @endgroup
50
- end
51
59
  end
@@ -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). So I set a more reasonable upper limit;
10
- # feel free to override it, but be aware of the potential issues.
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
- # the value may be overridden by the server if max_results is too large
18
+ # the value may be overridden by the server if max_results is too large
16
19
  # @return [Array<JIRA::Issue>]
17
- def get_issues_from_jql_search jql_query, max_results = 2000
18
- jira_call JIRA::Issue, 'getIssuesFromJqlSearch', jql_query, max_results
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 (things
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 to be
31
- # given id values. You must use the name of the field you wish to update.
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 = JIRA::FieldValue.new 'summary', ['My new summary']
41
+ # summary = JIRA::FieldValue.new 'summary', ['My new summary']
34
42
  # @example Usage With A Custom Field
35
- # custom_field = JIRA::FieldValue.new 'customfield_10060', ['123456']
43
+ # custom_field = JIRA::FieldValue.new 'customfield_10060', ['123456']
36
44
  # @example Setting a field to be blank/nil
37
- # description = JIRA::FieldValue.new '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', @auth_token
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 call( 'createIssue', issue ).first
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 get_issue_with_key issue_key
71
- JIRA::Issue.new_with_xml call( 'getIssue', issue_key ).first
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 get_issue_with_id issue_id
77
- JIRA::Issue.new_with_xml call( 'getIssueById', issue_id ).first
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 get_issues_from_filter_with_id id, max_results = 500, offset = 0
85
- jira_call JIRA::Issue, 'getIssuesFromFilterWithLimit', id, offset, max_results
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 get_resolution_date_for_issue_with_id issue_id
91
- call( 'getResolutionDateById', issue_id ).to_date
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 get_resolution_date_for_issue_with_key issue_key
97
- call( 'getResolutionDateByKey', issue_key ).to_date
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