jiraSOAP 0.5.3 → 0.6.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 (46) hide show
  1. data/ChangeLog +22 -0
  2. data/README.markdown +6 -2
  3. data/lib/jiraSOAP.rb +6 -2
  4. data/lib/jiraSOAP/JIRAservice.rb +29 -32
  5. data/lib/jiraSOAP/api.rb +220 -59
  6. data/lib/jiraSOAP/entities.rb +29 -19
  7. data/lib/jiraSOAP/entities/attachment_metadata.rb +27 -0
  8. data/lib/jiraSOAP/entities/avatar.rb +12 -19
  9. data/lib/jiraSOAP/entities/comment.rb +17 -26
  10. data/lib/jiraSOAP/entities/component.rb +5 -0
  11. data/lib/jiraSOAP/entities/custom_field_value.rb +33 -0
  12. data/lib/jiraSOAP/entities/described_entity.rb +7 -0
  13. data/lib/jiraSOAP/entities/dynamic_entity.rb +8 -0
  14. data/lib/jiraSOAP/entities/entity.rb +43 -0
  15. data/lib/jiraSOAP/entities/field.rb +4 -0
  16. data/lib/jiraSOAP/entities/field_value.rb +4 -49
  17. data/lib/jiraSOAP/entities/filter.rb +7 -16
  18. data/lib/jiraSOAP/entities/issue.rb +32 -43
  19. data/lib/jiraSOAP/entities/issue_property.rb +9 -0
  20. data/lib/jiraSOAP/entities/issue_security_scheme.rb +4 -0
  21. data/lib/jiraSOAP/entities/issue_type.rb +8 -0
  22. data/lib/jiraSOAP/entities/named_entity.rb +7 -0
  23. data/lib/jiraSOAP/entities/notification_scheme.rb +4 -0
  24. data/lib/jiraSOAP/entities/permission.rb +12 -0
  25. data/lib/jiraSOAP/entities/permission_mapping.rb +12 -0
  26. data/lib/jiraSOAP/entities/permission_scheme.rb +8 -0
  27. data/lib/jiraSOAP/entities/priority.rb +9 -0
  28. data/lib/jiraSOAP/entities/project.rb +14 -24
  29. data/lib/jiraSOAP/entities/project_role.rb +11 -0
  30. data/lib/jiraSOAP/entities/remote_entity.rb +7 -0
  31. data/lib/jiraSOAP/entities/resolution.rb +4 -0
  32. data/lib/jiraSOAP/entities/scheme.rb +9 -0
  33. data/lib/jiraSOAP/entities/server_configuration.rb +56 -0
  34. data/lib/jiraSOAP/entities/server_info.rb +30 -0
  35. data/lib/jiraSOAP/entities/status.rb +4 -0
  36. data/lib/jiraSOAP/entities/time_info.rb +15 -0
  37. data/lib/jiraSOAP/entities/user.rb +8 -13
  38. data/lib/jiraSOAP/entities/version.rb +8 -16
  39. data/lib/jiraSOAP/handsoap_extensions.rb +29 -42
  40. data/lib/jiraSOAP/url.rb +3 -2
  41. metadata +193 -33
  42. data/lib/jiraSOAP/entities/abstract.rb +0 -93
  43. data/lib/jiraSOAP/entities/attachments.rb +0 -35
  44. data/lib/jiraSOAP/entities/issue_properties.rb +0 -39
  45. data/lib/jiraSOAP/entities/read_only.rb +0 -120
  46. data/lib/jiraSOAP/entities/schemes.rb +0 -25
@@ -1,26 +1,36 @@
1
- require 'jiraSOAP/entities/abstract'
2
- require 'jiraSOAP/entities/read_only'
3
- require 'jiraSOAP/entities/field_value'
1
+ require 'jiraSOAP/entities/entity'
2
+ require 'jiraSOAP/entities/dynamic_entity'
3
+ require 'jiraSOAP/entities/named_entity'
4
+ require 'jiraSOAP/entities/described_entity'
5
+
6
+ require 'jiraSOAP/entities/component'
7
+ require 'jiraSOAP/entities/field'
8
+ require 'jiraSOAP/entities/filter'
4
9
  require 'jiraSOAP/entities/user'
10
+ require 'jiraSOAP/entities/project_role'
11
+
12
+ require 'jiraSOAP/entities/field_value'
13
+ require 'jiraSOAP/entities/custom_field_value'
5
14
 
6
15
  require 'jiraSOAP/entities/avatar'
7
16
  require 'jiraSOAP/entities/comment'
8
- require 'jiraSOAP/entities/issue'
9
-
10
- require 'jiraSOAP/entities/filter'
11
17
  require 'jiraSOAP/entities/version'
12
- require 'jiraSOAP/entities/attachments'
13
- require 'jiraSOAP/entities/project'
14
- require 'jiraSOAP/entities/schemes'
15
- require 'jiraSOAP/entities/issue_properties'
18
+ require 'jiraSOAP/entities/attachment_metadata'
19
+
20
+ require 'jiraSOAP/entities/scheme'
21
+ require 'jiraSOAP/entities/notification_scheme'
22
+ require 'jiraSOAP/entities/issue_security_scheme'
23
+ require 'jiraSOAP/entities/permission_scheme'
16
24
 
17
- module JIRA
18
- # Represents a field mapping.
19
- class Field < JIRA::NamedEntity
20
- end
25
+ require 'jiraSOAP/entities/issue_property'
26
+ require 'jiraSOAP/entities/resolution'
27
+ require 'jiraSOAP/entities/status'
28
+ require 'jiraSOAP/entities/priority'
29
+ require 'jiraSOAP/entities/issue_type'
30
+
31
+ require 'jiraSOAP/entities/project'
32
+ require 'jiraSOAP/entities/issue'
21
33
 
22
- # Represents a component description for a project. It does not include
23
- # the component lead.
24
- class Component < JIRA::NamedEntity
25
- end
26
- end
34
+ require 'jiraSOAP/entities/time_info'
35
+ require 'jiraSOAP/entities/server_info'
36
+ require 'jiraSOAP/entities/server_configuration'
@@ -0,0 +1,27 @@
1
+ # Only contains the metadata for an attachment. The URI for an attachment
2
+ # appears to be of the form
3
+ # "{JIRA::JIRAService.endpoint_url}/secure/attachment/{#id}/{#file_name}"
4
+ class JIRA::AttachmentMetadata < JIRA::NamedEntity
5
+ add_attributes({
6
+ 'author' => [:author=, :to_s],
7
+ 'filename' => [:file_name=, :to_s],
8
+ 'mimetype' => [:mime_type=, :to_s],
9
+ 'filesize' => [:file_size=, :to_i],
10
+ 'created' => [:create_time=, :to_date],
11
+ })
12
+
13
+ # @return [String]
14
+ attr_accessor :author
15
+
16
+ # @return [Time]
17
+ attr_accessor :create_time
18
+
19
+ # @return [String]
20
+ attr_accessor :file_name
21
+
22
+ # @return [Fixnum] measured in bytes
23
+ attr_accessor :file_size
24
+
25
+ # @return [String]
26
+ attr_accessor :mime_type
27
+ end
@@ -1,12 +1,18 @@
1
- module JIRA
2
-
1
+ # @todo find out what the id value of @owner relates to
3
2
  # Contains a base64 encoded avatar image and metadata about the avatar.
4
- class Avatar < JIRA::DynamicEntity
5
-
6
- # @return [String]
3
+ class JIRA::Avatar < JIRA::DynamicEntity
4
+ add_attributes({
5
+ 'owner' => [:owner=, :to_s],
6
+ 'type' => [:type=, :to_s],
7
+ 'contentType' => [:mime_type=, :to_s],
8
+ 'base64Data' => [:base64_data=, :to_s],
9
+ 'system' => [:system=, :to_boolean],
10
+ })
11
+
12
+ # @return [String] this seems to be an id ref to some other object
7
13
  attr_accessor :owner
8
14
 
9
- # @return [String] the place where the avatar is used
15
+ # @return [String] the place where the avatar is used (e.g. 'project')
10
16
  attr_accessor :type
11
17
 
12
18
  # @return [String]
@@ -18,17 +24,4 @@ class Avatar < JIRA::DynamicEntity
18
24
  # @return [boolean] indicates if the image is the system default
19
25
  attr_accessor :system
20
26
  alias_method :system?, :system
21
-
22
- # @param [Handsoap::XmlQueryFront::NokogiriDriver] frag
23
- def initialize_with_xml_fragment(frag)
24
- super frag
25
- @owner, @type, @mime_type, @base64_data, @system =
26
- frag.nodes( ['owner', :to_s],
27
- ['type', :to_s],
28
- ['contentType', :to_s],
29
- ['base64Data', :to_s],
30
- ['system', :to_boolean] )
31
- end
32
- end
33
-
34
27
  end
@@ -1,10 +1,17 @@
1
- module JIRA
2
-
3
1
  # Contains a comments body and its metadata.
4
- class Comment < JIRA::DynamicEntity
5
-
6
- # @return [String]
7
- attr_accessor :original_author
2
+ class JIRA::Comment < JIRA::DynamicEntity
3
+ add_attributes({
4
+ 'author' => [:author=, :to_s],
5
+ 'body' => [:body=, :to_s],
6
+ 'groupLevel' => [:group_level=, :to_s],
7
+ 'roleLevel' => [:role_level=, :to_s],
8
+ 'updateAuthor' => [:update_author=, :to_s],
9
+ 'created' => [:create_time=, :to_date],
10
+ 'updated' => [:last_updated_time=, :to_date]
11
+ })
12
+
13
+ # @return [String] a username
14
+ attr_accessor :author
8
15
 
9
16
  # @return [String]
10
17
  attr_accessor :role_level
@@ -16,39 +23,23 @@ class Comment < JIRA::DynamicEntity
16
23
  attr_accessor :body
17
24
 
18
25
  # @return [Time]
19
- attr_accessor :create_date
26
+ attr_accessor :create_time
20
27
 
21
28
  # @return [Time]
22
- attr_accessor :last_updated
29
+ attr_accessor :last_updated_time
23
30
 
24
- # @return [String]
31
+ # @return [String] a username
25
32
  attr_accessor :update_author
26
33
 
27
- # @param [Handsoap::XmlQueryFront::NokogiriDriver] frag
28
- def initialize_with_xml_fragment(frag)
29
- super frag
30
- @original_author, @body, @group_level, @role_level,
31
- @update_author, @create_date, @last_updated =
32
- frag.nodes( ['author', :to_s],
33
- ['body', :to_s],
34
- ['groupLevel', :to_s],
35
- ['roleLevel', :to_s],
36
- ['updateAuthor', :to_s],
37
- ['created', :to_date],
38
- ['updated', :to_date] )
39
- end
40
-
41
34
  # @todo make this method shorter
42
35
  # @param [Handsoap::XmlMason::Node] msg
43
36
  # @return [Handsoap::XmlMason::Node]
44
37
  def soapify_for(msg)
45
38
  msg.add 'id', @id
46
- msg.add 'author', @original_author
39
+ msg.add 'author', @author
47
40
  msg.add 'body', @body
48
41
  msg.add 'groupLevel', @group_level
49
42
  msg.add 'roleLevel', @role_level
50
43
  msg.add 'updateAuthor', @update_author
51
44
  end
52
45
  end
53
-
54
- end
@@ -0,0 +1,5 @@
1
+ # Represents a component name and id only. It does not include the component
2
+ # lead.
3
+ class JIRA::Component < JIRA::NamedEntity
4
+ add_attributes({})
5
+ end
@@ -0,0 +1,33 @@
1
+ # @todo see if @key is always nil from the server, maybe we can remove it
2
+ # Represents an instance of a custom field (with values). This object is used
3
+ # as a member of {JIRA::Issue} objects.
4
+ #
5
+ # The structure of this class resembles JIRA::FieldValue, it is different
6
+ # in that @values will always be stored as an Array of String objects for
7
+ # custom fields and a field value is more flexible. You can expect the classes
8
+ # to merge in the near future.
9
+ class JIRA::CustomFieldValue < JIRA::DynamicEntity
10
+ @attributes = {
11
+ 'customfieldId' => [:id=, :to_s],
12
+ 'key' => [:key=, :to_s],
13
+ 'values' => [:values=, :to_ss]
14
+ }
15
+
16
+ # @return [String]
17
+ attr_accessor :key
18
+
19
+ # @return [[String]]
20
+ attr_accessor :values
21
+
22
+ # Generate a SOAP message fragment for the object.
23
+ # @param [Handsoap::XmlMason::Node] msg SOAP message to add the object to
24
+ # @param [String] label tag name used in wrapping tags
25
+ # @return [Handsoap::XmlMason::Element]
26
+ def soapify_for(msg, label = 'customFieldValues')
27
+ msg.add label do |submsg|
28
+ submsg.add 'customfieldId', @id
29
+ submsg.add 'key', @key
30
+ submsg.add_simple_array 'values', @values
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,7 @@
1
+ # @abstract Some named entities have a short description
2
+ class JIRA::DescribedEntity < JIRA::NamedEntity
3
+ add_attributes({ 'description' => [:description=, :to_s] })
4
+
5
+ # @return [String] usually a short blurb
6
+ attr_accessor :description
7
+ end
@@ -0,0 +1,8 @@
1
+ # @abstract Anything that can be configured has an id field.
2
+ class JIRA::DynamicEntity < JIRA::Entity
3
+ add_attributes({ 'id' => [:id=, :to_s] })
4
+
5
+ # @return [String] usually a numerical value, but sometimes
6
+ # prefixed with a string (e.g. '12450' or 'customfield_10000')
7
+ attr_accessor :id
8
+ end
@@ -0,0 +1,43 @@
1
+ # @abstract The base class for all JIRA objects that can given by the server.
2
+ # @todo remove the need for attr_accessor by having add_attributes make the
3
+ # call for me, but I will need to make a YARD plugin to fix the gap in the
4
+ # documentation when that happens
5
+ class JIRA::Entity
6
+
7
+ class << self
8
+ # @return [Hash{String => Array}] used by the metaclass
9
+ attr_accessor :attributes
10
+
11
+ # @param [Hash] attributes
12
+ # @return [Hash]
13
+ def add_attributes attributes
14
+ @attributes = ancestors[1].attributes.dup
15
+ @attributes.update attributes
16
+ end
17
+ end
18
+
19
+ @attributes = {} # needs to be initialized
20
+
21
+ # @param [Handsoap::XmlQueryFront::NokogiriDriver] frag
22
+ # @return [JIRA::Entity]
23
+ def self.new_with_xml frag
24
+ entity = allocate
25
+ entity.initialize_with_xml frag
26
+ entity
27
+ end
28
+
29
+ # @todo put debug message through the logger
30
+ # @todo make this faster by cutting out NokogiriDriver,
31
+ # but I will need to add an accessor for @element of the
32
+ # driver object and then need to inject the marshaling
33
+ # methods into Nokogiri classes
34
+ # @param [Handsoap::XmlQueryFront::NokogiriDriver] frag
35
+ def initialize_with_xml frag
36
+ attributes = self.class.attributes
37
+ frag.children.each { |node|
38
+ action = attributes[node.node_name]
39
+ self.send action[0], (node.send *action[1..-1]) if action
40
+ #puts "Action is #{action.inspect} for #{node.node_name}"
41
+ }
42
+ end
43
+ end
@@ -0,0 +1,4 @@
1
+ # Represents a field mapping.
2
+ class JIRA::Field < JIRA::NamedEntity
3
+ add_attributes({})
4
+ end
@@ -1,14 +1,11 @@
1
- module JIRA
2
-
3
- # A structure that is a bit of a hack. It is essentially just a key-value pair
4
- # that is used by {RemoteAPI#update_issue}.
5
- class FieldValue
1
+ # A structure that is a bit of a hack; it is just a key-value pair that
2
+ # is used by {RemoteAPI#update_issue}.
3
+ class JIRA::FieldValue
6
4
 
7
5
  # @return [String] the name for regular fields, and the id for custom fields
8
6
  attr_accessor :field_name
9
7
 
10
- # @return [[String,Time,URL,nil]] Whatever the type, just make sure it is
11
- # wrapped in an array.
8
+ # @return [Array(#to_s)] an array for the values, usually a single
12
9
  attr_accessor :values
13
10
 
14
11
  # @param [String] field_name
@@ -29,45 +26,3 @@ class FieldValue
29
26
  end
30
27
  end
31
28
  end
32
-
33
-
34
- # Represents an instance of a custom field (with values). This object is used
35
- # as a member of {JIRA::Issue} objects.
36
- #
37
- # The structure of this class resembles JIRA::FieldValue, it is different
38
- # in that @values will always be stored as an Array of String objects for
39
- # custom fields and a field value is more flexible. You can expect the classes
40
- # to merge in the near future.
41
- # @todo see if @key is always nil from the server, maybe we can remove it
42
- # @todo merge this class with JIRA::FieldValue
43
- class CustomFieldValue < JIRA::DynamicEntity
44
-
45
- # @return [String]
46
- attr_accessor :key
47
-
48
- # @return [[String]]
49
- attr_accessor :values
50
-
51
- # @note careful, value of id is actually customfieldId
52
- # @param [Handsoap::XmlQueryFront::NokogiriDriver] frag
53
- def initialize_with_xml_fragment(frag)
54
- @id, @key, @values =
55
- frag.nodes( ['customfieldId', :to_s],
56
- ['key', :to_s],
57
- ['values/*', :to_ss] )
58
- end
59
-
60
- # Generate a SOAP message fragment for the object.
61
- # @param [Handsoap::XmlMason::Node] msg SOAP message to add the object to
62
- # @param [String] label tag name used in wrapping tags
63
- # @return [Handsoap::XmlMason::Element]
64
- def soapify_for(msg, label = 'customFieldValues')
65
- msg.add label do |submsg|
66
- submsg.add 'customfieldId', @id
67
- submsg.add 'key', @key
68
- submsg.add_simple_array 'values', @values
69
- end
70
- end
71
- end
72
-
73
- end
@@ -1,26 +1,17 @@
1
- module JIRA
2
-
3
1
  # Represents a filter, but does not seem to include the filters JQL query.
4
- # @todo find out what @project is supposed to be for
5
- class Filter < JIRA::DescribedEntity
2
+ class JIRA::Filter < JIRA::DescribedEntity
3
+ add_attributes({
4
+ 'author' => [:author=, :to_s],
5
+ 'project' => [:project_name=, :to_s],
6
+ 'xml' => [:xml=, :to_s]
7
+ })
6
8
 
7
9
  # @return [String]
8
10
  attr_accessor :author
9
11
 
10
12
  # @return [String]
11
- attr_accessor :project
13
+ attr_accessor :project_name
12
14
 
13
15
  # @return [nil]
14
16
  attr_accessor :xml
15
-
16
- # @param [Handsoap::XmlQueryFront::NokogiriDriver] frag
17
- def initialize_with_xml_fragment(frag)
18
- super frag
19
- @author, @project, @xml =
20
- frag.nodes( ['author', :to_s],
21
- ['project', :to_s],
22
- ['xml', :to_s] )
23
- end
24
- end
25
-
26
17
  end
@@ -1,5 +1,3 @@
1
- module JIRA
2
-
3
1
  # Contains most of the data and metadata for a JIRA issue, but does
4
2
  # not contain the {JIRA::Comment}'s or {JIRA::AttachmentMetadata}.
5
3
  #
@@ -7,8 +5,31 @@ module JIRA
7
5
  # likely be the greatest source of bugs. The irony of the situation is that
8
6
  # this structure is also the most critical to have in working order.
9
7
  #
10
- # Issues with an UNRESOLVED status will have nil for the value of @resolution.
11
- class Issue < JIRA::DynamicEntity
8
+ # @note Issues with an UNRESOLVED status will have nil for the value of
9
+ # #resolution.
10
+ class JIRA::Issue < JIRA::DynamicEntity
11
+ add_attributes({
12
+ 'key' => [:key=, :to_s],
13
+ 'summary' => [:summary=, :to_s],
14
+ 'description' => [:description=, :to_s],
15
+ 'type' => [:type_id=, :to_s],
16
+ 'status' => [:status_id=, :to_s],
17
+ 'assignee' => [:assignee_username=, :to_s],
18
+ 'reporter' => [:reporter_username=, :to_s],
19
+ 'priority' => [:priority_id=, :to_s],
20
+ 'project' => [:project_name=, :to_s],
21
+ 'resolution' => [:resolution_id=, :to_s],
22
+ 'environment' => [:environment=, :to_s],
23
+ 'votes' => [:votes=, :to_i],
24
+ 'updated' => [:last_updated_time=, :to_date],
25
+ 'created' => [:create_time=, :to_date],
26
+ 'duedate' => [:due_date=, :to_date],
27
+ 'affectsVersions' => [:affects_versions=, :to_objects, JIRA::Version],
28
+ 'fixVersions' => [:fix_versions=, :to_objects, JIRA::Version],
29
+ 'components' => [:components=, :to_objects, JIRA::Component],
30
+ 'customFieldValues' => [:custom_field_values=, :to_objects, JIRA::CustomFieldValue],
31
+ 'attachmentNames' => [:attachment_names=, :to_ss]
32
+ })
12
33
 
13
34
  # @return [String]
14
35
  attr_accessor :key
@@ -23,7 +44,7 @@ class Issue < JIRA::DynamicEntity
23
44
  attr_accessor :type_id
24
45
 
25
46
  # @return [Time]
26
- attr_accessor :last_updated
47
+ attr_accessor :last_updated_time
27
48
 
28
49
  # @return [Fixnum]
29
50
  attr_accessor :votes
@@ -32,10 +53,10 @@ class Issue < JIRA::DynamicEntity
32
53
  attr_accessor :status_id
33
54
 
34
55
  # @return [String]
35
- attr_accessor :assignee_name
56
+ attr_accessor :assignee_username
36
57
 
37
58
  # @return [String]
38
- attr_accessor :reporter_name
59
+ attr_accessor :reporter_username
39
60
 
40
61
  # @return [String]
41
62
  attr_accessor :priority_id
@@ -47,9 +68,9 @@ class Issue < JIRA::DynamicEntity
47
68
  attr_accessor :affects_versions
48
69
 
49
70
  # @return [Time]
50
- attr_accessor :create_date
71
+ attr_accessor :create_time
51
72
 
52
- # @return [Time]
73
+ # @return [Time] this is actually a Time object with no time resolution
53
74
  attr_accessor :due_date
54
75
 
55
76
  # @return [[JIRA::Version]]
@@ -70,36 +91,8 @@ class Issue < JIRA::DynamicEntity
70
91
  # @return [[JIRA::CustomFieldValue]]
71
92
  attr_accessor :custom_field_values
72
93
 
73
- # @param [Handsoap::XmlQueryFront::NokogiriDriver] frag
74
- def initialize_with_xml_fragment(frag)
75
- super frag
76
- @key, @summary, @description, @type_id, @status_id,
77
- @assignee_name, @reporter_name, @priority_id, @project_name,
78
- @resolution_id, @environment, @votes, @last_updated, @create_date,
79
- @due_date, @affects_versions, @fix_versions, @components,
80
- @custom_field_values, @attachment_names =
81
- frag.nodes( ['key', :to_s],
82
- ['summary', :to_s],
83
- ['description', :to_s],
84
- ['type', :to_s],
85
- ['status', :to_s],
86
- ['assignee', :to_s],
87
- ['reporter', :to_s],
88
- ['priority', :to_s],
89
- ['project', :to_s],
90
- ['resolution', :to_s],
91
- ['environment', :to_s],
92
- ['votes', :to_i],
93
- ['updated', :to_date],
94
- ['created', :to_date],
95
- ['duedate', :to_date],
96
- ['affectsVersions/*', :to_objects, JIRA::Version],
97
- ['fixVersions/*', :to_objects, JIRA::Version],
98
- ['components/*', :to_objects, JIRA::Component],
99
- ['customFieldValues/*', :to_objects, JIRA::CustomFieldValue],
100
- ['attachmentNames/*', :to_ss] )
101
- end
102
-
94
+ # @todo see if we can use the simple and complex array builders
95
+ # @todo make this method shorter
103
96
  # Generate the SOAP message fragment for an issue. Can you spot the oddities
104
97
  # and inconsistencies? (hint: there are many).
105
98
  #
@@ -120,8 +113,6 @@ class Issue < JIRA::DynamicEntity
120
113
  #
121
114
  # Passing an environment/due date field with a value of nil causes the
122
115
  # server to complain about the formatting of the message.
123
- # @todo see if we can use the simple and complex array builders
124
- # @todo make this method shorter
125
116
  # @param [Handsoap::XmlMason::Node] msg message the node to add the object to
126
117
  def soapify_for(msg)
127
118
  #might be going away, since it appears to have no effect at creation time
@@ -162,5 +153,3 @@ class Issue < JIRA::DynamicEntity
162
153
  msg.add 'duedate', @due_date.xmlschema unless @due_date.nil?
163
154
  end
164
155
  end
165
-
166
- end