diff options
author | Joram Wilander <jwawilander@gmail.com> | 2017-09-28 12:08:16 -0400 |
---|---|---|
committer | Corey Hulen <corey@hulen.com> | 2017-09-28 09:08:16 -0700 |
commit | f263d2b9510fb557fe075dee5097cb32e2b1e5e2 (patch) | |
tree | 5e7ca4a3b5e44a685b1e1f8761983dd57441a751 /app | |
parent | 884cf494cbef36786cb035b14bbbccbb19c122c3 (diff) | |
download | chat-f263d2b9510fb557fe075dee5097cb32e2b1e5e2.tar.gz chat-f263d2b9510fb557fe075dee5097cb32e2b1e5e2.tar.bz2 chat-f263d2b9510fb557fe075dee5097cb32e2b1e5e2.zip |
PLT-7684 Add support to outgoing webhooks and slash commands to set post type and props (#7531)
* Add support to outgoing webhooks and slash commands to set post type and props
* Fix nil access
Diffstat (limited to 'app')
-rw-r--r-- | app/command.go | 2 | ||||
-rw-r--r-- | app/webhook.go | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/app/command.go b/app/command.go index 0763e24c7..1eaf304ad 100644 --- a/app/command.go +++ b/app/command.go @@ -239,6 +239,8 @@ func (a *App) HandleCommandResponse(command *model.Command, args *model.CommandA post.RootId = args.RootId post.ParentId = args.ParentId post.UserId = args.UserId + post.Type = response.Type + post.Props = response.Props if !builtIn { post.AddProp("from_webhook", "true") diff --git a/app/webhook.go b/app/webhook.go index 380839cdc..9531cba10 100644 --- a/app/webhook.go +++ b/app/webhook.go @@ -105,10 +105,10 @@ func (a *App) TriggerWebhook(payload *model.OutgoingWebhookPayload, hook *model. l4g.Error(utils.T("api.post.handle_webhook_events_and_forget.event_post.error"), err.Error()) } else { defer CloseBody(resp) - respProps := model.MapFromJson(resp.Body) + webhookResp := model.OutgoingWebhookResponseFromJson(resp.Body) - if text, ok := respProps["text"]; ok { - if _, err := a.CreateWebhookPost(hook.CreatorId, channel, text, respProps["username"], respProps["icon_url"], post.Props, post.Type); err != nil { + if webhookResp != nil && webhookResp.Text != nil { + if _, err := a.CreateWebhookPost(hook.CreatorId, channel, *webhookResp.Text, webhookResp.Username, webhookResp.IconURL, webhookResp.Props, webhookResp.Type); err != nil { l4g.Error(utils.T("api.post.handle_webhook_events_and_forget.create_post.error"), err) } } |