3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHubでの効率的なプルリクエスト管理: PR-Agentの導入

Last updated at Posted at 2024-03-22

5月13日発表されたGPT4oの対応を追加

導入

開発チームが直面する一般的な課題の一つに、品質の高いソフトウェアを短時間で提供することがあります。特に、人手不足の状況下では、プルリクエストのレビューにかかる時間の削減と、コード品質の維持がより重要になります。

この記事では、これらの課題に対する解決策として、PR-Agentの導入過程を紹介します。

GitHub Copilot Enterpriseの初期検討

当初、我々は開発プロセスの効率化を目指し、GitHub Copilot Enterpriseの導入を検討しました。このツールはAI技術を活用してコードを自動生成し、開発者の生産性を向上させることができるため、非常に魅力的でした。

しかし、GitHub Copilot Enterpriseを利用するにはいくつかの前提条件がありました。

  1. GitHub Enterpriseアカウントの必要性: このツールを使用するには、まずGitHub Enterpriseへのアップグレードが必要です。
  2. コスト: 我々のチームは20名で構成されており、GitHub Enterpriseへの登録には年間USD 5040の費用がかかります。
  3. 追加料金: 上記の基本料金に加えて、GitHub Copilot Enterpriseの使用料がさらに加算されます。

これらの条件を検討した結果、特にコスト面での懸念から、他の代替案を探すことにしました。

PR-Agentの選定理由

このコスト問題を解決するため、我々はPR-Agentの導入を検討しました。PR-AgentはGitHub Actionとして簡単に導入でき、GitHub Copilot Enterpriseよりも柔軟かつコスト効率の良い解決策だと思います。Open Ai側でAPIの利用制限などが簡単にできます。

導入手順

ChatGPT APIアカウントの作成

  1. OpenAIのWebサイトでChatGPT APIのアカウントを作成します。
  2. GPT-4を使用するための料金プランに登録し、必要な支払い情報を入力します。
  3. トークンの発行と追加
  4. ChatGPT APIのダッシュボードからトークンを発行します。
  5. 発行したトークンをGitHubレポジトリのRepository secretsにOPENAI_KEYという名前で追加します。

GitHub Actionsの設定

以下の内容を記述します。

pr-agent.yml
name: pr-agent
on:
  pull_request:
    types: [opened, reopened, synchronize]
  issue_comment:
    types: [created, edited]
jobs:
  pr_agent_job:
    runs-on: ubuntu-latest
    permissions:
      issues: write
      pull-requests: write
      contents: write
    name: Run pr agent on every pull request, respond to user comments
    steps:
      - name: PR Agent action step
        id: pragent
        uses: Codium-ai/pr-agent@main
        env:
          CONFIG.MODEL: gpt-4o-2024-05-13  # 最新モデルの対応
          OPENAI_KEY: ${{ secrets.OPENAI_KEY }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          PR_REVIEWER.EXTRA_INSTRUCTIONS: "Please use Japanese in descriptions."
          PR_DESCRIPTION.ADD_ORIGINAL_USER_DESCRIPTION: true
          PR_DESCRIPTION.EXTRA_INSTRUCTIONS: "Please use Japanese in descriptions. Titles should have prefix of commitlint pattern such as `feat:`, `chore:`, `test:`, `fix:`, `ci:`, `docs:` etc"
          PR_CODE_SUGGESTIONS.EXTRA_INSTRUCTIONS: "Please use Japanese in descriptions."
          PR_UPDATE_CHANGELOG.EXTRA_INSTRUCTIONS: "Please use Japanese in descriptions."
          github_action.auto_review: "true"
          github_action.auto_describe: "true"
          github_action.auto_improve: "true"

実際の使用例

PR-Agentは、新規プルリク作成時や/reviewコメントをした時に自動的に稼働します。これにより、プルリクエストの品質保証と迅速なレビューが可能になります。

PR作成に走るgithub action

スクリーンショット 2024-03-22 12.06.09のコピー.png
スクリーンショット 2024-03-22 12.04.17.png
スクリーンショット 2024-03-22 12.05.04.png

コメントで走るgithub action

  1. /reviewのコメントをする
    スクリーンショット 2024-03-22 12.15.41.png
  2. github-actionsが見たemojiを付けてくれる(裏で処理開始)
    スクリーンショット 2024-03-22 12.18.17.png
  3. 完了後
    スクリーンショット 2024-03-22 12.04.17.png

詳しいコマンド使用方法や設定については、PR-AgentのGitHubページを参照してください。

結論

PR-Agentの導入を試しください。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?