fix: strip markdown links when checking PR template checkboxes (#66494)

This commit is contained in:
majestic-owl448
2026-03-16 15:38:22 +01:00
committed by GitHub
parent f7753e8a22
commit 3c21283045

View File

@@ -32,11 +32,15 @@ module.exports = async ({ github, context, isAllowListed }) => {
// acceptable to leave unticked.
const templatePresent = body.includes('Checklist:');
const requiredTicked = [
'I have read and followed the [contribution guidelines]',
'I have read and followed the [how to open a pull request guide]',
'I have read and followed the contribution guidelines',
'I have read and followed the how to open a pull request guide',
'My pull request targets the'
];
const normalizedBody = body.replace(/\[\s*[xX]\s*\]/g, '[x]');
// Strip markdown links ([text](url) → text) before matching so contributors
// who omit the link syntax (e.g. type plain text) still pass the check.
const normalizedBody = body
.replace(/\[\s*[xX]\s*\]/g, '[x]')
.replace(/\[([^\]]+)\]\([^)]+\)/g, '$1');
const allRequiredTicked = requiredTicked.every(item =>
normalizedBody.includes(`[x] ${item}`)
);