shipeasy-sdk 4.0.0 → 4.1.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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/shipeasy/sdk/version.rb +1 -1
- data/lib/shipeasy_admin/api/ops_api.rb +4 -4
- data/lib/shipeasy_admin/models/create_public_bug_request.rb +31 -2
- data/lib/shipeasy_admin/models/create_public_feature_request_request.rb +31 -2
- data/lib/shipeasy_admin/models/create_public_ticket_response.rb +15 -5
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 54ea0b134073140b279ab8891d142a061e2164b3a31a0b6c7ec8d011e0877220
|
|
4
|
+
data.tar.gz: 3dcf6911b34004a46768b2205ee175557d073e3789cbbeeb32b7437ddccb13ae
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a793c67f011c56bd247f96f2824c074a50847c273e3b8541fd4da65900750b0f749d5d082630b4577b9af3be15c56842ef1bccf1549362c40f544c122d80ba06
|
|
7
|
+
data.tar.gz: b43aabff009ccd7ffdd5bd8a841fb27e786349fe3e40e421f3a4ddeeff86c3b5affce6d1e68a0c113daa3c7a09e1fe846d3077a1ceec3a84bb12de995cfe0dd2
|
data/README.md
CHANGED
|
@@ -128,4 +128,4 @@ More — the on-the-spot override helpers and a working example
|
|
|
128
128
|
|
|
129
129
|
[Shipeasy-SAL 1.0](./LICENSE) — source-available, non-commercial-use, permitted
|
|
130
130
|
as a Shipeasy client. Evaluation is tested against the cross-language
|
|
131
|
-
MurmurHash3 vectors in
|
|
131
|
+
MurmurHash3 vectors in [Rollouts & bucketing](https://docs.shipeasy.ai/flags/gates/rollouts).
|
data/lib/shipeasy/sdk/version.rb
CHANGED
|
@@ -20,7 +20,7 @@ module Shipeasy::Admin::Generated
|
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
22
|
# File a bug
|
|
23
|
-
# Files one bug onto a project's queue, awaiting human approval. This is the **public** intake: it authenticates with a *client* SDK key rather than an admin key, so it can be called from a CLI, an installer script, a devtools overlay, or any shipped code — the same places a client key already lives. Three gates decide whether a ticket is filed, and nothing else the caller sends can widen them: 1. the key is a `client` key carrying the `tickets:public_create` scope, 2. the key's project has public ticket creation enabled, and 3. the item is filed as `pending_approval` — parked out of the work queue until a human promotes it in the dashboard. The project is the key's own project; there is no `X-Project-Id` to pass and no way to file into someone else's queue. Repeat submissions of the same title dedupe against the open ticket already tracking it, which returns `200` with `deduped: true` instead of filing again. This endpoint is served by the Shipeasy **edge worker** (`api.shipeasy.ai`), not the admin API — see `servers` below. **Use case:** `shipeasy setup` fails on a customer's machine and self-reports the failure with the user's consent — `{ \"title\": \"Setup failed at Feature installs\", \"stepsToReproduce\": \"…\", \"actualResult\": \"…\" }`.
|
|
23
|
+
# Files one bug onto a project's queue, awaiting human approval. This is the **public** intake: it authenticates with a *client* SDK key rather than an admin key, so it can be called from a CLI, an installer script, a devtools overlay, or any shipped code — the same places a client key already lives. Three gates decide whether a ticket is filed, and nothing else the caller sends can widen them: 1. the key is a `client` key carrying the `tickets:public_create` scope, 2. the key's project has public ticket creation enabled, and 3. the item is filed as `pending_approval` — parked out of the work queue until a human promotes it in the dashboard. The project is the key's own project; there is no `X-Project-Id` to pass and no way to file into someone else's queue. Repeat submissions of the same title dedupe against the open ticket already tracking it, which returns `200` with `deduped: true` instead of filing again. Send a `dedupKey` to own that grain yourself — the same key from a monitor, a job, or a retried install re-triggers its open ticket: the ticket's fields are refreshed from the new payload and a \"re-triggered\" comment is appended (`200` with `deduped: true, updated: true`), so one recurring failure stays one ticket with its history intact. This endpoint is served by the Shipeasy **edge worker** (`api.shipeasy.ai`), not the admin API — see `servers` below. **Use case:** `shipeasy setup` fails on a customer's machine and self-reports the failure with the user's consent — `{ \"title\": \"Setup failed at Feature installs\", \"stepsToReproduce\": \"…\", \"actualResult\": \"…\" }`.
|
|
24
24
|
# @param create_public_bug_request [CreatePublicBugRequest]
|
|
25
25
|
# @param [Hash] opts the optional parameters
|
|
26
26
|
# @return [CreatePublicTicketResponse]
|
|
@@ -30,7 +30,7 @@ module Shipeasy::Admin::Generated
|
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
# File a bug
|
|
33
|
-
# Files one bug onto a project's queue, awaiting human approval. This is the **public** intake: it authenticates with a *client* SDK key rather than an admin key, so it can be called from a CLI, an installer script, a devtools overlay, or any shipped code — the same places a client key already lives. Three gates decide whether a ticket is filed, and nothing else the caller sends can widen them: 1. the key is a `client` key carrying the `tickets:public_create` scope, 2. the key's project has public ticket creation enabled, and 3. the item is filed as `pending_approval` — parked out of the work queue until a human promotes it in the dashboard. The project is the key's own project; there is no `X-Project-Id` to pass and no way to file into someone else's queue. Repeat submissions of the same title dedupe against the open ticket already tracking it, which returns `200` with `deduped: true` instead of filing again. This endpoint is served by the Shipeasy **edge worker** (`api.shipeasy.ai`), not the admin API — see `servers` below. **Use case:** `shipeasy setup` fails on a customer's machine and self-reports the failure with the user's consent — `{ \"title\": \"Setup failed at Feature installs\", \"stepsToReproduce\": \"…\", \"actualResult\": \"…\" }`.
|
|
33
|
+
# Files one bug onto a project's queue, awaiting human approval. This is the **public** intake: it authenticates with a *client* SDK key rather than an admin key, so it can be called from a CLI, an installer script, a devtools overlay, or any shipped code — the same places a client key already lives. Three gates decide whether a ticket is filed, and nothing else the caller sends can widen them: 1. the key is a `client` key carrying the `tickets:public_create` scope, 2. the key's project has public ticket creation enabled, and 3. the item is filed as `pending_approval` — parked out of the work queue until a human promotes it in the dashboard. The project is the key's own project; there is no `X-Project-Id` to pass and no way to file into someone else's queue. Repeat submissions of the same title dedupe against the open ticket already tracking it, which returns `200` with `deduped: true` instead of filing again. Send a `dedupKey` to own that grain yourself — the same key from a monitor, a job, or a retried install re-triggers its open ticket: the ticket's fields are refreshed from the new payload and a \"re-triggered\" comment is appended (`200` with `deduped: true, updated: true`), so one recurring failure stays one ticket with its history intact. This endpoint is served by the Shipeasy **edge worker** (`api.shipeasy.ai`), not the admin API — see `servers` below. **Use case:** `shipeasy setup` fails on a customer's machine and self-reports the failure with the user's consent — `{ \"title\": \"Setup failed at Feature installs\", \"stepsToReproduce\": \"…\", \"actualResult\": \"…\" }`.
|
|
34
34
|
# @param create_public_bug_request [CreatePublicBugRequest]
|
|
35
35
|
# @param [Hash] opts the optional parameters
|
|
36
36
|
# @return [Array<(CreatePublicTicketResponse, Integer, Hash)>] CreatePublicTicketResponse data, response status code and response headers
|
|
@@ -88,7 +88,7 @@ module Shipeasy::Admin::Generated
|
|
|
88
88
|
end
|
|
89
89
|
|
|
90
90
|
# File a feature request
|
|
91
|
-
# Files one feature request onto a project's queue, awaiting human approval. The feature-request counterpart to `POST /ops/bug`, with the same three gates: a `client` key carrying `tickets:public_create`, a project that has opted in, and a `pending_approval` state forced server-side. The project is the key's own project; there is no `X-Project-Id` to pass. Repeat submissions of the same title dedupe against the open ticket already tracking it, which returns `200` with `deduped: true` instead of filing again. This endpoint is served by the Shipeasy **edge worker** (`api.shipeasy.ai`), not the admin API — see `servers` below. **Use case:** An in-product \"request a feature\" form posts what the user asked for — `{ \"title\": \"Dark mode\", \"useCase\": \"Reduce eye strain at night\" }`.
|
|
91
|
+
# Files one feature request onto a project's queue, awaiting human approval. The feature-request counterpart to `POST /ops/bug`, with the same three gates: a `client` key carrying `tickets:public_create`, a project that has opted in, and a `pending_approval` state forced server-side. The project is the key's own project; there is no `X-Project-Id` to pass. Repeat submissions of the same title dedupe against the open ticket already tracking it, which returns `200` with `deduped: true` instead of filing again. A `dedupKey` works exactly as on `POST /ops/bug`: a repeat carrying the same key refreshes the open ticket and comments that it was re-triggered. This endpoint is served by the Shipeasy **edge worker** (`api.shipeasy.ai`), not the admin API — see `servers` below. **Use case:** An in-product \"request a feature\" form posts what the user asked for — `{ \"title\": \"Dark mode\", \"useCase\": \"Reduce eye strain at night\" }`.
|
|
92
92
|
# @param create_public_feature_request_request [CreatePublicFeatureRequestRequest]
|
|
93
93
|
# @param [Hash] opts the optional parameters
|
|
94
94
|
# @return [CreatePublicTicketResponse]
|
|
@@ -98,7 +98,7 @@ module Shipeasy::Admin::Generated
|
|
|
98
98
|
end
|
|
99
99
|
|
|
100
100
|
# File a feature request
|
|
101
|
-
# Files one feature request onto a project's queue, awaiting human approval. The feature-request counterpart to `POST /ops/bug`, with the same three gates: a `client` key carrying `tickets:public_create`, a project that has opted in, and a `pending_approval` state forced server-side. The project is the key's own project; there is no `X-Project-Id` to pass. Repeat submissions of the same title dedupe against the open ticket already tracking it, which returns `200` with `deduped: true` instead of filing again. This endpoint is served by the Shipeasy **edge worker** (`api.shipeasy.ai`), not the admin API — see `servers` below. **Use case:** An in-product \"request a feature\" form posts what the user asked for — `{ \"title\": \"Dark mode\", \"useCase\": \"Reduce eye strain at night\" }`.
|
|
101
|
+
# Files one feature request onto a project's queue, awaiting human approval. The feature-request counterpart to `POST /ops/bug`, with the same three gates: a `client` key carrying `tickets:public_create`, a project that has opted in, and a `pending_approval` state forced server-side. The project is the key's own project; there is no `X-Project-Id` to pass. Repeat submissions of the same title dedupe against the open ticket already tracking it, which returns `200` with `deduped: true` instead of filing again. A `dedupKey` works exactly as on `POST /ops/bug`: a repeat carrying the same key refreshes the open ticket and comments that it was re-triggered. This endpoint is served by the Shipeasy **edge worker** (`api.shipeasy.ai`), not the admin API — see `servers` below. **Use case:** An in-product \"request a feature\" form posts what the user asked for — `{ \"title\": \"Dark mode\", \"useCase\": \"Reduce eye strain at night\" }`.
|
|
102
102
|
# @param create_public_feature_request_request [CreatePublicFeatureRequestRequest]
|
|
103
103
|
# @param [Hash] opts the optional parameters
|
|
104
104
|
# @return [Array<(CreatePublicTicketResponse, Integer, Hash)>] CreatePublicTicketResponse data, response status code and response headers
|
|
@@ -14,7 +14,7 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module Shipeasy::Admin::Generated
|
|
17
|
-
# Body for `POST /ops/bug`. The same bug fields as `CreateBugRequest`, minus the `type` discriminator — the path already says what is being filed
|
|
17
|
+
# Body for `POST /ops/bug`. The same bug fields as `CreateBugRequest`, minus the `type` discriminator — the path already says what is being filed, plus the public intake's own `dedupKey`.
|
|
18
18
|
class CreatePublicBugRequest < ApiModelBase
|
|
19
19
|
# One-line bug title (no leading/trailing whitespace).
|
|
20
20
|
attr_accessor :title
|
|
@@ -58,6 +58,9 @@ module Shipeasy::Admin::Generated
|
|
|
58
58
|
# Arbitrary capture context, or `null`.
|
|
59
59
|
attr_accessor :context
|
|
60
60
|
|
|
61
|
+
# Caller-chosen dedupe identity for this report, stored on the ticket. A repeat submission carrying the same key does NOT file a second ticket: the open ticket already holding that key is refreshed from this payload (title and the report fields overwritten, a \"re-triggered\" comment appended) and returned with `deduped: true` and `updated: true`. Triage state a human owns — status, priority, assignee, tags — is left untouched, and a `resolved`/`wont_fix` ticket no longer holds the key, so a failure that comes back after being closed files a fresh ticket. Omit it to fall back to the derived (title + `context.step`) dedupe, whose repeats return the existing ticket unchanged.
|
|
62
|
+
attr_accessor :dedup_key
|
|
63
|
+
|
|
61
64
|
# Where this bug's completion notification lands.
|
|
62
65
|
attr_accessor :notify
|
|
63
66
|
|
|
@@ -100,6 +103,7 @@ module Shipeasy::Admin::Generated
|
|
|
100
103
|
:'user_agent' => :'userAgent',
|
|
101
104
|
:'viewport' => :'viewport',
|
|
102
105
|
:'context' => :'context',
|
|
106
|
+
:'dedup_key' => :'dedupKey',
|
|
103
107
|
:'notify' => :'notify'
|
|
104
108
|
}
|
|
105
109
|
end
|
|
@@ -131,6 +135,7 @@ module Shipeasy::Admin::Generated
|
|
|
131
135
|
:'user_agent' => :'String',
|
|
132
136
|
:'viewport' => :'String',
|
|
133
137
|
:'context' => :'Hash<String, Object>',
|
|
138
|
+
:'dedup_key' => :'String',
|
|
134
139
|
:'notify' => :'NotificationTarget'
|
|
135
140
|
}
|
|
136
141
|
end
|
|
@@ -235,6 +240,10 @@ module Shipeasy::Admin::Generated
|
|
|
235
240
|
end
|
|
236
241
|
end
|
|
237
242
|
|
|
243
|
+
if attributes.key?(:'dedup_key')
|
|
244
|
+
self.dedup_key = attributes[:'dedup_key']
|
|
245
|
+
end
|
|
246
|
+
|
|
238
247
|
if attributes.key?(:'notify')
|
|
239
248
|
self.notify = attributes[:'notify']
|
|
240
249
|
end
|
|
@@ -282,6 +291,10 @@ module Shipeasy::Admin::Generated
|
|
|
282
291
|
invalid_properties.push('invalid value for "viewport", the character length must be smaller than or equal to 40.')
|
|
283
292
|
end
|
|
284
293
|
|
|
294
|
+
if !@dedup_key.nil? && @dedup_key.to_s.length > 200
|
|
295
|
+
invalid_properties.push('invalid value for "dedup_key", the character length must be smaller than or equal to 200.')
|
|
296
|
+
end
|
|
297
|
+
|
|
285
298
|
invalid_properties
|
|
286
299
|
end
|
|
287
300
|
|
|
@@ -298,6 +311,7 @@ module Shipeasy::Admin::Generated
|
|
|
298
311
|
return false if !@expected_result.nil? && @expected_result.to_s.length > 8000
|
|
299
312
|
return false if !@user_agent.nil? && @user_agent.to_s.length > 500
|
|
300
313
|
return false if !@viewport.nil? && @viewport.to_s.length > 40
|
|
314
|
+
return false if !@dedup_key.nil? && @dedup_key.to_s.length > 200
|
|
301
315
|
true
|
|
302
316
|
end
|
|
303
317
|
|
|
@@ -386,6 +400,20 @@ module Shipeasy::Admin::Generated
|
|
|
386
400
|
@viewport = viewport
|
|
387
401
|
end
|
|
388
402
|
|
|
403
|
+
# Custom attribute writer method with validation
|
|
404
|
+
# @param [Object] dedup_key Value to be assigned
|
|
405
|
+
def dedup_key=(dedup_key)
|
|
406
|
+
if dedup_key.nil?
|
|
407
|
+
fail ArgumentError, 'dedup_key cannot be nil'
|
|
408
|
+
end
|
|
409
|
+
|
|
410
|
+
if dedup_key.to_s.length > 200
|
|
411
|
+
fail ArgumentError, 'invalid value for "dedup_key", the character length must be smaller than or equal to 200.'
|
|
412
|
+
end
|
|
413
|
+
|
|
414
|
+
@dedup_key = dedup_key
|
|
415
|
+
end
|
|
416
|
+
|
|
389
417
|
# Checks equality by comparing each attribute.
|
|
390
418
|
# @param [Object] Object to be compared
|
|
391
419
|
def ==(o)
|
|
@@ -405,6 +433,7 @@ module Shipeasy::Admin::Generated
|
|
|
405
433
|
user_agent == o.user_agent &&
|
|
406
434
|
viewport == o.viewport &&
|
|
407
435
|
context == o.context &&
|
|
436
|
+
dedup_key == o.dedup_key &&
|
|
408
437
|
notify == o.notify
|
|
409
438
|
end
|
|
410
439
|
|
|
@@ -417,7 +446,7 @@ module Shipeasy::Admin::Generated
|
|
|
417
446
|
# Calculates hash code according to all attributes.
|
|
418
447
|
# @return [Integer] Hash code
|
|
419
448
|
def hash
|
|
420
|
-
[title, steps_to_reproduce, actual_result, expected_result, priority, status, assignee_id, subscribers, tags, reporter_email, page_url, user_agent, viewport, context, notify].hash
|
|
449
|
+
[title, steps_to_reproduce, actual_result, expected_result, priority, status, assignee_id, subscribers, tags, reporter_email, page_url, user_agent, viewport, context, dedup_key, notify].hash
|
|
421
450
|
end
|
|
422
451
|
|
|
423
452
|
# Builds the object from hash
|
|
@@ -14,7 +14,7 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module Shipeasy::Admin::Generated
|
|
17
|
-
# Body for `POST /ops/feature-request`. The same feature-request fields as `CreateFeatureRequestRequest`, minus the `type` discriminator — the path already says what is being filed
|
|
17
|
+
# Body for `POST /ops/feature-request`. The same feature-request fields as `CreateFeatureRequestRequest`, minus the `type` discriminator — the path already says what is being filed, plus the public intake's own `dedupKey`.
|
|
18
18
|
class CreatePublicFeatureRequestRequest < ApiModelBase
|
|
19
19
|
# One-line feature-request title (no leading/trailing whitespace).
|
|
20
20
|
attr_accessor :title
|
|
@@ -52,6 +52,9 @@ module Shipeasy::Admin::Generated
|
|
|
52
52
|
# Arbitrary capture context, or `null`.
|
|
53
53
|
attr_accessor :context
|
|
54
54
|
|
|
55
|
+
# Caller-chosen dedupe identity for this request, stored on the ticket. Behaves exactly as on `POST /ops/bug`: a repeat carrying the same key refreshes the open ticket already holding it (fields overwritten, a \"re-triggered\" comment appended) and returns `deduped: true` with `updated: true`, instead of filing a second one.
|
|
56
|
+
attr_accessor :dedup_key
|
|
57
|
+
|
|
55
58
|
# Where this request's completion notification lands.
|
|
56
59
|
attr_accessor :notify
|
|
57
60
|
|
|
@@ -92,6 +95,7 @@ module Shipeasy::Admin::Generated
|
|
|
92
95
|
:'page_url' => :'pageUrl',
|
|
93
96
|
:'user_agent' => :'userAgent',
|
|
94
97
|
:'context' => :'context',
|
|
98
|
+
:'dedup_key' => :'dedupKey',
|
|
95
99
|
:'notify' => :'notify'
|
|
96
100
|
}
|
|
97
101
|
end
|
|
@@ -121,6 +125,7 @@ module Shipeasy::Admin::Generated
|
|
|
121
125
|
:'page_url' => :'String',
|
|
122
126
|
:'user_agent' => :'String',
|
|
123
127
|
:'context' => :'Hash<String, Object>',
|
|
128
|
+
:'dedup_key' => :'String',
|
|
124
129
|
:'notify' => :'NotificationTarget'
|
|
125
130
|
}
|
|
126
131
|
end
|
|
@@ -214,6 +219,10 @@ module Shipeasy::Admin::Generated
|
|
|
214
219
|
end
|
|
215
220
|
end
|
|
216
221
|
|
|
222
|
+
if attributes.key?(:'dedup_key')
|
|
223
|
+
self.dedup_key = attributes[:'dedup_key']
|
|
224
|
+
end
|
|
225
|
+
|
|
217
226
|
if attributes.key?(:'notify')
|
|
218
227
|
self.notify = attributes[:'notify']
|
|
219
228
|
end
|
|
@@ -253,6 +262,10 @@ module Shipeasy::Admin::Generated
|
|
|
253
262
|
invalid_properties.push('invalid value for "user_agent", the character length must be smaller than or equal to 500.')
|
|
254
263
|
end
|
|
255
264
|
|
|
265
|
+
if !@dedup_key.nil? && @dedup_key.to_s.length > 200
|
|
266
|
+
invalid_properties.push('invalid value for "dedup_key", the character length must be smaller than or equal to 200.')
|
|
267
|
+
end
|
|
268
|
+
|
|
256
269
|
invalid_properties
|
|
257
270
|
end
|
|
258
271
|
|
|
@@ -267,6 +280,7 @@ module Shipeasy::Admin::Generated
|
|
|
267
280
|
return false if !@description.nil? && @description.to_s.length > 8000
|
|
268
281
|
return false if !@use_case.nil? && @use_case.to_s.length > 8000
|
|
269
282
|
return false if !@user_agent.nil? && @user_agent.to_s.length > 500
|
|
283
|
+
return false if !@dedup_key.nil? && @dedup_key.to_s.length > 200
|
|
270
284
|
true
|
|
271
285
|
end
|
|
272
286
|
|
|
@@ -331,6 +345,20 @@ module Shipeasy::Admin::Generated
|
|
|
331
345
|
@user_agent = user_agent
|
|
332
346
|
end
|
|
333
347
|
|
|
348
|
+
# Custom attribute writer method with validation
|
|
349
|
+
# @param [Object] dedup_key Value to be assigned
|
|
350
|
+
def dedup_key=(dedup_key)
|
|
351
|
+
if dedup_key.nil?
|
|
352
|
+
fail ArgumentError, 'dedup_key cannot be nil'
|
|
353
|
+
end
|
|
354
|
+
|
|
355
|
+
if dedup_key.to_s.length > 200
|
|
356
|
+
fail ArgumentError, 'invalid value for "dedup_key", the character length must be smaller than or equal to 200.'
|
|
357
|
+
end
|
|
358
|
+
|
|
359
|
+
@dedup_key = dedup_key
|
|
360
|
+
end
|
|
361
|
+
|
|
334
362
|
# Checks equality by comparing each attribute.
|
|
335
363
|
# @param [Object] Object to be compared
|
|
336
364
|
def ==(o)
|
|
@@ -348,6 +376,7 @@ module Shipeasy::Admin::Generated
|
|
|
348
376
|
page_url == o.page_url &&
|
|
349
377
|
user_agent == o.user_agent &&
|
|
350
378
|
context == o.context &&
|
|
379
|
+
dedup_key == o.dedup_key &&
|
|
351
380
|
notify == o.notify
|
|
352
381
|
end
|
|
353
382
|
|
|
@@ -360,7 +389,7 @@ module Shipeasy::Admin::Generated
|
|
|
360
389
|
# Calculates hash code according to all attributes.
|
|
361
390
|
# @return [Integer] Hash code
|
|
362
391
|
def hash
|
|
363
|
-
[title, description, use_case, priority, status, assignee_id, subscribers, tags, reporter_email, page_url, user_agent, context, notify].hash
|
|
392
|
+
[title, description, use_case, priority, status, assignee_id, subscribers, tags, reporter_email, page_url, user_agent, context, dedup_key, notify].hash
|
|
364
393
|
end
|
|
365
394
|
|
|
366
395
|
# Builds the object from hash
|
|
@@ -14,7 +14,7 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module Shipeasy::Admin::Generated
|
|
17
|
-
# Response for the public ticket intake. A fresh file returns `201` with `id` + `number`; a repeat of a report already tracked by an open ticket returns `200` with that ticket's `number` and `deduped: true
|
|
17
|
+
# Response for the public ticket intake. A fresh file returns `201` with `id` + `number`; a repeat of a report already tracked by an open ticket returns `200` with that ticket's `number` and `deduped: true` — plus `updated: true` when a `dedupKey` re-triggered it and its fields were refreshed.
|
|
18
18
|
class CreatePublicTicketResponse < ApiModelBase
|
|
19
19
|
# The new item's id. Absent on a deduped response — nothing was created, so there is no new id to report.
|
|
20
20
|
attr_accessor :id
|
|
@@ -25,12 +25,16 @@ module Shipeasy::Admin::Generated
|
|
|
25
25
|
# `true` when an open ticket already tracked this report and nothing was filed (HTTP 200). Absent on a fresh file (HTTP 201).
|
|
26
26
|
attr_accessor :deduped
|
|
27
27
|
|
|
28
|
+
# `true` when the deduped ticket was REFRESHED from this payload and got a \"re-triggered\" comment — only ever set alongside `deduped` on a submission that carried a `dedupKey`. Absent when the existing ticket was returned untouched.
|
|
29
|
+
attr_accessor :updated
|
|
30
|
+
|
|
28
31
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
29
32
|
def self.attribute_map
|
|
30
33
|
{
|
|
31
34
|
:'id' => :'id',
|
|
32
35
|
:'number' => :'number',
|
|
33
|
-
:'deduped' => :'deduped'
|
|
36
|
+
:'deduped' => :'deduped',
|
|
37
|
+
:'updated' => :'updated'
|
|
34
38
|
}
|
|
35
39
|
end
|
|
36
40
|
|
|
@@ -49,7 +53,8 @@ module Shipeasy::Admin::Generated
|
|
|
49
53
|
{
|
|
50
54
|
:'id' => :'String',
|
|
51
55
|
:'number' => :'Integer',
|
|
52
|
-
:'deduped' => :'Boolean'
|
|
56
|
+
:'deduped' => :'Boolean',
|
|
57
|
+
:'updated' => :'Boolean'
|
|
53
58
|
}
|
|
54
59
|
end
|
|
55
60
|
|
|
@@ -88,6 +93,10 @@ module Shipeasy::Admin::Generated
|
|
|
88
93
|
if attributes.key?(:'deduped')
|
|
89
94
|
self.deduped = attributes[:'deduped']
|
|
90
95
|
end
|
|
96
|
+
|
|
97
|
+
if attributes.key?(:'updated')
|
|
98
|
+
self.updated = attributes[:'updated']
|
|
99
|
+
end
|
|
91
100
|
end
|
|
92
101
|
|
|
93
102
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -127,7 +136,8 @@ module Shipeasy::Admin::Generated
|
|
|
127
136
|
self.class == o.class &&
|
|
128
137
|
id == o.id &&
|
|
129
138
|
number == o.number &&
|
|
130
|
-
deduped == o.deduped
|
|
139
|
+
deduped == o.deduped &&
|
|
140
|
+
updated == o.updated
|
|
131
141
|
end
|
|
132
142
|
|
|
133
143
|
# @see the `==` method
|
|
@@ -139,7 +149,7 @@ module Shipeasy::Admin::Generated
|
|
|
139
149
|
# Calculates hash code according to all attributes.
|
|
140
150
|
# @return [Integer] Hash code
|
|
141
151
|
def hash
|
|
142
|
-
[id, number, deduped].hash
|
|
152
|
+
[id, number, deduped, updated].hash
|
|
143
153
|
end
|
|
144
154
|
|
|
145
155
|
# Builds the object from hash
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: shipeasy-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.
|
|
4
|
+
version: 4.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Shipeasy, Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-08-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rspec
|