Compare commits

...

11 Commits

Author SHA1 Message Date
Tal
dbf96ff749 Merge pull request #1927 from abhinav-1305/minor-fix
docs: improve installation for various providers
2025-07-09 08:50:21 +03:00
Tal
5f9eee2d12 Merge pull request #1924 from abhinav-1305/fix-span
fix: correct FAQ answer numbering for questions 6 and 7
2025-07-09 08:48:54 +03:00
Tal
d4c5ab7bf0 Merge pull request #1923 from abhinav-1305/fix-handling
fix: Correct resultsContainer handling
2025-07-09 08:46:42 +03:00
Tal
5ae6d71c37 Merge pull request #1922 from abhinav-1305/fix-bug
fix: Remove trailing comma in gerrit provider prepare_repo function
2025-07-09 08:41:21 +03:00
Tal
d30d077939 Merge pull request #1920 from abhinav-1305/fix-typo
fix: correct typo in configuration comments
2025-07-09 08:40:46 +03:00
aa18d532cf docs: improve installation for various providers 2025-07-08 18:01:37 +05:30
b7b198947c fix: correct FAQ answer numbering for questions 6 and 7 2025-07-08 02:16:48 +05:30
fb69313d87 fix: Improve error handling in resultsContainer 2025-07-08 02:05:02 +05:30
017db5b63c fix: Correct resultsContainer handling 2025-07-08 01:51:59 +05:30
3f632835c5 fix: Remove trailing comma in gerrit provider prepare_repo function 2025-07-07 21:51:35 +05:30
34594e5436 fix: correct typo in configuration comments 2025-07-07 20:11:10 +05:30
10 changed files with 19 additions and 22 deletions

View File

@ -19,7 +19,6 @@
</div>
<style>
Untitled
.search-section {
max-width: 800px;
margin: 0 auto;
@ -305,9 +304,8 @@ window.addEventListener('load', function() {
spinner.style.display = 'none';
const errorDiv = document.createElement('div');
errorDiv.className = 'error-message';
errorDiv.textContent = `${error}`;
resultsContainer.value = "";
resultsContainer.appendChild(errorDiv);
errorDiv.textContent = error instanceof Error ? error.message : String(error);
resultsContainer.replaceChildren(errorDiv);
}
}

View File

@ -66,7 +66,7 @@ ___
___
??? note "Q: Can Qodo Merge review draft/offline PRs?"
#### Answer:<span style="display:none;">5</span>
#### Answer:<span style="display:none;">6</span>
Yes. While Qodo Merge won't automatically review draft PRs, you can still get feedback by manually requesting it through [online commenting](https://qodo-merge-docs.qodo.ai/usage-guide/automations_and_usage/#online-usage).
@ -74,7 +74,7 @@ ___
___
??? note "Q: Can the 'Review effort' feedback be calibrated or customized?"
#### Answer:<span style="display:none;">5</span>
#### Answer:<span style="display:none;">7</span>
Yes, you can customize review effort estimates using the `extra_instructions` configuration option (see [documentation](https://qodo-merge-docs.qodo.ai/tools/review/#configuration-options)).

View File

@ -1,7 +1,7 @@
## Azure DevOps Pipeline
You can use a pre-built Action Docker image to run PR-Agent as an Azure devops pipeline.
add the following file to your repository under `azure-pipelines.yml`:
Add the following file to your repository under `azure-pipelines.yml`:
```yaml
# Opt out of CI triggers
@ -71,7 +71,7 @@ git_provider="azure"
```
Azure DevOps provider supports [PAT token](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=Windows) or [DefaultAzureCredential](https://learn.microsoft.com/en-us/azure/developer/python/sdk/authentication-overview#authentication-in-server-environments) authentication.
PAT is faster to create, but has build in expiration date, and will use the user identity for API calls.
PAT is faster to create, but has built-in expiration date, and will use the user identity for API calls.
Using DefaultAzureCredential you can use managed identity or Service principle, which are more secure and will create separate ADO user identity (via AAD) to the agent.
If PAT was chosen, you can assign the value in .secrets.toml.

View File

@ -50,7 +50,7 @@ git_provider="bitbucket_server"
and pass the Pull request URL:
```shell
python cli.py --pr_url https://git.onpreminstanceofbitbucket.com/projects/PROJECT/repos/REPO/pull-requests/1 review
python cli.py --pr_url https://git.on-prem-instance-of-bitbucket.com/projects/PROJECT/repos/REPO/pull-requests/1 review
```
### Run it as service
@ -63,6 +63,6 @@ docker push codiumai/pr-agent:bitbucket_server_webhook # Push to your Docker re
```
Navigate to `Projects` or `Repositories`, `Settings`, `Webhooks`, `Create Webhook`.
Fill the name and URL, Authentication None select the Pull Request Opened checkbox to receive that event as webhook.
Fill in the name and URL. For Authentication, select 'None'. Select the 'Pull Request Opened' checkbox to receive that event as a webhook.
The URL should end with `/webhook`, for example: https://domain.com/webhook

View File

@ -17,12 +17,11 @@ git clone https://github.com/qodo-ai/pr-agent.git
```
5. Prepare variables and secrets. Skip this step if you plan on setting these as environment variables when running the agent:
1. In the configuration file/variables:
- Set `config.git_provider` to "gitea"
2. In the secrets file/variables:
- Set your AI model key in the respective section
- In the [Gitea] section, set `personal_access_token` (with token from step 2) and `webhook_secret` (with secret from step 3)
- In the configuration file/variables:
- Set `config.git_provider` to "gitea"
- In the secrets file/variables:
- Set your AI model key in the respective section
- In the [Gitea] section, set `personal_access_token` (with token from step 2) and `webhook_secret` (with secret from step 3)
6. Build a Docker image for the app and optionally push it to a Docker repository. We'll use Dockerhub as an example:

View File

@ -46,7 +46,7 @@ Note that if your base branches are not protected, don't set the variables as `p
1. In GitLab create a new user and give it "Reporter" role ("Developer" if using Pro version of the agent) for the intended group or project.
2. For the user from step 1. generate a `personal_access_token` with `api` access.
2. For the user from step 1, generate a `personal_access_token` with `api` access.
3. Generate a random secret for your app, and save it for later (`shared_secret`). For example, you can use:
@ -111,7 +111,7 @@ For example: `GITLAB.PERSONAL_ACCESS_TOKEN` --> `GITLAB__PERSONAL_ACCESS_TOKEN`
4. Create a lambda function that uses the uploaded image. Set the lambda timeout to be at least 3m.
5. Configure the lambda function to have a Function URL.
6. In the environment variables of the Lambda function, specify `AZURE_DEVOPS_CACHE_DIR` to a writable location such as /tmp. (see [link](https://github.com/Codium-ai/pr-agent/pull/450#issuecomment-1840242269))
7. Go back to steps 8-9 of [Run a GitLab webhook server](#run-a-gitlab-webhook-server) with the function url as your Webhook URL.
7. Go back to steps 8-9 of [Run a GitLab webhook server](#run-a-gitlab-webhook-server) with the function URL as your Webhook URL.
The Webhook URL would look like `https://<LAMBDA_FUNCTION_URL>/webhook`
### Using AWS Secrets Manager

View File

@ -12,7 +12,7 @@ To invoke a tool (for example `review`), you can run PR-Agent directly from the
- For GitHub:
```bash
docker run --rm -it -e OPENAI.KEY=<your key> -e GITHUB.USER_TOKEN=<your token> codiumai/pr-agent:latest --pr_url <pr_url> review
docker run --rm -it -e OPENAI.KEY=<your_openai_key> -e GITHUB.USER_TOKEN=<your_github_token> codiumai/pr-agent:latest --pr_url <pr_url> review
```
If you are using GitHub enterprise server, you need to specify the custom url as variable.

View File

@ -103,7 +103,7 @@ def prepare_repo(url: urllib3.util.Url, project, refspec):
repo_url = (f"{url.scheme}://{url.auth}@{url.host}:{url.port}/{project}")
directory = pathlib.Path(mkdtemp())
clone(repo_url, directory),
clone(repo_url, directory)
fetch(repo_url, refspec, cwd=directory)
checkout(cwd=directory)
return directory

View File

@ -5,7 +5,7 @@ In addition to evaluating the suggestion correctness and importance, another sub
Examine each suggestion meticulously, assessing its quality, relevance, and accuracy within the context of PR. Keep in mind that the suggestions may vary in their correctness, accuracy and impact.
Consider the following components of each suggestion:
1. 'one_sentence_summary' - A one-liner summary summary of the suggestion's purpose
1. 'one_sentence_summary' - A one-liner summary of the suggestion's purpose
2. 'suggestion_content' - The suggestion content, explaining the proposed modification
3. 'existing_code' - a code snippet from a __new hunk__ section in the PR code diff that the suggestion addresses
4. 'improved_code' - a code snippet demonstrating how the 'existing_code' should be after the suggestion is applied

View File

@ -8,7 +8,7 @@
# models
model="o4-mini"
fallback_models=["gpt-4.1"]
#model_reasoning="o4-mini" # dedictated reasoning model for self-reflection
#model_reasoning="o4-mini" # dedicated reasoning model for self-reflection
#model_weak="gpt-4o" # optional, a weaker model to use for some easier tasks
# CLI
git_provider="github"