Configuration File
The different tools and sub-tools used by Qodo Merge are adjustable via the configuration file.
In addition to general configuration options, each tool has its own configurations. For example, the review
tool will use parameters from the pr_reviewer section in the configuration file.
See the Tools Guide for a detailed description of the different tools and their configurations.
There are three ways to set persistent configurations:
- Wiki configuration page π
- Local configuration file
- Global configuration file π
In terms of precedence, wiki configurations will override local configurations, and local configurations will override global configurations.
Tip1: edit only what you need
Your configuration file should be minimal, and edit only the relevant values. Don't copy the entire configuration options, since it can lead to legacy problems when something changes.
Tip2: show relevant configurations
If you set config.output_relevant_configurations=true
, each tool will also output in a collapsible section its relevant configurations. This can be useful for debugging, or getting to know the configurations better.
Wiki configuration file π¶
Platforms supported: GitHub, GitLab, Bitbucket
With Qodo Merge, you can set configurations by creating a page called .pr_agent.toml
in the wiki of the repo.
The advantage of this method is that it allows to set configurations without needing to commit new content to the repo - just edit the wiki page and save.
Click here to see a short instructional video. We recommend surrounding the configuration content with triple-quotes (or ```toml), to allow better presentation when displayed in the wiki as markdown. An example content:
Qodo Merge will know to remove the surrounding quotes when reading the configuration content.
Local configuration file¶
Platforms supported: GitHub, GitLab, Bitbucket, Azure DevOps
By uploading a local .pr_agent.toml
file to the root of the repo's main branch, you can edit and customize any configuration parameter. Note that you need to upload .pr_agent.toml
prior to creating a PR, in order for the configuration to take effect.
For example, if you set in .pr_agent.toml
:
Then you can give a list of extra instructions to the review
tool.
Global configuration file π¶
Platforms supported: GitHub, GitLab, Bitbucket
If you create a repo called pr-agent-settings
in your organization, it's configuration file .pr_agent.toml
will be used as a global configuration file for any other repo that belongs to the same organization.
Parameters from a local .pr_agent.toml
file, in a specific repo, will override the global configuration parameters.
For example, in the GitHub organization Codium-ai
:
-
The file
https://github.com/Codium-ai/pr-agent-settings/.pr_agent.toml
serves as a global configuration file for all the repos in the GitHub organizationCodium-ai
. -
The repo
https://github.com/Codium-ai/pr-agent
inherits the global configuration file frompr-agent-settings
.
Bitbucket Organization level configuration file π¶
Relevant platforms: Bitbucket Cloud, Bitbucket Data Center
In Bitbucket, there are two levels where you can define a global configuration file:
- Project-level global configuration:
Create a repository named pr-agent-settings
within a specific project. The configuration file in this repository will apply to all repositories under the same project.
- Organization-level global configuration:
Create a dedicated project to hold a global configuration file that affects all repositories across all projects in your organization.
Setting up organization-level global configuration:
- Create a new project with both the name and key: PR_AGENT_SETTINGS.
- Inside the PR_AGENT_SETTINGS project, create a repository named pr-agent-settings.
- In this repository, add a .pr_agent.toml configuration fileβstructured similarly to the global configuration file described above.
Repositories across your entire Bitbucket organization will inherit the configuration from this file.
Note
If both organization-level and project-level global settings are defined, the project-level settings will take precedence over the organization-level configuration. Additionally, parameters from a repositoryβs local .pr_agent.toml file will always override both global settings.