mirror of
https://github.com/ant-design/ant-design.git
synced 2025-06-11 11:32:52 +08:00
chore(workflow): avoid duplicate reminders for inactive issues (#52446)
This commit is contained in:
parent
e707210741
commit
357dd53f85
@ -5,7 +5,7 @@ on:
|
|||||||
- cron: "0 0 * * *" # Run at 00:00 every day
|
- cron: "0 0 * * *" # Run at 00:00 every day
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
issues: write # Need write permission to modify issue assignees
|
issues: write
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
reminder_job:
|
reminder_job:
|
||||||
@ -19,12 +19,14 @@ jobs:
|
|||||||
let page = 1;
|
let page = 1;
|
||||||
const perPage = 100;
|
const perPage = 100;
|
||||||
|
|
||||||
|
const reminderSignature = "This issue has been inactive for more than 14 days";
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
const { data: issues } = await github.rest.issues.listForRepo({
|
const { data: issues } = await github.rest.issues.listForRepo({
|
||||||
owner: context.repo.owner,
|
owner: context.repo.owner,
|
||||||
repo: context.repo.repo,
|
repo: context.repo.repo,
|
||||||
state: 'open',
|
state: 'open',
|
||||||
assignee: '*', // Filter assigned issues
|
assignee: '*',
|
||||||
per_page: perPage,
|
per_page: perPage,
|
||||||
page: page,
|
page: page,
|
||||||
});
|
});
|
||||||
@ -53,6 +55,19 @@ jobs:
|
|||||||
);
|
);
|
||||||
|
|
||||||
if (daysInactive >= daysBeforeReminder && !hasLinkedPR) {
|
if (daysInactive >= daysBeforeReminder && !hasLinkedPR) {
|
||||||
|
// get issue comments
|
||||||
|
const { data: comments } = await github.rest.issues.listComments({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
issue_number: issue.number,
|
||||||
|
});
|
||||||
|
|
||||||
|
// check if reminder has been sent
|
||||||
|
const hasReminder = comments.some(comment =>
|
||||||
|
comment.body.includes(reminderSignature)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!hasReminder) {
|
||||||
const assigneesMentions = issue.assignees
|
const assigneesMentions = issue.assignees
|
||||||
.map(user => `@${user.login}`)
|
.map(user => `@${user.login}`)
|
||||||
.join(' ');
|
.join(' ');
|
||||||
@ -65,6 +80,7 @@ jobs:
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
page += 1;
|
page += 1;
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user