-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.js
57 lines (48 loc) · 1.57 KB
/
main.js
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
const _ = require("lodash"),
core = require("@actions/core"),
github = require("@actions/github");
const utils = require("./utils");
async function run() {
try {
const token = core.getInput("github-token", { required: true }),
label = core.getInput("label"),
numQuestions = parseInt(core.getInput("num-questions"), 10),
numCategories = parseInt(core.getInput("num-categories"), 10),
issueNumberInput = parseInt(core.getInput("issue-number"), 10),
context = github.context,
owner = context.repo.owner,
repo = context.repo.repo,
client = new github.GitHub(token);
let issue = _.get(context, "payload.issue"),
issue_number = _.get(context, "issue.number");
if ((!issue || !issue_number) && !isNaN(issueNumberInput)) {
issue_number = issueNumberInput;
console.log(issue_number);
const issueResponse = await client.issues.get({
issue_number,
repo,
owner,
});
issue = issueResponse.data;
} else {
core.setFailed("No issue or issue number present");
}
console.log(issue);
if (issue.labels.find((l) => l.name == label)) {
const body = utils.generateQuestions(numCategories, numQuestions);
core.info(body);
const commentResponse = await client.issues.createComment({
issue_number,
repo,
owner,
body,
});
core.debug(JSON.stringify(commentResponse.data));
} else {
core.setFailed("Label not present: " + label);
}
} catch (error) {
core.setFailed(error.message);
}
}
run();