@@ -4,27 +4,26 @@ module.exports = async ({github, context}) => {
4
4
const releaseLabel = process . env . RELEASE_LABEL ;
5
5
const maintainersTeam = process . env . MAINTAINERS_TEAM
6
6
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 + ) / ;
8
8
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 } ` ) ;
23
12
return await github . rest . issues . createComment ( {
24
13
owner : context . repo . owner ,
25
14
repo : context . repo . repo ,
26
- body : msg ,
15
+ body : ` ${ maintainersTeam } No related issues found. Please ensure ' ${ releaseLabel } ' label is applied before releasing.` ,
27
16
issue_number : prNumber ,
28
17
} ) ;
29
18
}
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
+ } )
30
29
}
0 commit comments