mirror of
https://github.com/DIYgod/RSSHub.git
synced 2025-12-02 18:18:06 +08:00
59 lines
1.6 KiB
JavaScript
59 lines
1.6 KiB
JavaScript
const noFound = 'Auto: Route No Found';
|
|
|
|
module.exports = ({ github, context, core }, body, number) => {
|
|
core.debug(`body: ${body}`);
|
|
const m = body.match(/```routes\r\n((.|\r\n)*)```/);
|
|
core.debug(`match: ${m}`);
|
|
let res = null;
|
|
|
|
const removeLabel = () => {
|
|
github.issues
|
|
.removeLabel({
|
|
issue_number: number,
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
name: noFound,
|
|
})
|
|
.catch((e) => {
|
|
core.warning(e);
|
|
});
|
|
};
|
|
|
|
if (m && m[1]) {
|
|
res = m[1].trim().split('\r\n');
|
|
core.info(`routes detected: ${res}`);
|
|
|
|
if (res.length > 0 && res[0] === 'NOROUTE') {
|
|
core.info('PR stated no route, passing');
|
|
removeLabel();
|
|
github.issues
|
|
.addLabels({
|
|
issue_number: number,
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
labels: ['Auto: No Route Needed'],
|
|
})
|
|
.catch((e) => {
|
|
core.warning(e);
|
|
});
|
|
|
|
return;
|
|
} else if (res.length > 0) {
|
|
core.exportVariable('TEST_CONTINUE', true);
|
|
removeLabel();
|
|
return res;
|
|
}
|
|
}
|
|
|
|
core.info('seems no route found, failing');
|
|
|
|
github.issues.addLabels({
|
|
issue_number: number,
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
labels: [noFound],
|
|
});
|
|
|
|
throw 'Please follow the PR rules: failed to detect route';
|
|
};
|