首页 教程 常见问题

GitHub Actions 集成

在 GitHub Actions 中使用 Claude Code——自动化 PR 审查、代码质量检查和其他 CI/CD 工作流。

设置

1. 配置 API 密钥

在 GitHub 仓库的 Settings → Secrets and variables → Actions 中添加:

2. 创建工作流文件

.github/workflows/ 目录中创建 YAML 文件:

name: Claude Code PR Review
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  claude-review:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
      - name: Install Claude Code
        run: curl -fsSL https://claude.ai/install.sh | bash
      - name: Run Claude Review
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          claude --print "审查这个 PR 的变更:
          - 检查安全问题
          - 检查代码质量
          - 总结变更内容"
        > review.md
      - name: Post Review Comment
        uses: actions/github-script@v7
        with:
          script: |
            const fs = require('fs')
            const review = fs.readFileSync('review.md', 'utf8')
            github.rest.issues.createComment({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              body: review
            })

常见工作流

PR 代码审查

name: Claude Code Review
on: pull_request

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - run: claude --print "审查 $(git diff main --name-only) 的安全和质量问题"

自动化文档生成

name: Generate API Docs
on:
  push:
    branches: [main]
    paths: ['src/api/**']

jobs:
  docs:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: |
          claude --print "根据 src/api/ 中的代码生成 OpenAPI 文档" > docs/api.md
      - uses: stefanzweifel/git-auto-commit-action@v5
        with:
          commit_message: "更新 API 文档 [bot]"

依赖更新检查

name: Check Dependencies
on:
  schedule:
    - cron: '0 0 * * 1'  # 每周一

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: |
          claude --print "检查 package.json 中的过时依赖,创建更新 PR"

权限和安全

最佳实践

下一步