(p *api.IssuesPayload)
| 151 | } |
| 152 | |
| 153 | func getDingtalkIssuesPayload(p *api.IssuesPayload) *DingtalkPayload { |
| 154 | issueName := fmt.Sprintf("#%d %s", p.Index, p.Issue.Title) |
| 155 | issueURL := fmt.Sprintf("%s/issues/%d", p.Repository.HTMLURL, p.Index) |
| 156 | |
| 157 | actionCard := NewDingtalkActionCard("View Issue", issueURL) |
| 158 | actionCard.Text += "# Issue Event " + strings.Title(string(p.Action)) |
| 159 | actionCard.Text += "\n- Issue: **" + MarkdownLinkFormatter(issueURL, issueName) + "**" |
| 160 | |
| 161 | switch p.Action { |
| 162 | case api.HOOK_ISSUE_ASSIGNED: |
| 163 | actionCard.Text += "\n- New Assignee: **" + p.Issue.Assignee.UserName + "**" |
| 164 | case api.HOOK_ISSUE_MILESTONED: |
| 165 | actionCard.Text += "\n- New Milestone: **" + p.Issue.Milestone.Title + "**" |
| 166 | case api.HOOK_ISSUE_LABEL_UPDATED: |
| 167 | if len(p.Issue.Labels) > 0 { |
| 168 | labels := make([]string, len(p.Issue.Labels)) |
| 169 | for i, label := range p.Issue.Labels { |
| 170 | labels[i] = "**" + label.Name + "**" |
| 171 | } |
| 172 | actionCard.Text += "\n- Labels: " + strings.Join(labels, ",") |
| 173 | } else { |
| 174 | actionCard.Text += "\n- Labels: **empty**" |
| 175 | } |
| 176 | } |
| 177 | |
| 178 | if p.Issue.Body != "" { |
| 179 | actionCard.Text += "\n> " + p.Issue.Body |
| 180 | } |
| 181 | |
| 182 | return &DingtalkPayload{ |
| 183 | MsgType: "actionCard", |
| 184 | ActionCard: actionCard, |
| 185 | } |
| 186 | } |
| 187 | |
| 188 | func getDingtalkIssueCommentPayload(p *api.IssueCommentPayload) *DingtalkPayload { |
| 189 | issueName := fmt.Sprintf("#%d %s", p.Issue.Index, p.Issue.Title) |
no test coverage detected