diff --git a/server/plugin.go b/server/plugin.go index 7900b254d..fcdc1c9c6 100644 --- a/server/plugin.go +++ b/server/plugin.go @@ -257,6 +257,11 @@ func (p *Plugin) GetToDo(ctx context.Context, username string, githubClient *git return "", err } + yourAssignments, _, err := githubClient.Search.Issues(ctx, getYourAssigneeSearchQuery(username, p.GitHubOrg), &github.SearchOptions{}) + if err != nil { + return "", err + } + text := "##### Unread Messages\n" notificationCount := 0 @@ -318,6 +323,18 @@ func (p *Plugin) GetToDo(ctx context.Context, username string, githubClient *git } } + text += "##### Your Assigments\n" + + if yourAssignments.GetTotal() == 0 { + text += "You have don't have any assignments.\n" + } else { + text += fmt.Sprintf("You have %v assignments:\n", yourAssignments.GetTotal()) + + for _, assign := range yourAssignments.Issues { + text += fmt.Sprintf("* %v\n", assign.GetHTMLURL()) + } + } + return text, nil } diff --git a/server/utils.go b/server/utils.go index 94ae3d1b5..6eb2ce5f6 100644 --- a/server/utils.go +++ b/server/utils.go @@ -25,6 +25,10 @@ func getYourPrsSearchQuery(username, org string) string { return bulidSearchQuery("is:pr is:open author:%v archived:false %v", username, org) } +func getYourAssigneeSearchQuery(username, org string) string { + return bulidSearchQuery("is:open assignee:%v archived:false %v", username, org) +} + func bulidSearchQuery(query, username, org string) string { orgField := "" if len(org) != 0 {