@@ -4,27 +4,26 @@ module.exports = async ({github, context}) => {
44 const releaseLabel = process . env . RELEASE_LABEL ;
55 const maintainersTeam = process . env . MAINTAINERS_TEAM
66
7- const RELATED_ISSUE_REGEX = / I s s u e n u m b e r : . + ( \d ) /
7+ const RELATED_ISSUE_REGEX = / I s s u e n u m b e r : [ ^ \d \r \n ] + (?< issue > \d + ) / ;
88
9- const matcher = new RegExp ( RELATED_ISSUE_REGEX )
10- const isMatch = matcher . exec ( prBody )
11- if ( isMatch != null ) {
12- let relatedIssueNumber = isMatch [ 1 ]
13- console . info ( `Auto-labeling related issue ${ relatedIssueNumber } for release` )
14-
15- return await github . rest . issues . addLabels ( {
16- issue_number : relatedIssueNumber ,
17- owner : context . repo . owner ,
18- repo : context . repo . repo ,
19- labels : [ releaseLabel ]
20- } )
21- } else {
22- let msg = `${ maintainersTeam } No related issues found. Please ensure '${ releaseLabel } ' label is applied before releasing.` ;
9+ const isMatch = RELATED_ISSUE_REGEX . exec ( body ) ;
10+ if ( ! isMatch ) {
11+ core . setFailed ( `Unable to find related issue for PR number ${ prNumber } .\n\n Body details: ${ prBody } ` ) ;
2312 return await github . rest . issues . createComment ( {
2413 owner : context . repo . owner ,
2514 repo : context . repo . repo ,
26- body : msg ,
15+ body : ` ${ maintainersTeam } No related issues found. Please ensure ' ${ releaseLabel } ' label is applied before releasing.` ,
2716 issue_number : prNumber ,
2817 } ) ;
2918 }
19+
20+ const { groups : { relatedIssueNumber} } = isMatch
21+
22+ core . info ( `Auto-labeling related issue ${ relatedIssueNumber } for release` )
23+ return await github . rest . issues . addLabels ( {
24+ issue_number : relatedIssueNumber ,
25+ owner : context . repo . owner ,
26+ repo : context . repo . repo ,
27+ labels : [ releaseLabel ]
28+ } )
3029}
0 commit comments