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
This commit is contained in:
Joram Wilander
2017-09-28 12:08:16 -04:00
committed by Corey Hulen
parent 884cf494cb
commit f263d2b951
8 changed files with 68 additions and 3 deletions

View File

@@ -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")

View File

@@ -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)
}
}