Skip to content

Commit a482578

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 4e0eafa of spec repo
1 parent 0d69104 commit a482578

3 files changed

Lines changed: 252 additions & 14 deletions

File tree

.generator/schemas/v2/openapi.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37090,6 +37090,8 @@ components:
3709037090
type: string
3709137091
platform:
3709237092
$ref: "#/components/schemas/IssuePlatform"
37093+
regression:
37094+
$ref: "#/components/schemas/IssueRegression"
3709337095
service:
3709437096
description: Service name.
3709537097
example: "email-api-py"
@@ -37360,6 +37362,27 @@ components:
3736037362
- id
3736137363
- type
3736237364
type: object
37365+
IssueRegression:
37366+
description: Regression information for an issue that was previously resolved and then reopened.
37367+
properties:
37368+
regressed_at:
37369+
description: Timestamp when the issue was reopened (regressed).
37370+
example: "2024-01-03T08:00:00Z"
37371+
format: date-time
37372+
type: string
37373+
regressed_at_version:
37374+
description: Application version where the regression was observed.
37375+
example: "v2.5.2"
37376+
type: string
37377+
resolved_at:
37378+
description: Timestamp when the issue was resolved before the regression.
37379+
example: "2024-01-01T10:00:00Z"
37380+
format: date-time
37381+
type: string
37382+
required:
37383+
- resolved_at
37384+
- regressed_at
37385+
type: object
3736337386
IssueRelationships:
3736437387
description: Relationship between the issue and an assignee, case and/or teams.
3736537388
properties:

api/datadogV2/model_issue_attributes.go

Lines changed: 52 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ type IssueAttributes struct {
3232
LastSeenVersion *string `json:"last_seen_version,omitempty"`
3333
// Platform associated with the issue.
3434
Platform *IssuePlatform `json:"platform,omitempty"`
35+
// Regression information for an issue that was previously resolved and then reopened.
36+
Regression *IssueRegression `json:"regression,omitempty"`
3537
// Service name.
3638
Service *string `json:"service,omitempty"`
3739
// State of the issue
@@ -366,6 +368,34 @@ func (o *IssueAttributes) SetPlatform(v IssuePlatform) {
366368
o.Platform = &v
367369
}
368370

371+
// GetRegression returns the Regression field value if set, zero value otherwise.
372+
func (o *IssueAttributes) GetRegression() IssueRegression {
373+
if o == nil || o.Regression == nil {
374+
var ret IssueRegression
375+
return ret
376+
}
377+
return *o.Regression
378+
}
379+
380+
// GetRegressionOk returns a tuple with the Regression field value if set, nil otherwise
381+
// and a boolean to check if the value has been set.
382+
func (o *IssueAttributes) GetRegressionOk() (*IssueRegression, bool) {
383+
if o == nil || o.Regression == nil {
384+
return nil, false
385+
}
386+
return o.Regression, true
387+
}
388+
389+
// HasRegression returns a boolean if a field has been set.
390+
func (o *IssueAttributes) HasRegression() bool {
391+
return o != nil && o.Regression != nil
392+
}
393+
394+
// SetRegression gets a reference to the given IssueRegression and assigns it to the Regression field.
395+
func (o *IssueAttributes) SetRegression(v IssueRegression) {
396+
o.Regression = &v
397+
}
398+
369399
// GetService returns the Service field value if set, zero value otherwise.
370400
func (o *IssueAttributes) GetService() string {
371401
if o == nil || o.Service == nil {
@@ -461,6 +491,9 @@ func (o IssueAttributes) MarshalJSON() ([]byte, error) {
461491
if o.Platform != nil {
462492
toSerialize["platform"] = o.Platform
463493
}
494+
if o.Regression != nil {
495+
toSerialize["regression"] = o.Regression
496+
}
464497
if o.Service != nil {
465498
toSerialize["service"] = o.Service
466499
}
@@ -477,26 +510,27 @@ func (o IssueAttributes) MarshalJSON() ([]byte, error) {
477510
// UnmarshalJSON deserializes the given payload.
478511
func (o *IssueAttributes) UnmarshalJSON(bytes []byte) (err error) {
479512
all := struct {
480-
ErrorMessage *string `json:"error_message,omitempty"`
481-
ErrorType *string `json:"error_type,omitempty"`
482-
FilePath *string `json:"file_path,omitempty"`
483-
FirstSeen *int64 `json:"first_seen,omitempty"`
484-
FirstSeenVersion *string `json:"first_seen_version,omitempty"`
485-
FunctionName *string `json:"function_name,omitempty"`
486-
IsCrash *bool `json:"is_crash,omitempty"`
487-
Languages []IssueLanguage `json:"languages,omitempty"`
488-
LastSeen *int64 `json:"last_seen,omitempty"`
489-
LastSeenVersion *string `json:"last_seen_version,omitempty"`
490-
Platform *IssuePlatform `json:"platform,omitempty"`
491-
Service *string `json:"service,omitempty"`
492-
State *IssueState `json:"state,omitempty"`
513+
ErrorMessage *string `json:"error_message,omitempty"`
514+
ErrorType *string `json:"error_type,omitempty"`
515+
FilePath *string `json:"file_path,omitempty"`
516+
FirstSeen *int64 `json:"first_seen,omitempty"`
517+
FirstSeenVersion *string `json:"first_seen_version,omitempty"`
518+
FunctionName *string `json:"function_name,omitempty"`
519+
IsCrash *bool `json:"is_crash,omitempty"`
520+
Languages []IssueLanguage `json:"languages,omitempty"`
521+
LastSeen *int64 `json:"last_seen,omitempty"`
522+
LastSeenVersion *string `json:"last_seen_version,omitempty"`
523+
Platform *IssuePlatform `json:"platform,omitempty"`
524+
Regression *IssueRegression `json:"regression,omitempty"`
525+
Service *string `json:"service,omitempty"`
526+
State *IssueState `json:"state,omitempty"`
493527
}{}
494528
if err = datadog.Unmarshal(bytes, &all); err != nil {
495529
return datadog.Unmarshal(bytes, &o.UnparsedObject)
496530
}
497531
additionalProperties := make(map[string]interface{})
498532
if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil {
499-
datadog.DeleteKeys(additionalProperties, &[]string{"error_message", "error_type", "file_path", "first_seen", "first_seen_version", "function_name", "is_crash", "languages", "last_seen", "last_seen_version", "platform", "service", "state"})
533+
datadog.DeleteKeys(additionalProperties, &[]string{"error_message", "error_type", "file_path", "first_seen", "first_seen_version", "function_name", "is_crash", "languages", "last_seen", "last_seen_version", "platform", "regression", "service", "state"})
500534
} else {
501535
return err
502536
}
@@ -517,6 +551,10 @@ func (o *IssueAttributes) UnmarshalJSON(bytes []byte) (err error) {
517551
} else {
518552
o.Platform = all.Platform
519553
}
554+
if all.Regression != nil && all.Regression.UnparsedObject != nil && o.UnparsedObject == nil {
555+
hasInvalidField = true
556+
}
557+
o.Regression = all.Regression
520558
o.Service = all.Service
521559
if all.State != nil && !all.State.IsValid() {
522560
hasInvalidField = true
Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
// Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
2+
// This product includes software developed at Datadog (https://www.datadoghq.com/).
3+
// Copyright 2019-Present Datadog, Inc.
4+
5+
package datadogV2
6+
7+
import (
8+
"fmt"
9+
"time"
10+
11+
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
12+
)
13+
14+
// IssueRegression Regression information for an issue that was previously resolved and then reopened.
15+
type IssueRegression struct {
16+
// Timestamp when the issue was reopened (regressed).
17+
RegressedAt time.Time `json:"regressed_at"`
18+
// Application version where the regression was observed.
19+
RegressedAtVersion *string `json:"regressed_at_version,omitempty"`
20+
// Timestamp when the issue was resolved before the regression.
21+
ResolvedAt time.Time `json:"resolved_at"`
22+
// UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct
23+
UnparsedObject map[string]interface{} `json:"-"`
24+
AdditionalProperties map[string]interface{} `json:"-"`
25+
}
26+
27+
// NewIssueRegression instantiates a new IssueRegression object.
28+
// This constructor will assign default values to properties that have it defined,
29+
// and makes sure properties required by API are set, but the set of arguments
30+
// will change when the set of required properties is changed.
31+
func NewIssueRegression(regressedAt time.Time, resolvedAt time.Time) *IssueRegression {
32+
this := IssueRegression{}
33+
this.RegressedAt = regressedAt
34+
this.ResolvedAt = resolvedAt
35+
return &this
36+
}
37+
38+
// NewIssueRegressionWithDefaults instantiates a new IssueRegression object.
39+
// This constructor will only assign default values to properties that have it defined,
40+
// but it doesn't guarantee that properties required by API are set.
41+
func NewIssueRegressionWithDefaults() *IssueRegression {
42+
this := IssueRegression{}
43+
return &this
44+
}
45+
46+
// GetRegressedAt returns the RegressedAt field value.
47+
func (o *IssueRegression) GetRegressedAt() time.Time {
48+
if o == nil {
49+
var ret time.Time
50+
return ret
51+
}
52+
return o.RegressedAt
53+
}
54+
55+
// GetRegressedAtOk returns a tuple with the RegressedAt field value
56+
// and a boolean to check if the value has been set.
57+
func (o *IssueRegression) GetRegressedAtOk() (*time.Time, bool) {
58+
if o == nil {
59+
return nil, false
60+
}
61+
return &o.RegressedAt, true
62+
}
63+
64+
// SetRegressedAt sets field value.
65+
func (o *IssueRegression) SetRegressedAt(v time.Time) {
66+
o.RegressedAt = v
67+
}
68+
69+
// GetRegressedAtVersion returns the RegressedAtVersion field value if set, zero value otherwise.
70+
func (o *IssueRegression) GetRegressedAtVersion() string {
71+
if o == nil || o.RegressedAtVersion == nil {
72+
var ret string
73+
return ret
74+
}
75+
return *o.RegressedAtVersion
76+
}
77+
78+
// GetRegressedAtVersionOk returns a tuple with the RegressedAtVersion field value if set, nil otherwise
79+
// and a boolean to check if the value has been set.
80+
func (o *IssueRegression) GetRegressedAtVersionOk() (*string, bool) {
81+
if o == nil || o.RegressedAtVersion == nil {
82+
return nil, false
83+
}
84+
return o.RegressedAtVersion, true
85+
}
86+
87+
// HasRegressedAtVersion returns a boolean if a field has been set.
88+
func (o *IssueRegression) HasRegressedAtVersion() bool {
89+
return o != nil && o.RegressedAtVersion != nil
90+
}
91+
92+
// SetRegressedAtVersion gets a reference to the given string and assigns it to the RegressedAtVersion field.
93+
func (o *IssueRegression) SetRegressedAtVersion(v string) {
94+
o.RegressedAtVersion = &v
95+
}
96+
97+
// GetResolvedAt returns the ResolvedAt field value.
98+
func (o *IssueRegression) GetResolvedAt() time.Time {
99+
if o == nil {
100+
var ret time.Time
101+
return ret
102+
}
103+
return o.ResolvedAt
104+
}
105+
106+
// GetResolvedAtOk returns a tuple with the ResolvedAt field value
107+
// and a boolean to check if the value has been set.
108+
func (o *IssueRegression) GetResolvedAtOk() (*time.Time, bool) {
109+
if o == nil {
110+
return nil, false
111+
}
112+
return &o.ResolvedAt, true
113+
}
114+
115+
// SetResolvedAt sets field value.
116+
func (o *IssueRegression) SetResolvedAt(v time.Time) {
117+
o.ResolvedAt = v
118+
}
119+
120+
// MarshalJSON serializes the struct using spec logic.
121+
func (o IssueRegression) MarshalJSON() ([]byte, error) {
122+
toSerialize := map[string]interface{}{}
123+
if o.UnparsedObject != nil {
124+
return datadog.Marshal(o.UnparsedObject)
125+
}
126+
if o.RegressedAt.Nanosecond() == 0 {
127+
toSerialize["regressed_at"] = o.RegressedAt.Format("2006-01-02T15:04:05Z07:00")
128+
} else {
129+
toSerialize["regressed_at"] = o.RegressedAt.Format("2006-01-02T15:04:05.000Z07:00")
130+
}
131+
if o.RegressedAtVersion != nil {
132+
toSerialize["regressed_at_version"] = o.RegressedAtVersion
133+
}
134+
if o.ResolvedAt.Nanosecond() == 0 {
135+
toSerialize["resolved_at"] = o.ResolvedAt.Format("2006-01-02T15:04:05Z07:00")
136+
} else {
137+
toSerialize["resolved_at"] = o.ResolvedAt.Format("2006-01-02T15:04:05.000Z07:00")
138+
}
139+
140+
for key, value := range o.AdditionalProperties {
141+
toSerialize[key] = value
142+
}
143+
return datadog.Marshal(toSerialize)
144+
}
145+
146+
// UnmarshalJSON deserializes the given payload.
147+
func (o *IssueRegression) UnmarshalJSON(bytes []byte) (err error) {
148+
all := struct {
149+
RegressedAt *time.Time `json:"regressed_at"`
150+
RegressedAtVersion *string `json:"regressed_at_version,omitempty"`
151+
ResolvedAt *time.Time `json:"resolved_at"`
152+
}{}
153+
if err = datadog.Unmarshal(bytes, &all); err != nil {
154+
return datadog.Unmarshal(bytes, &o.UnparsedObject)
155+
}
156+
if all.RegressedAt == nil {
157+
return fmt.Errorf("required field regressed_at missing")
158+
}
159+
if all.ResolvedAt == nil {
160+
return fmt.Errorf("required field resolved_at missing")
161+
}
162+
additionalProperties := make(map[string]interface{})
163+
if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil {
164+
datadog.DeleteKeys(additionalProperties, &[]string{"regressed_at", "regressed_at_version", "resolved_at"})
165+
} else {
166+
return err
167+
}
168+
o.RegressedAt = *all.RegressedAt
169+
o.RegressedAtVersion = all.RegressedAtVersion
170+
o.ResolvedAt = *all.ResolvedAt
171+
172+
if len(additionalProperties) > 0 {
173+
o.AdditionalProperties = additionalProperties
174+
}
175+
176+
return nil
177+
}

0 commit comments

Comments
 (0)