forked from jun3453/slack-pr-open-notification-action
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSlackPrNotification.ts
More file actions
62 lines (59 loc) · 2.34 KB
/
SlackPrNotification.ts
File metadata and controls
62 lines (59 loc) · 2.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import axios from 'axios';
const url: string = process.env.SLACK_WEBHOOK_URL;
const prNum: string = process.env.PULL_REQUEST_NUMBER;
const prTitle: string = process.env.PULL_REQUEST_TITLE;
const prUrl: string = process.env.PULL_REQUEST_URL;
const prBody: string = process.env.PULL_REQUEST_BODY || "No description provided.";
const authorName: string = process.env.PULL_REQUEST_AUTHOR_NAME;
const authorIconUrl: string = process.env.PULL_REQUEST_AUTHOR_ICON_URL;
const compareBranchOwner: string = process.env.PULL_REQUEST_COMPARE_BRANCH_OWNER;
const compareBranchName: string = process.env.PULL_REQUEST_COMPARE_BRANCH_NAME;
const baseBranchOwner: string = process.env.PULL_REQUEST_BASE_BRANCH_OWNER;
const baseBranchName: string = process.env.PULL_REQUEST_BASE_BRANCH_NAME;
const sendHereMention: string = process.env.IS_SEND_HERE_MENTION.toLowerCase() === "true" ? "<!here>\n" : "";
const prFromFork: string = process.env.IS_PR_FROM_FORK;
const compareBranchText: string = prFromFork === "true" ? "*Compare branch*\n" + compareBranchOwner + ":" + compareBranchName : "*Compare branch*\n" + compareBranchName;
const baseBranchText: string = prFromFork === "true" ? "*Base branch*\n" + baseBranchOwner + ":" + baseBranchName : "*Base branch*\n" + baseBranchName;
const message: Object = {
blocks: [
{
type: "section",
text: {
type: "mrkdwn",
text: sendHereMention + "*<" + prUrl + "|" + prTitle + ">*",
},
accessory: {
type: "image",
image_url: authorIconUrl,
alt_text: "github icon",
},
fields: [
{
type: "mrkdwn",
text: "*Author*\n" + authorName,
},
{
type: "mrkdwn",
text: baseBranchText,
},
{
type: "mrkdwn",
text: "*Pull request number*\n#" + prNum,
},
{
type: "mrkdwn",
text: compareBranchText,
},
],
},
{
type: "section",
text: {
type: "plain_text",
text: prBody,
emoji: true,
},
},
]
};
axios.post(url, message);