diff --git a/resources.go b/resources.go index cc1ddd3..763ac76 100644 --- a/resources.go +++ b/resources.go @@ -105,6 +105,10 @@ func (p *OutParams) UnmarshalJSON(b []byte) (err error) { p.Description = github.String(getStringOrStringFromFile(p.RawDescription)) } + if p.RawAutoMerge != nil { + p.AutoMerge = github.Bool(getBool(p.RawAutoMerge)) + } + var payload map[string]interface{} json.Unmarshal(p.RawPayload, &payload) @@ -140,6 +144,19 @@ func NewOutRequest() OutRequest { return OutRequest{} } +func getBool(field json.RawMessage) bool { + var rawValue interface{} + if err := json.Unmarshal(field, &rawValue); err == nil { + switch rawValue := rawValue.(type) { + case bool: + return rawValue + default: + panic("Could not read bool out of Params field") + } + } + return true +} + func getStringOrStringFromFile(field json.RawMessage) string { var rawValue interface{} if err := json.Unmarshal(field, &rawValue); err == nil {