MCPcopy Create free account
hub / github.com/gogs/gogs / getDingtalkIssuesPayload

Function getDingtalkIssuesPayload

internal/database/webhook_dingtalk.go:153–186  ·  view source on GitHub ↗
(p *api.IssuesPayload)

Source from the content-addressed store, hash-verified

151}
152
153func 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
188func getDingtalkIssueCommentPayload(p *api.IssueCommentPayload) *DingtalkPayload {
189 issueName := fmt.Sprintf("#%d %s", p.Issue.Index, p.Issue.Title)

Callers 1

GetDingtalkPayloadFunction · 0.85

Calls 4

NewDingtalkActionCardFunction · 0.85
stringFunction · 0.85
MarkdownLinkFormatterFunction · 0.85
TitleMethod · 0.80

Tested by

no test coverage detected