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.
- 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
|