You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: examples/workflows/issue-cleanup/README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,8 +6,8 @@ This document describes a workflow to batch-process and clean up older open issu
6
6
7
7
The Issue Cleanup workflow is designed to automate the triage of stale issues by using the Gemini CLI to:
8
8
9
-
1.**Check for Projects and Parent Issues (Native)**: Identifies if an issue is already part of a GitHub Project or tracked by a parent issue (task list). If so, it removes the triage label and stops, assuming the issue is already being managed as part of a larger epic. If it has no assignees, it additionally asks the reporter if it is still needed (for feature requests) or asks them to try reproducing it with the latest build (for other issues).
10
-
2.**Check for Staleness and Age (Native)**: Identifies if an issue has been waiting for reporter feedback for over 7 days, closing it if so. If the issue is not stale but hasn't been updated in over a month, it asks the reporter to reproduce it with the latest build. For feature requests, it asks to reopen if still needed. By default, it closes the inactive issue and tags any assignees to reopen it. However, if the issue is a high-priority (`p0` or `p1`), it leaves the issue open. This logic runs natively to save AI resources.
9
+
1.**Check for Parent Issues (Native)**: Identifies if an issue is tracked by a parent issue (task list). If so, it removes the triage label and stops, assuming the issue is already being managed as part of a larger epic. If it has no assignees, it additionally asks the reporter if it is still needed (for feature requests) or asks them to try reproducing it with the latest build (for other issues).
10
+
2.**Check for Staleness and Age (Native)**: Identifies if an issue has been waiting for reporter feedback for over 7 days, closing it if so. If the issue is not stale but hasn't been updated in over a month, it first checks if the last comment indicates the issue is resolved (e.g., "functioning properly"); if so, it closes it as completed. Otherwise, it asks the reporter to reproduce it with the latest build. For feature requests, it asks to reopen if still needed. By default, it closes the inactive issue as "not planned" and tags any assignees to reopen it. However, if the issue is a high-priority (`p0` or `p1`), it leaves the issue open. This logic runs natively to save AI resources.
11
11
3.**Check for Vagueness (AI)**: If an issue is not stale or old but lacks sufficient information (e.g., reproduction steps), the agent asks the reporter for specific details and stops.
12
12
4.**Check Code Validity (AI)**: Determines if an issue is still relevant against the current codebase. The agent may attempt to write and execute a minimal reproduction script to verify if a bug has been resolved, or manually inspect the code. If verified as fixed, it will close the issue with an explanation.
13
13
5.**Find Duplicates (AI)**: Checks if the issue has a more recent duplicate. If a duplicate exists, it closes the issue and links to the duplicate.
console.log(`Issue #${issueNumber} is tracked by a parent issue or project. Removing 'status/need-triage' and stopping.`);
109
+
if (isTracked) {
110
+
console.log(`Issue #${issueNumber} is tracked by a parent issue. Removing 'status/need-triage' and stopping.`);
115
111
try {
116
112
await github.rest.issues.removeLabel({
117
113
owner: context.repo.owner,
@@ -135,9 +131,9 @@ jobs:
135
131
if (!hasAssignees) {
136
132
let commentBody = '';
137
133
if (isFeatureRequest) {
138
-
commentBody = `@${reporter}, this feature request is currently tracked by an epic or project but has no assignees. Could you please let us know if this is still needed?`;
134
+
commentBody = `@${reporter}, this feature request is currently tracked by an epic but has no assignees. Could you please let us know if this is still needed?`;
139
135
} else {
140
-
commentBody = `@${reporter}, this issue is currently tracked by an epic or project but has no assignees. Could you please try reproducing it with the latest build and let us know if it still occurs?`;
136
+
commentBody = `@${reporter}, this issue is currently tracked by an epic but has no assignees. Could you please try reproducing it with the latest build and let us know if it still occurs?`;
141
137
}
142
138
await github.rest.issues.createComment({
143
139
owner: context.repo.owner,
@@ -151,7 +147,7 @@ jobs:
151
147
return;
152
148
}
153
149
} catch (err) {
154
-
console.log('Failed to fetch GraphQL data for parent issues/projects:', err.message);
150
+
console.log('Failed to fetch GraphQL data for parent issues:', err.message);
0 commit comments