AI-powered pull request descriptions using Auggie. This action automatically analyzes your PR changes and generates comprehensive, informative descriptions.
First, you'll need to obtain your Augment Authentication information from your local Auggie session:
Example session JSON:
{
"accessToken": "your-api-token-here",
"tenantURL": "https://your-tenant.api.augmentcode.com"
}
There are 2 ways to get the credentials:
- Run
auggie --print-augment-token
- Copy the JSON after
TOKEN=
- Copy the JSON after
- Copy the credentials stored in your Augment cache directory, defaulting to
~/.augment/session.json
⚠️ Security Warning: These tokens are OAuth tokens tied to your personal Augment account and provide access to your Augment services. They are not tied to a team or enterprise. Treat them as sensitive credentials:
- Never commit them to version control
- Only store them in secure locations (like GitHub secrets)
- Don't share them in plain text or expose them in logs
- If a token is compromised, immediately revoke it using
auggie --revoke-all-augment-tokens
You need to add your Augment credentials to your GitHub repository:
- Navigate to your repository on GitHub
- Go to Settings → Secrets and variables → Actions
- Add the following:
- Secret: Click "New repository secret"
- Name:
AUGMENT_SESSION_AUTH
- Value: The json value from step 1
- Name:
- Secret: Click "New repository secret"
Need more help? For detailed instructions on managing GitHub secrets, see GitHub's official documentation:
Add a new workflow file to your repository's .github/workflows/
directory and merge it.
For complete workflow examples, see the example-workflows/
directory which contains:
- Basic PR Description - Simple setup for all new PRs
- Draft PR Description - Only describe draft PRs
- Feature Branch Description - Target specific branch patterns with labeling
- Robust PR Description - Includes error handling and fallback notifications
- On-Demand Description - Triggered by adding the
auggie_describe
label - Simple Custom Guidelines - Basic custom guidelines usage
Each example includes a complete workflow file that you can copy to your .github/workflows/
directory and customize for your needs.
- Automatic PR Analysis: Analyzes code changes, file modifications, and diff content
- Intelligent Descriptions: Generates comprehensive PR descriptions using AI
- Context-Aware: Understands your codebase structure and change patterns
- GitHub Integration: Seamlessly updates PR descriptions via GitHub API
Input | Description | Required | Example |
---|---|---|---|
augment_session_auth |
Augment session authentication JSON (store as secret) | Yes | ${{ secrets.AUGMENT_SESSION_AUTH }} |
github_token |
GitHub token with repo scopes |
Yes | ${{ secrets.GITHUB_TOKEN }} |
pull_number |
The number of the pull request being described | Yes | ${{ github.event.pull_request.number }} |
repo_name |
The full name (owner/repo) of the repository | Yes | ${{ github.repository }} |
custom_guidelines |
Custom guidelines for PR descriptions (optional) | No | See Custom Guidelines section |
model |
Optional model to use for generation | No | e.g. sonnet4 , from auggie --list-models |
- Checkout: Checks out the PR head to access the complete codebase
- Data Gathering: Fetches PR metadata, changed files, and diff content from GitHub API
- Template Rendering: Uses Nunjucks templates to create a structured instruction for the AI
- AI Processing: Calls the Augment Agent to analyze the changes and generate a description
- PR Update: The Augment Agent updates the PR description with the generated content
You can add project-specific guidelines to any workflow by including the custom_guidelines
input:
- name: Generate PR Description
uses: augmentcode/describe-pr@v0
with:
# ... other inputs ...
custom_guidelines: |
- Always mention if database migrations are included
- Highlight any breaking API changes
- Reference the Jira ticket number if applicable
- Include performance impact for large changes
The action requires the following GitHub token permissions:
permissions:
contents: read # To checkout the repository and read files
pull-requests: write # To update PR descriptions