CodiumAI PR-Agent,在 GitHub 上用 AI 來 Code Review

本篇要解決的問題

上次寫了一篇〈CodiumAI PR-Agent,在 GitLab 上用 AI 來 Code Review〉,原本在最後說下一篇會寫的是自己做一個用 AI 來 Code Review 的文章。

但這週下班後,在幫朋友寫一些東西時,發現常用的還是 GitHub 平台,而且加了 AI Code Review,真的是很有幫助,所以就決定先寫這篇 GitHub 使用的筆記文。

因為大部份的工跟 GitLab 那篇幾乎相同,所以這篇就是速速的寫。

本篇主要是用 G…


This content originally appeared on DEV Community and was authored by Let's Write

本篇要解決的問題

上次寫了一篇〈CodiumAI PR-Agent,在 GitLab 上用 AI 來 Code Review〉,原本在最後說下一篇會寫的是自己做一個用 AI 來 Code Review 的文章。

但這週下班後,在幫朋友寫一些東西時,發現常用的還是 GitHub 平台,而且加了 AI Code Review,真的是很有幫助,所以就決定先寫這篇 GitHub 使用的筆記文。

因為大部份的工跟 GitLab 那篇幾乎相同,所以這篇就是速速的寫。

本篇主要是用 GitHub Action 的方式,參考資源:

GitHub Run as a GitHub Action

準備好必要東西:GitHub 帳號、OpenAI API Key

GitHub 帳號,應該大部份的工程師大大們都有了,這邊就跳過。

OpenAI API Key,上一篇的段落已經寫過,就不再重寫,請看:OpenAI API Key

GitHub 專案,設定 secret 變數

OpenAI API Key 不能外露,因此需要像 .env 檔一樣,將其設定為隱藏變數。

在 GitHub 建立好專案後,點擊:Settings > Secrets and variables > Actions > New repository secret:

在 GitHub 專案的設定頁面中,如何進入 Secrets and variables > Actions 以新增 OpenAI API Key 的畫面

在建立 secrect 時,要填寫二個欄位。

Name:填上 OPENAI_KEY

Secret:填寫「OpenAI API Key」的那一串。

在 GitHub 的 New repository secret 頁面上填寫 OpenAI API Key 的名稱和密鑰欄位

填寫之後,點擊「Add secret」,就新增成功。

提交必要檔案

接著,我們把官方提供的程式碼,提交到 GitHub 專案上,就可以使用 AI Code Review 了。

1 .pr_agent.toml

先推送 .pr_agent.toml 檔案的原因,在 GitLab 那篇有完整的說明,簡單來說,就是要省 $$。

專案根目錄下,新增名為「.pr_agent.toml」的檔案,檔案內容如下:

[config]
model = "gpt-4o-mini-2024-07-18"
model_turbo = "gpt-4o-mini-2024-07-18"
fallback_models = ["gpt-4o-mini-2024-07-18", "gpt-4o-mini"]

這個檔案建立了以後,先提交到 GitHub 上。

pr_agent.yml

這個檔名跟前一個相同,只是副檔名不同,是要觸發 GitHub Action 用的。

我們專案的根目錄,建立 GitHub Action 用的資料夾跟檔案:

.github/workflows/pr_agent.yml

pr_agent.yml 的檔案內容如下:

on:
  pull_request:
    types: [opened, reopened, ready_for_review]
  issue_comment:
jobs:
  pr_agent_job:
    if: ${{ github.event.sender.type != 'Bot' }}
    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:
          OPENAI_KEY: ${{ secrets.OPENAI_KEY }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

這段程式碼的最後,有看到 secrets 除了 OPENAI_KEY 之外,其實還需要另一個 GITHUB_TOKEN,這一點官方文件上說,GitHub 會自行生成,所以我們不用擔心。

檔案建立完成後,可以立即提交,也可以等到開發完成某個階段後再提交。

這個檔案一提交上去,之後只要有合併請求,就會自動觸發 AI Code Review。

測試一下威力

跟在 GitLab 時一樣,我們也來看一下 GitHub 上的 AI Code Review。

提交程式碼後,點擊 Pull Request,其實 AI 回應的東西蠻多的,上一篇 GitLab 只截圖了其中一小塊,這次就把收到的所有內容都一次截圖下來:

顯示在 GitHub 的 Pull Request 頁面中,AI Code Review 自動生成的回饋內容範例,包含程式碼檢查和建議

再小結一次

自從加進了 AI Code Review,在寫程式上真的覺得有幫助,最簡單的比方拼錯字,都會被指出來。

AI 也會另外提供一些沒意料到的 Bug,有幾次真的是看到 AI 的回饋,才想到漏寫、漏想了什麼。

GitHub 安裝方式因為不用再手動建立 GitHub Token,所以比 GitLab 又少了一個步驟,要安裝很容易。

最近一直在想,該怎麼樣把更多的 AI 打進工作流裡,減少人力的負擔,把工作心力可以釋放到其他區塊上。

有把 AI 大量應用在工作、生活上的棒油們,歡迎留言提供你的作法~


This content originally appeared on DEV Community and was authored by Let's Write


Print Share Comment Cite Upload Translate Updates
APA

Let's Write | Sciencx (2024-08-31T04:34:51+00:00) CodiumAI PR-Agent,在 GitHub 上用 AI 來 Code Review. Retrieved from https://www.scien.cx/2024/08/31/codiumai-pr-agent%ef%bc%8c%e5%9c%a8-github-%e4%b8%8a%e7%94%a8-ai-%e4%be%86-code-review/

MLA
" » CodiumAI PR-Agent,在 GitHub 上用 AI 來 Code Review." Let's Write | Sciencx - Saturday August 31, 2024, https://www.scien.cx/2024/08/31/codiumai-pr-agent%ef%bc%8c%e5%9c%a8-github-%e4%b8%8a%e7%94%a8-ai-%e4%be%86-code-review/
HARVARD
Let's Write | Sciencx Saturday August 31, 2024 » CodiumAI PR-Agent,在 GitHub 上用 AI 來 Code Review., viewed ,<https://www.scien.cx/2024/08/31/codiumai-pr-agent%ef%bc%8c%e5%9c%a8-github-%e4%b8%8a%e7%94%a8-ai-%e4%be%86-code-review/>
VANCOUVER
Let's Write | Sciencx - » CodiumAI PR-Agent,在 GitHub 上用 AI 來 Code Review. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/08/31/codiumai-pr-agent%ef%bc%8c%e5%9c%a8-github-%e4%b8%8a%e7%94%a8-ai-%e4%be%86-code-review/
CHICAGO
" » CodiumAI PR-Agent,在 GitHub 上用 AI 來 Code Review." Let's Write | Sciencx - Accessed . https://www.scien.cx/2024/08/31/codiumai-pr-agent%ef%bc%8c%e5%9c%a8-github-%e4%b8%8a%e7%94%a8-ai-%e4%be%86-code-review/
IEEE
" » CodiumAI PR-Agent,在 GitHub 上用 AI 來 Code Review." Let's Write | Sciencx [Online]. Available: https://www.scien.cx/2024/08/31/codiumai-pr-agent%ef%bc%8c%e5%9c%a8-github-%e4%b8%8a%e7%94%a8-ai-%e4%be%86-code-review/. [Accessed: ]
rf:citation
» CodiumAI PR-Agent,在 GitHub 上用 AI 來 Code Review | Let's Write | Sciencx | https://www.scien.cx/2024/08/31/codiumai-pr-agent%ef%bc%8c%e5%9c%a8-github-%e4%b8%8a%e7%94%a8-ai-%e4%be%86-code-review/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.