mirror of
				https://github.com/louislam/uptime-kuma.git
				synced 2025-11-04 13:46:13 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
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);
 | 
						|
    }
 | 
						|
 | 
						|
})();
 |