File tree Expand file tree Collapse file tree 1 file changed +17
-0
lines changed
packages/app/server/routes Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -256,6 +256,10 @@ export default eventHandler(async (event) => {
256256 | undefined ;
257257 let relatedIssueNumber : number | undefined ;
258258 const matchIssueNumber = / ( f i x | c l o s e | r e s o l v e ) \s * ( \d + ) / gi;
259+ const fullAddressMatchIssueNumber = new RegExp (
260+ `(fix|close|resolve)\\s*https://github.com/${ workflowData . owner } /${ workflowData . repo } /issues/(\\d+)` ,
261+ "gi" ,
262+ ) ;
259263
260264 await installation . paginate (
261265 "GET /repos/{owner}/{repo}/issues/{issue_number}/comments" ,
@@ -273,13 +277,26 @@ export default eventHandler(async (event) => {
273277 } else {
274278 const body = c . body || "" ;
275279 let match ;
280+ matchIssueNumber . lastIndex = 0 ;
276281 while ( ( match = matchIssueNumber . exec ( body ) ) !== null ) {
277282 const issueNumber = Number ( match [ 2 ] ) ;
278283 if ( ! isNaN ( issueNumber ) ) {
279284 relatedIssueNumber = issueNumber ;
280285 break ;
281286 }
282287 }
288+ if ( ! relatedIssueNumber ) {
289+ fullAddressMatchIssueNumber . lastIndex = 0 ;
290+ while (
291+ ( match = fullAddressMatchIssueNumber . exec ( body ) ) !== null
292+ ) {
293+ const issueNumber = Number ( match [ 2 ] ) ;
294+ if ( ! isNaN ( issueNumber ) ) {
295+ relatedIssueNumber = issueNumber ;
296+ break ;
297+ }
298+ }
299+ }
283300 }
284301 if ( prevComment ) {
285302 if ( ! syncCommentWithIssue ) {
You can’t perform that action at this time.
0 commit comments