AI
LLM
Github Actions
Github
Software Development
How to summarize pull requests with AI
2 min readMar 7, 2025
This article goes over how to use AI (LLMs) to summarize pull requests (PRs) with GitHub Actions.
Press enter or click to view image in full size![A whiteboard with the text “AI?”]()
Action
The easiest method is to use the action pull-request-summary:
# .github/workflows/pull-request-summary.yml
on: pull_request
jobs:
pull-request-summary:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: ai-action/pull-request-summary@v1The action reviews the code changes with a large language model (LLM) and edits the pull request description with the response.
See example.
Custom
To create a custom workflow, set up Ollama and checkout the repository:
- uses: ai-action/setup-ollama@v1
- uses: actions/checkout@v4Then run a prompt with the PR diff against codellama and edit the PR description with the response:
- run: |
PROMPT=$(printf 'Summarize the following code diff:\n%s' $(gh pr diff $PR_NUMBER))
LLM='codellama'
PR_SUMMARY=$(ollama run $LLM "$PROMPT")
gh pr edit $PR_NUMBER --body "$PR_SUMMARY"
env:
GITHUB_TOKEN: ${{ github.token }}
PR_NUMBER: ${{ github.event.pull_request.number }}Here’s the full workflow:
# .github/workflows/pull-request-summary.yml
on: pull_request
jobs:
pull-request-summary:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: ai-action/setup-ollama@v1
- uses: actions/checkout@v4
- run: |
PROMPT=$(printf 'Summarize code diff below:\n%s' $(gh pr diff $PR_NUMBER))
LLM='codellama'
PR_SUMMARY=$(ollama run $LLM "$PROMPT")
gh pr edit $PR_NUMBER --body "$PR_SUMMARY"
env:
GITHUB_TOKEN: ${{ github.token }}
PR_NUMBER: ${{ github.event.pull_request.number }}See example.
