Skip to content

Commit 94fd458

Browse files
committed
feat: match more case
1 parent b8a4078 commit 94fd458

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

packages/app/server/routes/publish.post.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,10 @@ export default eventHandler(async (event) => {
256256
| undefined;
257257
let relatedIssueNumber: number | undefined;
258258
const matchIssueNumber = /(fix|close|resolve)\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) {

0 commit comments

Comments
 (0)