surshar / claude-code
Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.
Built by Anthropic · github.com/anthropics
- Add optional issue_number parameter to Claude Issue Triage Action - Create manual workflow that accepts comma-separated issue numbers - Maintains backward compatibility with existing issue event workflow 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
| M.github/actions/claude-issue-triage-action/action.yml |
| A.github/workflows/claude-issue-triage-manual.yml |
| @@ -12,6 +12,9 @@ | ||
| 12 | 12 | github_token: |
| 13 | 13 | description: "GitHub token with repo and issues permissions" |
| 14 | 14 | required: true |
| 15 | + issue_number: | |
| 16 | + description: "Issue number to triage (optional - defaults to event issue number)" | |
| 17 | + required: false | |
| 15 | 18 | |
| 16 | 19 | runs: |
| 17 | 20 | using: "composite" |
| @@ -32,7 +35,7 @@ | ||
| 32 | 35 | |
| 33 | 36 | Issue Information: |
| 34 | 37 | - REPO: ${{ github.repository }} |
| 35 | - - ISSUE_NUMBER: ${{ github.event.issue.number }} | |
| 38 | + - ISSUE_NUMBER: ${{ inputs.issue_number || github.event.issue.number }} | |
| 36 | 39 | |
| 37 | 40 | TASK OVERVIEW: |
| 38 | 41 |
| @@ -1,0 +1,46 @@ | ||
| 1 | +name: Claude Issue Triage Manual | |
| 2 | +description: "Manually triage GitHub issues using Claude Code" | |
| 3 | + | |
| 4 | +on: | |
| 5 | + workflow_dispatch: | |
| 6 | + inputs: | |
| 7 | + issue_numbers: | |
| 8 | + description: 'Comma-separated list of issue numbers to triage (e.g., 123,456,789)' | |
| 9 | + required: true | |
| 10 | + type: string | |
| 11 | + | |
| 12 | +jobs: | |
| 13 | + parse-issues: | |
| 14 | + runs-on: ubuntu-latest | |
| 15 | + outputs: | |
| 16 | + matrix: ${{ steps.set-matrix.outputs.matrix }} | |
| 17 | + steps: | |
| 18 | + - name: Parse issue numbers | |
| 19 | + id: set-matrix | |
| 20 | + run: | | |
| 21 | + # Remove spaces and convert to JSON array | |
| 22 | + CLEANED=$(echo "${{ github.event.inputs.issue_numbers }}" | tr -d ' ') | |
| 23 | + IFS=',' read -ra ISSUES <<< "$CLEANED" | |
| 24 | + MATRIX_JSON=$(printf '%s\n' "${ISSUES[@]}" | jq -R . | jq -s -c '{issue: .}') | |
| 25 | + echo "matrix=$MATRIX_JSON" >> $GITHUB_OUTPUT | |
| 26 | + | |
| 27 | + triage-issue: | |
| 28 | + needs: parse-issues | |
| 29 | + runs-on: ubuntu-latest | |
| 30 | + timeout-minutes: 10 | |
| 31 | + permissions: | |
| 32 | + contents: read | |
| 33 | + issues: write | |
| 34 | + strategy: | |
| 35 | + matrix: ${{ fromJson(needs.parse-issues.outputs.matrix) }} | |
| 36 | + max-parallel: 5 | |
| 37 | + steps: | |
| 38 | + - name: Checkout repository | |
| 39 | + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
| 40 | + | |
| 41 | + - name: Run Claude Issue Triage | |
| 42 | + uses: ./.github/actions/claude-issue-triage-action | |
| 43 | + with: | |
| 44 | + anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} | |
| 45 | + github_token: ${{ secrets.GITHUB_TOKEN }} | |
| 46 | + issue_number: ${{ matrix.issue }} |