From 4a04589002a157dc0ca8c1698c045d0bd0692fe9 Mon Sep 17 00:00:00 2001 From: Boris Cherny Date: Mon, 11 Aug 2025 15:44:08 -0700 Subject: [PATCH] Use proper 'duplicate' state_reason for issue closures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update auto-close script to use state_reason: 'duplicate' instead of 'not_planned' - Simplify workflow detection logic to only check for duplicate state_reason - Remove fallback logic for backward compatibility - use modern GitHub API 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/workflows/log-issue-events.yml | 10 +++------- scripts/auto-close-duplicates.ts | 2 +- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/workflows/log-issue-events.yml b/.github/workflows/log-issue-events.yml index ae75a66e..dae438fc 100644 --- a/.github/workflows/log-issue-events.yml +++ b/.github/workflows/log-issue-events.yml @@ -115,14 +115,10 @@ jobs: CLOSED_AUTOMATICALLY="true" fi - # Check if closed as duplicate by looking for duplicate label or state_reason + # Check if closed as duplicate by state_reason CLOSED_AS_DUPLICATE="false" - if [ "$STATE_REASON" = "not_planned" ]; then - # Check if issue has duplicate label - LABELS=$(echo "$ISSUE_DATA" | jq -r '.labels[] | select(.name | test("duplicate"; "i")) | .name') - if [ -n "$LABELS" ]; then - CLOSED_AS_DUPLICATE="true" - fi + if [ "$STATE_REASON" = "duplicate" ]; then + CLOSED_AS_DUPLICATE="true" fi # Prepare the event payload diff --git a/scripts/auto-close-duplicates.ts b/scripts/auto-close-duplicates.ts index 57205815..0cee40a0 100644 --- a/scripts/auto-close-duplicates.ts +++ b/scripts/auto-close-duplicates.ts @@ -65,7 +65,7 @@ async function closeIssueAsDuplicate( 'PATCH', { state: 'closed', - state_reason: 'not_planned', + state_reason: 'duplicate', labels: ['duplicate'] } );