mirror of
https://github.com/lobehub/lobe-chat.git
synced 2025-12-20 01:12:52 +08:00
Some checks failed
Upstream Sync / Sync latest commits from upstream repo (push) Has been cancelled
E2E CI / Test Web App (push) Has been cancelled
Release CI / Release (push) Has been cancelled
Test CI / Test package agent-runtime (push) Has been cancelled
Test CI / Test package context-engine (push) Has been cancelled
Test CI / Test package electron-server-ipc (push) Has been cancelled
Test CI / Test package file-loaders (push) Has been cancelled
Test CI / Test package model-runtime (push) Has been cancelled
Test CI / Test package prompts (push) Has been cancelled
Test CI / Test package python-interpreter (push) Has been cancelled
Test CI / Test package utils (push) Has been cancelled
Test CI / Test package web-crawler (push) Has been cancelled
Test CI / Test package model-bank (push) Has been cancelled
Test CI / Test Website (push) Has been cancelled
Test CI / Test Database (push) Has been cancelled
Lighthouse Badger / LobeChat | Chat (push) Has been cancelled
Lighthouse Badger / LobeChat | Market (push) Has been cancelled
Issue Close Require / issue-check-inactive (push) Has been cancelled
Issue Close Require / issue-close-require (push) Has been cancelled
Daily i18n Update / update-i18n (push) Has been cancelled
Lock Stale Issues / lock-closed-issues (push) Has been cancelled
Auto-close duplicate issues / auto-close-duplicates (push) Has been cancelled
Closes #10789
66 lines
2.3 KiB
YAML
66 lines
2.3 KiB
YAML
name: Claude Issue Triage
|
|
description: Automatically triage GitHub issues using Claude Code
|
|
on:
|
|
issues:
|
|
types: [opened, labeled]
|
|
|
|
jobs:
|
|
triage-issue:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
# Only run on issue opened, or when "trigger:triage" label is added
|
|
if: github.event.action == 'opened' || (github.event.action == 'labeled' && github.event.label.name == 'trigger:triage')
|
|
permissions:
|
|
contents: read
|
|
issues: write
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v5
|
|
|
|
- name: Copy triage prompts
|
|
run: |
|
|
mkdir -p /tmp/claude-prompts
|
|
cp .claude/prompts/team-assignment.md /tmp/claude-prompts/
|
|
cp .claude/prompts/issue-triage.md /tmp/claude-prompts/
|
|
|
|
- name: Run Claude Code for Issue Triage
|
|
uses: anthropics/claude-code-action@main
|
|
with:
|
|
github_token: ${{ secrets.GH_TOKEN }}
|
|
allowed_non_write_users: "*"
|
|
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
|
|
claude_args: '--allowed-tools "Bash(gh *),Read"'
|
|
prompt: |
|
|
You're an issue triage assistant for GitHub issues. Your task is to analyze issues, apply appropriate labels, and mention the responsible team member.
|
|
|
|
REPOSITORY: ${{ github.repository }}
|
|
ISSUE_NUMBER: ${{ github.event.issue.number }}
|
|
|
|
## Instructions
|
|
|
|
Follow the complete triage guide located at:
|
|
```bash
|
|
cat /tmp/claude-prompts/issue-triage.md
|
|
```
|
|
|
|
Read the team assignment guide for determining team members:
|
|
```bash
|
|
cat /tmp/claude-prompts/team-assignment.md
|
|
```
|
|
|
|
**IMPORTANT**:
|
|
- Follow ALL steps in the issue-triage.md guide
|
|
- Apply labels according to the guide's rules
|
|
- Post a mention comment to the appropriate team member(s) based on team-assignment.md
|
|
- Replace [ISSUE_NUMBER] with: ${{ github.event.issue.number }}
|
|
|
|
**Start the triage process now.**
|
|
|
|
- name: Remove trigger label
|
|
if: github.event.action == 'labeled' && github.event.label.name == 'trigger:triage'
|
|
run: |
|
|
gh issue edit ${{ github.event.issue.number }} --remove-label "trigger:triage"
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|