2023-11-21 16:15:51 +00:00
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" ,
2023-11-21 16:52:54 +00:00
repo : "dockge" ,
2023-11-21 16:15:51 +00:00
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 \n This 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 ) ;
}
} ) ( ) ;