Skip to content

Commit 3f419e7

Browse files
authored
Merge pull request #121 from dotindustries/claude/finish-pending-pr-VwhKr
chore: auto-close issues ghw and prompt issue ref
2 parents fa363dc + 2275aa5 commit 3f419e7

File tree

2 files changed

+42
-0
lines changed

2 files changed

+42
-0
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Auto-close linked issues
2+
3+
on:
4+
pull_request:
5+
types: [closed]
6+
7+
jobs:
8+
close-issues:
9+
if: github.event.pull_request.merged == true
10+
runs-on: ubuntu-latest
11+
permissions:
12+
issues: write
13+
steps:
14+
- name: Close linked issues
15+
uses: actions/github-script@v7
16+
with:
17+
script: |
18+
const body = context.payload.pull_request.body || '';
19+
const pattern = /(?:close|closes|closed|fix|fixes|fixed|resolve|resolves|resolved)\s+#(\d+)/gi;
20+
const issueNumbers = new Set();
21+
let match;
22+
while ((match = pattern.exec(body)) !== null) {
23+
issueNumbers.add(parseInt(match[1], 10));
24+
}
25+
for (const issueNumber of issueNumbers) {
26+
try {
27+
await github.rest.issues.update({
28+
owner: context.repo.owner,
29+
repo: context.repo.repo,
30+
issue_number: issueNumber,
31+
state: 'closed',
32+
state_reason: 'completed'
33+
});
34+
core.info(`Closed issue #${issueNumber}`);
35+
} catch (err) {
36+
core.warning(`Failed to close issue #${issueNumber}: ${err.message}`);
37+
}
38+
}
39+
if (issueNumbers.size === 0) {
40+
core.info('No closing keywords found in PR body');
41+
}

scripts/schedule-next-implementation.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,7 @@ def schedule_implementation(gh_issue_number, gh_issue_title, beads_id,
352352
f"Beads ID: {beads_id}\n\n"
353353
f"Please read the full issue description from the URL above and "
354354
f"implement all acceptance criteria."
355+
f"Make sure that the PR created at the end of the session will reference the originating github issue #{gh_issue_number}, so we can let github auto-close the issue when the PR is merged."
355356
)
356357

357358
print(f" Scheduling implementation for #{gh_issue_number}: {gh_issue_title}")

0 commit comments

Comments
 (0)