Summary Configuration
The optibot summary object controls automated pull/merge request summary generation. Optibot summaries can be configured to be either short and sweet or highly technical. This part of your documentation covers all the possible controls for summarizations.
Complete Structure
{
"summary": {
"auto": true,
"level": "basic",
"autoOnDraft": false,
"excludedLabels": [],
"excludedUsers": []
}
}
Auto Pull Request and Merge Request summaries
Type: boolean
Default: true
Description: This setting is used to enable or disable automatic summary generation for pull/merge requests. By default PR/MR summaries are generated when a new PR/MR is opened. Our summaries cover in detail the functional aspects of the code changes as well as a toggle section with a description of file by file changes.
When to use and impact:
-
Set to
truefor automatic summaries on all PRs. This helps reviewers understand code changes at a glance and can completely bypass the need to write up a PR/MR description at times. -
Set to
falseif summaries should be manually requested. While we don't recommend this, summaries can be turned off if you have very specific PR/MR description requirements.
Example:
{
"summary": {
"auto": true
}
}
Summary detail levels
Type: string
Default: "basic"
Allowed Values: "short", "basic", "detailed"
Description: This setting controls the level of detail that optibot includes in its summaries. The default setting is basic.
Summary Levels Explained:
short
Provides a concise, 2–3 sentence natural-language overview of the pull request. Ideal for quick updates that don’t interrupt workflow or when reviewers only need a high-level summary.
basic
Contains brief overview of changes, key modifications, and an impact summary. This level of detail is great if you have small PRs that require quick reviews or have the habit of creating atomic code changes.
detailed
Contains comprehensive analysis with file-by-file breakdown, architectural impact, and testing recommendations. This level of detail is great for large PRs, complex features and critical changes.
Setting Examples:
// Example 1: Short summaries for fast updates
{
"summary": {
"auto": true,
"level": "basic"
}
}
// Example 2: Basic summaries for fast-paced team
{
"summary": {
"auto": true,
"level": "basic"
}
}
// Example 3: Detailed summaries for complex codebase
{
"summary": {
"auto": true,
"level": "detailed"
}
}
Sample Output Comparison:
Short Level:
Summary: Updates login flow to streamline authentication and add basic validation. Cleans up unused logic and prepares the service for upcoming enhancements.
Basic Level:
Summary: This PR adds user authentication middleware and updates the login endpoint.
Key Changes: 2 new files, 3 modified files, ~150 lines changed.
Detailed Level:
Summary: This PR implements JWT-based authentication middleware with refresh token support.
Files Changed:
src/middleware/auth.ts(new): JWT verification middleware with role-based access control
src/routes/auth.ts(modified): Added refresh token endpoint
src/utils/token.ts(new): Token generation and validation utilitiesImpact Analysis:
Security: Implements industry-standard JWT authentication
Performance: Adds ~10ms latency per authenticated request
Testing: Requires new integration tests for auth flows
Dependencies: Added
[email protected]and[email protected]
Exclude summaries by label
Type: array of strings
Default: []
Description: This setting stops optibot from generating summaries on pull/merge requests with your specified labels.
When to use and impact:
-
Skip summaries for trivial changes
-
Exclude documentation-only PRs
-
Bypass summaries for automated updates
Examples:
// Example 1: Skip trivial changes
{
"summary": {
"auto": true,
"level": "basic",
"excludedLabels": ["trivial", "typo-fix", "formatting"]
}
}
// Example 2: Exclude docs and dependencies
{
"summary": {
"auto": true,
"level": "detailed",
"excludedLabels": ["documentation", "dependencies"]
}
}
Exclude Summaries by user
Type: array of strings
Default: []
Description: This setting stops optibot from generating summaries on pull/merge requests for your specified users. This especially helpful when you have several bot accounts generating code changes that are trivial in nature.
When to use and impact:
-
Exclude bot accounts that create automated PRs
-
Skip summaries for specific team members if needed
Example:
{
"summary": {
"auto": true,
"level": "basic",
"excludedUsers": ["dependabot", "renovate[bot]", "l10n-bot"]
}
}
---
Exclude optibot summaries on draft pull requests
Type: boolean
Default: true
Description: This setting prevents optibot from leaving a summary on pull/merge requests that have their state set to draft i.e pull requests that are opened as drafts. By default optibot will automatically generate a summary of your code changes on your draft pull requests when they are opened. When the setting is changed to false, optibot will wait till you set the status of the PR to "Ready to review" on github and then create a summary.
This works similarly for gitlab. Merge requests that are set to draft will follow the same convention as github.
When to use:
- When your draft PR's are truly a work in progress set of changes and you expect to make more pushes to it in this state.
Example
{
"summary": {
"auto": true,
"autoOnDraft": false,
"level": "short"
}
}