You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.6 KiB
58 lines
1.6 KiB
3 years ago
|
const github = require("@actions/github");
|
||
|
|
||
|
(async () => {
|
||
|
try {
|
||
|
const token = process.argv[2];
|
||
|
const issueNumber = process.argv[3];
|
||
|
const username = process.argv[4];
|
||
|
|
||
|
const client = github.getOctokit(token).rest;
|
||
|
|
||
|
const issue = {
|
||
|
owner: "louislam",
|
||
|
repo: "uptime-kuma",
|
||
|
number: issueNumber,
|
||
|
};
|
||
|
|
||
|
const labels = (
|
||
|
await client.issues.listLabelsOnIssue({
|
||
|
owner: issue.owner,
|
||
|
repo: issue.repo,
|
||
|
issue_number: issue.number
|
||
|
})
|
||
|
).data.map(({ name }) => name);
|
||
|
|
||
|
if (labels.length === 0) {
|
||
|
console.log("Bad format here");
|
||
|
|
||
|
await client.issues.addLabels({
|
||
|
owner: issue.owner,
|
||
|
repo: issue.repo,
|
||
|
issue_number: issue.number,
|
||
|
labels: ["invalid-format"]
|
||
|
});
|
||
|
|
||
|
// Add the issue closing comment
|
||
|
await client.issues.createComment({
|
||
|
owner: issue.owner,
|
||
|
repo: issue.repo,
|
||
|
issue_number: issue.number,
|
||
|
body: `@${username}: Hello! :wave:\n\nThis issue is being automatically closed because it does not follow the issue template. Please DO NOT open a blank issue`
|
||
|
});
|
||
|
|
||
|
// Close the issue
|
||
|
await client.issues.update({
|
||
|
owner: issue.owner,
|
||
|
repo: issue.repo,
|
||
|
issue_number: issue.number,
|
||
|
state: "closed"
|
||
|
});
|
||
|
} else {
|
||
|
console.log("Pass!");
|
||
|
}
|
||
|
} catch (e) {
|
||
|
console.log(e);
|
||
|
}
|
||
|
|
||
|
})();
|