【正文】
在快速迭代的软件开发中,将用户反馈或任务描述自动转化为代码变更,是提升效率的重要方向。本文将介绍如何利用 Claude Code 和 GitHub Actions 的工作流,实现从 **GitHub Issue 提交**到 **Pull Request 自动生成**的无人值守流程。整个过程无需人工介入,让 Claude 根据 Issue 描述直接编写代码、创建分支并提交 PR。
传统模式下,开发者需要手动阅读 Issue,理解需求,然后编写代码并提交 PR。对于修复类、功能增强类等常见任务,这种重复劳动可以自动化。Anthropic 新推出的 Claude Code 命令行工具提供了强大的代码理解和生成能力,结合 GitHub Actions 的事件触发器,可以构建一个 “Issue → PR” 的自动流水线。
以下是一个完整的 GitHub Actions 工作流示例(`.github/workflows/issue-to-pr.yml`):
yaml
name: Issue to PR with Claude Code
on:
issues:
types: [opened, labeled]
jobs: generate-pr: if: github.event.label.name == 'auto-pr' # 只对带有 auto-pr 标签的 Issue 触发 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install Claude Code run: npm install -g @anthropic-ai/claude-code - name: Run Claude Code to create PR env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | claude code --task "基于以下 Issue 描述,在仓库中实现所需变更。请创建新分支,提交修改,并创建 Pull Request。Issue 内容:${{ github.event.issue.body }}" ```
假设你在仓库中创建了一个 Issue,标题为 “Fix typo in README”,正文描述具体拼写错误位置。打上 `auto-pr` 标签后,GitHub Actions 会自动启动。Claude Code 会读取 Issue,找到 README 文件,修正拼写,创建名为 `fix-typo-readme-123` 的分支,然后提交一个 PR,其中自动生成描述引用原始 Issue。
通过 GitHub Actions + Claude Code,开发者可以轻松实现从 Issue 到 PR 的完整自动化。这不仅减少了手动开销,还能将开发者的精力集中在更高层次的架构设计上。随着大模型能力的提升,这类“无人值守”的代码交付模式将成为 DevOps 流水线中的标准组件。
——
出处:From GitHub Issue to Pull Request: Running Claude Code Unattended
——
一个热爱技术的程序员,喜欢分享前沿AI知识和开发经验。