merge_ticketing_client 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -4
  3. data/docs/Account.md +9 -10
  4. data/docs/Attachment.md +13 -14
  5. data/docs/AttachmentRequest.md +9 -14
  6. data/docs/Collection.md +11 -12
  7. data/docs/Comment.md +14 -15
  8. data/docs/CommentRequest.md +10 -15
  9. data/docs/Contact.md +12 -13
  10. data/docs/DataPassthroughRequest.md +10 -11
  11. data/docs/FieldFormatEnum.md +15 -0
  12. data/docs/FieldTypeEnum.md +15 -0
  13. data/docs/Issue.md +10 -11
  14. data/docs/LinkedAccountCondition.md +8 -9
  15. data/docs/LinkedAccountConditionRequest.md +5 -6
  16. data/docs/MetaResponse.md +6 -7
  17. data/docs/PaginatedRemoteFieldClassList.md +22 -0
  18. data/docs/PatchedTicketRequest.md +20 -25
  19. data/docs/Project.md +9 -10
  20. data/docs/RemoteData.md +4 -5
  21. data/docs/RemoteField.md +19 -0
  22. data/docs/RemoteFieldClass.md +38 -0
  23. data/docs/RemoteFieldClassItemSchema.md +22 -0
  24. data/docs/RemoteResponse.md +9 -10
  25. data/docs/Tag.md +7 -8
  26. data/docs/Team.md +9 -10
  27. data/docs/Ticket.md +29 -28
  28. data/docs/TicketRequest.md +21 -28
  29. data/docs/TicketsApi.md +88 -0
  30. data/docs/User.md +12 -13
  31. data/lib/merge_ticketing_client/api/tickets_api.rb +83 -0
  32. data/lib/merge_ticketing_client/models/attachment_request.rb +1 -23
  33. data/lib/merge_ticketing_client/models/categories_enum.rb +2 -1
  34. data/lib/merge_ticketing_client/models/category_enum.rb +2 -1
  35. data/lib/merge_ticketing_client/models/comment_request.rb +1 -23
  36. data/lib/merge_ticketing_client/models/field_format_enum.rb +49 -0
  37. data/lib/merge_ticketing_client/models/field_type_enum.rb +49 -0
  38. data/lib/merge_ticketing_client/models/paginated_remote_field_class_list.rb +240 -0
  39. data/lib/merge_ticketing_client/models/patched_ticket_request.rb +1 -23
  40. data/lib/merge_ticketing_client/models/remote_data.rb +9 -7
  41. data/lib/merge_ticketing_client/models/remote_field.rb +231 -0
  42. data/lib/merge_ticketing_client/models/remote_field_class.rb +318 -0
  43. data/lib/merge_ticketing_client/models/remote_field_class_item_schema.rb +241 -0
  44. data/lib/merge_ticketing_client/models/ticket.rb +16 -5
  45. data/lib/merge_ticketing_client/models/ticket_request.rb +1 -34
  46. data/lib/merge_ticketing_client/version.rb +1 -1
  47. data/lib/merge_ticketing_client.rb +6 -0
  48. metadata +14 -2
@@ -0,0 +1,318 @@
1
+ =begin
2
+ #Merge Ticketing API
3
+
4
+ #The unified API for building rich integrations with multiple Ticketing platforms.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: hello@merge.dev
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.1.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module MergeTicketingClient
17
+ class RemoteFieldClass
18
+ attr_accessor :display_name
19
+
20
+ attr_accessor :remote_key_name
21
+
22
+ attr_accessor :description
23
+
24
+ attr_accessor :is_required
25
+
26
+ attr_accessor :field_type
27
+
28
+ attr_accessor :field_format
29
+
30
+ attr_accessor :field_choices
31
+
32
+ attr_accessor :item_schema
33
+
34
+ attr_accessor :is_custom
35
+
36
+ attr_accessor :id
37
+
38
+ attr_accessor :remote_fields
39
+
40
+ # Attribute mapping from ruby-style variable name to JSON key.
41
+ def self.attribute_map
42
+ {
43
+ :'display_name' => :'display_name',
44
+ :'remote_key_name' => :'remote_key_name',
45
+ :'description' => :'description',
46
+ :'is_required' => :'is_required',
47
+ :'field_type' => :'field_type',
48
+ :'field_format' => :'field_format',
49
+ :'field_choices' => :'field_choices',
50
+ :'item_schema' => :'item_schema',
51
+ :'is_custom' => :'is_custom',
52
+ :'id' => :'id',
53
+ :'remote_fields' => :'remote_fields'
54
+ }
55
+ end
56
+
57
+ # Returns all the JSON keys this model knows about
58
+ def self.acceptable_attributes
59
+ attribute_map.values
60
+ end
61
+
62
+ # Attribute type mapping.
63
+ def self.openapi_types
64
+ {
65
+ :'display_name' => :'String',
66
+ :'remote_key_name' => :'String',
67
+ :'description' => :'String',
68
+ :'is_required' => :'Boolean',
69
+ :'field_type' => :'FieldTypeEnum',
70
+ :'field_format' => :'FieldFormatEnum',
71
+ :'field_choices' => :'Array<String>',
72
+ :'item_schema' => :'RemoteFieldClassItemSchema',
73
+ :'is_custom' => :'Boolean',
74
+ :'id' => :'String',
75
+ :'remote_fields' => :'Array<RemoteField>'
76
+ }
77
+ end
78
+
79
+ # List of attributes with nullable: true
80
+ def self.openapi_nullable
81
+ Set.new([
82
+ :'display_name',
83
+ :'remote_key_name',
84
+ :'description',
85
+ :'field_choices',
86
+ :'item_schema',
87
+ :'is_custom',
88
+ ])
89
+ end
90
+
91
+ # Initializes the object
92
+ # @param [Hash] attributes Model attributes in the form of hash
93
+ def initialize(attributes = {})
94
+ if (!attributes.is_a?(Hash))
95
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MergeTicketingClient::RemoteFieldClass` initialize method"
96
+ end
97
+
98
+ # check to see if the attribute exists and convert string to symbol for hash key
99
+ attributes = attributes.each_with_object({}) { |(k, v), h|
100
+ if (!self.class.attribute_map.key?(k.to_sym))
101
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MergeTicketingClient::RemoteFieldClass`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
102
+ end
103
+ h[k.to_sym] = v
104
+ }
105
+
106
+ if attributes.key?(:'display_name')
107
+ self.display_name = attributes[:'display_name']
108
+ end
109
+
110
+ if attributes.key?(:'remote_key_name')
111
+ self.remote_key_name = attributes[:'remote_key_name']
112
+ end
113
+
114
+ if attributes.key?(:'description')
115
+ self.description = attributes[:'description']
116
+ end
117
+
118
+ if attributes.key?(:'is_required')
119
+ self.is_required = attributes[:'is_required']
120
+ end
121
+
122
+ if attributes.key?(:'field_type')
123
+ self.field_type = attributes[:'field_type']
124
+ end
125
+
126
+ if attributes.key?(:'field_format')
127
+ self.field_format = attributes[:'field_format']
128
+ end
129
+
130
+ if attributes.key?(:'field_choices')
131
+ if (value = attributes[:'field_choices']).is_a?(Array)
132
+ self.field_choices = value
133
+ end
134
+ end
135
+
136
+ if attributes.key?(:'item_schema')
137
+ self.item_schema = attributes[:'item_schema']
138
+ end
139
+
140
+ if attributes.key?(:'is_custom')
141
+ self.is_custom = attributes[:'is_custom']
142
+ end
143
+
144
+ if attributes.key?(:'id')
145
+ self.id = attributes[:'id']
146
+ end
147
+
148
+ if attributes.key?(:'remote_fields')
149
+ if (value = attributes[:'remote_fields']).is_a?(Array)
150
+ self.remote_fields = value
151
+ end
152
+ end
153
+ end
154
+
155
+ # Show invalid properties with the reasons. Usually used together with valid?
156
+ # @return Array for valid properties with the reasons
157
+ def list_invalid_properties
158
+ invalid_properties = Array.new
159
+ invalid_properties
160
+ end
161
+
162
+ # Check to see if the all the properties in the model are valid
163
+ # @return true if the model is valid
164
+ def valid?
165
+ true
166
+ end
167
+
168
+ # Checks equality by comparing each attribute.
169
+ # @param [Object] Object to be compared
170
+ def ==(o)
171
+ return true if self.equal?(o)
172
+ self.class == o.class &&
173
+ display_name == o.display_name &&
174
+ remote_key_name == o.remote_key_name &&
175
+ description == o.description &&
176
+ is_required == o.is_required &&
177
+ field_type == o.field_type &&
178
+ field_format == o.field_format &&
179
+ field_choices == o.field_choices &&
180
+ item_schema == o.item_schema &&
181
+ is_custom == o.is_custom &&
182
+ id == o.id &&
183
+ remote_fields == o.remote_fields
184
+ end
185
+
186
+ # @see the `==` method
187
+ # @param [Object] Object to be compared
188
+ def eql?(o)
189
+ self == o
190
+ end
191
+
192
+ # Calculates hash code according to all attributes.
193
+ # @return [Integer] Hash code
194
+ def hash
195
+ [display_name, remote_key_name, description, is_required, field_type, field_format, field_choices, item_schema, is_custom, id, remote_fields].hash
196
+ end
197
+
198
+ # Builds the object from hash
199
+ # @param [Hash] attributes Model attributes in the form of hash
200
+ # @return [Object] Returns the model itself
201
+ def self.build_from_hash(attributes)
202
+ new.build_from_hash(attributes)
203
+ end
204
+
205
+ # Builds the object from hash
206
+ # @param [Hash] attributes Model attributes in the form of hash
207
+ # @return [Object] Returns the model itself
208
+ def build_from_hash(attributes)
209
+ return nil unless attributes.is_a?(Hash)
210
+ self.class.openapi_types.each_pair do |key, type|
211
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
212
+ self.send("#{key}=", nil)
213
+ elsif type =~ /\AArray<(.*)>/i
214
+ # check to ensure the input is an array given that the attribute
215
+ # is documented as an array but the input is not
216
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
217
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
218
+ end
219
+ elsif !attributes[self.class.attribute_map[key]].nil?
220
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
221
+ end
222
+ end
223
+
224
+ self
225
+ end
226
+
227
+ # Deserializes the data based on type
228
+ # @param string type Data type
229
+ # @param string value Value to be deserialized
230
+ # @return [Object] Deserialized data
231
+ def _deserialize(type, value)
232
+ case type.to_sym
233
+ when :Time
234
+ Time.parse(value)
235
+ when :Date
236
+ Date.parse(value)
237
+ when :String
238
+ value
239
+ when :Integer
240
+ value.to_i
241
+ when :Float
242
+ value.to_f
243
+ when :Boolean
244
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
245
+ true
246
+ else
247
+ false
248
+ end
249
+ when :Object
250
+ # generic object (usually a Hash), return directly
251
+ value
252
+ when /\AArray<(?<inner_type>.+)>\z/
253
+ inner_type = Regexp.last_match[:inner_type]
254
+ value.map { |v| _deserialize(inner_type, v) }
255
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
256
+ k_type = Regexp.last_match[:k_type]
257
+ v_type = Regexp.last_match[:v_type]
258
+ {}.tap do |hash|
259
+ value.each do |k, v|
260
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
261
+ end
262
+ end
263
+ else # model
264
+ # models (e.g. Pet) or oneOf
265
+ klass = MergeTicketingClient.const_get(type)
266
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
267
+ end
268
+ end
269
+
270
+ # Returns the string representation of the object
271
+ # @return [String] String presentation of the object
272
+ def to_s
273
+ to_hash.to_s
274
+ end
275
+
276
+ # to_body is an alias to to_hash (backward compatibility)
277
+ # @return [Hash] Returns the object in the form of hash
278
+ def to_body
279
+ to_hash
280
+ end
281
+
282
+ # Returns the object in the form of hash
283
+ # @return [Hash] Returns the object in the form of hash
284
+ def to_hash
285
+ hash = {}
286
+ self.class.attribute_map.each_pair do |attr, param|
287
+ value = self.send(attr)
288
+ if value.nil?
289
+ is_nullable = self.class.openapi_nullable.include?(attr)
290
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
291
+ end
292
+
293
+ hash[param] = _to_hash(value)
294
+ end
295
+ hash
296
+ end
297
+
298
+ # Outputs non-array value in the form of hash
299
+ # For object, use to_hash. Otherwise, just return the value
300
+ # @param [Object] value Any valid value
301
+ # @return [Hash] Returns the value in the form of hash
302
+ def _to_hash(value)
303
+ if value.is_a?(Array)
304
+ value.compact.map { |v| _to_hash(v) }
305
+ elsif value.is_a?(Hash)
306
+ {}.tap do |hash|
307
+ value.each { |k, v| hash[k] = _to_hash(v) }
308
+ end
309
+ elsif value.respond_to? :to_hash
310
+ value.to_hash
311
+ else
312
+ value
313
+ end
314
+ end
315
+
316
+ end
317
+
318
+ end
@@ -0,0 +1,241 @@
1
+ =begin
2
+ #Merge Ticketing API
3
+
4
+ #The unified API for building rich integrations with multiple Ticketing platforms.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: hello@merge.dev
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.1.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module MergeTicketingClient
17
+ class RemoteFieldClassItemSchema
18
+ attr_accessor :item_type
19
+
20
+ attr_accessor :item_format
21
+
22
+ attr_accessor :item_choices
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'item_type' => :'item_type',
28
+ :'item_format' => :'item_format',
29
+ :'item_choices' => :'item_choices'
30
+ }
31
+ end
32
+
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ attribute_map.values
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'item_type' => :'String',
42
+ :'item_format' => :'String',
43
+ :'item_choices' => :'Array<String>'
44
+ }
45
+ end
46
+
47
+ # List of attributes with nullable: true
48
+ def self.openapi_nullable
49
+ Set.new([
50
+ :'item_type',
51
+ :'item_format',
52
+ :'item_choices'
53
+ ])
54
+ end
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MergeTicketingClient::RemoteFieldClassItemSchema` initialize method"
61
+ end
62
+
63
+ # check to see if the attribute exists and convert string to symbol for hash key
64
+ attributes = attributes.each_with_object({}) { |(k, v), h|
65
+ if (!self.class.attribute_map.key?(k.to_sym))
66
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MergeTicketingClient::RemoteFieldClassItemSchema`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
67
+ end
68
+ h[k.to_sym] = v
69
+ }
70
+
71
+ if attributes.key?(:'item_type')
72
+ self.item_type = attributes[:'item_type']
73
+ end
74
+
75
+ if attributes.key?(:'item_format')
76
+ self.item_format = attributes[:'item_format']
77
+ end
78
+
79
+ if attributes.key?(:'item_choices')
80
+ if (value = attributes[:'item_choices']).is_a?(Array)
81
+ self.item_choices = value
82
+ end
83
+ end
84
+ end
85
+
86
+ # Show invalid properties with the reasons. Usually used together with valid?
87
+ # @return Array for valid properties with the reasons
88
+ def list_invalid_properties
89
+ invalid_properties = Array.new
90
+ invalid_properties
91
+ end
92
+
93
+ # Check to see if the all the properties in the model are valid
94
+ # @return true if the model is valid
95
+ def valid?
96
+ true
97
+ end
98
+
99
+ # Checks equality by comparing each attribute.
100
+ # @param [Object] Object to be compared
101
+ def ==(o)
102
+ return true if self.equal?(o)
103
+ self.class == o.class &&
104
+ item_type == o.item_type &&
105
+ item_format == o.item_format &&
106
+ item_choices == o.item_choices
107
+ end
108
+
109
+ # @see the `==` method
110
+ # @param [Object] Object to be compared
111
+ def eql?(o)
112
+ self == o
113
+ end
114
+
115
+ # Calculates hash code according to all attributes.
116
+ # @return [Integer] Hash code
117
+ def hash
118
+ [item_type, item_format, item_choices].hash
119
+ end
120
+
121
+ # Builds the object from hash
122
+ # @param [Hash] attributes Model attributes in the form of hash
123
+ # @return [Object] Returns the model itself
124
+ def self.build_from_hash(attributes)
125
+ new.build_from_hash(attributes)
126
+ end
127
+
128
+ # Builds the object from hash
129
+ # @param [Hash] attributes Model attributes in the form of hash
130
+ # @return [Object] Returns the model itself
131
+ def build_from_hash(attributes)
132
+ return nil unless attributes.is_a?(Hash)
133
+ self.class.openapi_types.each_pair do |key, type|
134
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
135
+ self.send("#{key}=", nil)
136
+ elsif type =~ /\AArray<(.*)>/i
137
+ # check to ensure the input is an array given that the attribute
138
+ # is documented as an array but the input is not
139
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
140
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
141
+ end
142
+ elsif !attributes[self.class.attribute_map[key]].nil?
143
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
144
+ end
145
+ end
146
+
147
+ self
148
+ end
149
+
150
+ # Deserializes the data based on type
151
+ # @param string type Data type
152
+ # @param string value Value to be deserialized
153
+ # @return [Object] Deserialized data
154
+ def _deserialize(type, value)
155
+ case type.to_sym
156
+ when :Time
157
+ Time.parse(value)
158
+ when :Date
159
+ Date.parse(value)
160
+ when :String
161
+ value
162
+ when :Integer
163
+ value.to_i
164
+ when :Float
165
+ value.to_f
166
+ when :Boolean
167
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
168
+ true
169
+ else
170
+ false
171
+ end
172
+ when :Object
173
+ # generic object (usually a Hash), return directly
174
+ value
175
+ when /\AArray<(?<inner_type>.+)>\z/
176
+ inner_type = Regexp.last_match[:inner_type]
177
+ value.map { |v| _deserialize(inner_type, v) }
178
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
179
+ k_type = Regexp.last_match[:k_type]
180
+ v_type = Regexp.last_match[:v_type]
181
+ {}.tap do |hash|
182
+ value.each do |k, v|
183
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
184
+ end
185
+ end
186
+ else # model
187
+ # models (e.g. Pet) or oneOf
188
+ klass = MergeTicketingClient.const_get(type)
189
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
190
+ end
191
+ end
192
+
193
+ # Returns the string representation of the object
194
+ # @return [String] String presentation of the object
195
+ def to_s
196
+ to_hash.to_s
197
+ end
198
+
199
+ # to_body is an alias to to_hash (backward compatibility)
200
+ # @return [Hash] Returns the object in the form of hash
201
+ def to_body
202
+ to_hash
203
+ end
204
+
205
+ # Returns the object in the form of hash
206
+ # @return [Hash] Returns the object in the form of hash
207
+ def to_hash
208
+ hash = {}
209
+ self.class.attribute_map.each_pair do |attr, param|
210
+ value = self.send(attr)
211
+ if value.nil?
212
+ is_nullable = self.class.openapi_nullable.include?(attr)
213
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
214
+ end
215
+
216
+ hash[param] = _to_hash(value)
217
+ end
218
+ hash
219
+ end
220
+
221
+ # Outputs non-array value in the form of hash
222
+ # For object, use to_hash. Otherwise, just return the value
223
+ # @param [Object] value Any valid value
224
+ # @return [Hash] Returns the value in the form of hash
225
+ def _to_hash(value)
226
+ if value.is_a?(Array)
227
+ value.compact.map { |v| _to_hash(v) }
228
+ elsif value.is_a?(Hash)
229
+ {}.tap do |hash|
230
+ value.each { |k, v| hash[k] = _to_hash(v) }
231
+ end
232
+ elsif value.respond_to? :to_hash
233
+ value.to_hash
234
+ else
235
+ value
236
+ end
237
+ end
238
+
239
+ end
240
+
241
+ end
@@ -80,6 +80,8 @@ module MergeTicketingClient
80
80
 
81
81
  attr_accessor :field_mappings
82
82
 
83
+ attr_accessor :remote_fields
84
+
83
85
  # Attribute mapping from ruby-style variable name to JSON key.
84
86
  def self.attribute_map
85
87
  {
@@ -106,7 +108,8 @@ module MergeTicketingClient
106
108
  :'remote_was_deleted' => :'remote_was_deleted',
107
109
  :'ticket_url' => :'ticket_url',
108
110
  :'priority' => :'priority',
109
- :'field_mappings' => :'field_mappings'
111
+ :'field_mappings' => :'field_mappings',
112
+ :'remote_fields' => :'remote_fields'
110
113
  }
111
114
  end
112
115
 
@@ -141,7 +144,8 @@ module MergeTicketingClient
141
144
  :'remote_was_deleted' => :'Boolean',
142
145
  :'ticket_url' => :'String',
143
146
  :'priority' => :'PriorityEnum',
144
- :'field_mappings' => :'Hash<String, Object>'
147
+ :'field_mappings' => :'Hash<String, Object>',
148
+ :'remote_fields' => :'Array<RemoteField>'
145
149
  }
146
150
  end
147
151
 
@@ -165,7 +169,7 @@ module MergeTicketingClient
165
169
  :'remote_data',
166
170
  :'ticket_url',
167
171
  :'priority',
168
- :'field_mappings'
172
+ :'field_mappings',
169
173
  ])
170
174
  end
171
175
 
@@ -291,6 +295,12 @@ module MergeTicketingClient
291
295
  self.field_mappings = value
292
296
  end
293
297
  end
298
+
299
+ if attributes.key?(:'remote_fields')
300
+ if (value = attributes[:'remote_fields']).is_a?(Array)
301
+ self.remote_fields = value
302
+ end
303
+ end
294
304
  end
295
305
 
296
306
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -349,7 +359,8 @@ module MergeTicketingClient
349
359
  remote_was_deleted == o.remote_was_deleted &&
350
360
  ticket_url == o.ticket_url &&
351
361
  priority == o.priority &&
352
- field_mappings == o.field_mappings
362
+ field_mappings == o.field_mappings &&
363
+ remote_fields == o.remote_fields
353
364
  end
354
365
 
355
366
  # @see the `==` method
@@ -361,7 +372,7 @@ module MergeTicketingClient
361
372
  # Calculates hash code according to all attributes.
362
373
  # @return [Integer] Hash code
363
374
  def hash
364
- [id, remote_id, name, assignees, creator, due_date, status, description, project, collections, ticket_type, account, contact, parent_ticket, attachments, tags, remote_created_at, remote_updated_at, completed_at, remote_data, remote_was_deleted, ticket_url, priority, field_mappings].hash
375
+ [id, remote_id, name, assignees, creator, due_date, status, description, project, collections, ticket_type, account, contact, parent_ticket, attachments, tags, remote_created_at, remote_updated_at, completed_at, remote_data, remote_was_deleted, ticket_url, priority, field_mappings, remote_fields].hash
365
376
  end
366
377
 
367
378
  # Builds the object from hash