Skip to content

Commit 6498432

Browse files
authored
Merge pull request #128 from opsgenie/fix-incident-responders
fix incident responder api call if the type is user
2 parents d0f3673 + 4b4ad50 commit 6498432

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

incident/incident_test.go

+4-6
Original file line numberDiff line numberDiff line change
@@ -475,13 +475,12 @@ func TestResponders_Validate(t *testing.T) {
475475
{Type: User},
476476
}
477477
err = validateResponders(Responders)
478-
assert.Equal(t, err.Error(), errors.New("For responder either name"+
479-
" or id must be provided.").Error())
478+
assert.Equal(t, err.Error(), errors.New("For responder type user either username or id must be provided.").Error())
480479

481480
Responders = []Responder{
482481
{
483-
Type: User,
484-
Name: "cem",
482+
Type: User,
483+
Username: "cem@example.com",
485484
},
486485
}
487486
err = validateResponders(Responders)
@@ -492,8 +491,7 @@ func TestResponders_Validate(t *testing.T) {
492491
Type: Team},
493492
}
494493
err = validateResponders(Responders)
495-
assert.Equal(t, err.Error(), errors.New("For responder either name"+
496-
" or id must be provided.").Error())
494+
assert.Equal(t, err.Error(), errors.New("For responder type team either team name or id must be provided.").Error())
497495

498496
Responders = []Responder{
499497
{

incident/request.go

+6-2
Original file line numberDiff line numberDiff line change
@@ -806,6 +806,7 @@ type Responder struct {
806806
Type ResponderType `json:"type,omitempty"`
807807
Name string `json:"name,omitempty"`
808808
Id string `json:"id,omitempty"`
809+
Username string `json:"username,omitempty"`
809810
}
810811

811812
func validateResponders(responders []Responder) error {
@@ -816,8 +817,11 @@ func validateResponders(responders []Responder) error {
816817
if !(responder.Type == User || responder.Type == Team) {
817818
return errors.New("Responder type should be one of these: 'User', 'Team'.")
818819
}
819-
if responder.Name == "" && responder.Id == "" {
820-
return errors.New("For responder either name or id must be provided.")
820+
if responder.Type == User && responder.Username == "" && responder.Id == "" {
821+
return errors.New("For responder type user either username or id must be provided.")
822+
}
823+
if responder.Type == Team && responder.Name == "" && responder.Id == "" {
824+
return errors.New("For responder type team either team name or id must be provided.")
821825
}
822826
}
823827
return nil

0 commit comments

Comments
 (0)