From 36added9dd4ff6b261cc7583d38a7715787b5a05 Mon Sep 17 00:00:00 2001 From: Andrei Tratsiakou Date: Wed, 31 Mar 2021 09:19:03 +0300 Subject: [PATCH] add list of assignees to task model Bug: multi assignee not displayed correctly in slack thread Fix: always send back a list of current assignees INSLY-1242 --- pkg/handler/clickup.go | 10 +++------- pkg/provider/clickup/model.go | 1 + 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/pkg/handler/clickup.go b/pkg/handler/clickup.go index 09bd784..5c43ef5 100644 --- a/pkg/handler/clickup.go +++ b/pkg/handler/clickup.go @@ -101,7 +101,7 @@ func (h *clickUpWebhooks) doAction(event *clickup.WebhookEvent, tenant string) e return errors.Wrap(err, "ClickUp webhook: slackChannel is not defined") } - changes = generateTaskChangesByEvent(event) + changes = generateTaskChangesByEvent(event, task) err = h.publisher.ClickUpTaskUpdated(changes, slackChannel) if err != nil { return errors.Wrap(err, "ClickUp webhook: can't trigger changes event") @@ -110,7 +110,7 @@ func (h *clickUpWebhooks) doAction(event *clickup.WebhookEvent, tenant string) e return nil } -func generateTaskChangesByEvent(event *clickup.WebhookEvent) model.TaskChanges { +func generateTaskChangesByEvent(event *clickup.WebhookEvent, task *clickup.Task) model.TaskChanges { changes := model.TaskChanges{ Type: string(event.Type), ClickupID: event.TaskID, @@ -129,11 +129,7 @@ func generateTaskChangesByEvent(event *clickup.WebhookEvent) model.TaskChanges { value = after["priority"] } case clickup.TaskAssigneeUpdated: - if after, ok := historyItem.After.(map[string]interface{}); ok { - value = after["username"] - } else { - value = nil - } + value = task.Assignees } changes.AddChange(historyItem.Field, value) changes.Username = historyItem.User.Username diff --git a/pkg/provider/clickup/model.go b/pkg/provider/clickup/model.go index a40af7b..d2eddea 100644 --- a/pkg/provider/clickup/model.go +++ b/pkg/provider/clickup/model.go @@ -35,6 +35,7 @@ type Task struct { Archived bool `json:"archived"` TeamID string `json:"team_id"` CustomFields []CustomField `json:"custom_fields,omitempty"` + Assignees []User `json:"assignees"` List struct { ID string `json:"id"`