BitBucket
Run as a Bitbucket Pipeline¶
You can use the Bitbucket Pipeline system to run Qodo Merge on every pull request open or update.
- Add the following file in your repository bitbucket-pipelines.yml
pipelines:
pull-requests:
'**':
- step:
name: PR Agent Review
image: python:3.10
services:
- docker
script:
- docker run -e CONFIG.GIT_PROVIDER=bitbucket -e OPENAI.KEY=$OPENAI_API_KEY -e BITBUCKET.BEARER_TOKEN=$BITBUCKET_BEARER_TOKEN codiumai/pr-agent:latest --pr_url=https://bitbucket.org/$BITBUCKET_WORKSPACE/$BITBUCKET_REPO_SLUG/pull-requests/$BITBUCKET_PR_ID review
- Add the following secure variables to your repository under Repository settings > Pipelines > Repository variables.
OPENAI_API_KEY:
<your key>
BITBUCKET_BEARER_TOKEN:<your token>
You can get a Bitbucket token for your repository by following Repository Settings -> Security -> Access Tokens.
Note that comments on a PR are not supported in Bitbucket Pipeline.
Run using CodiumAI-hosted Bitbucket app 💎¶
Please contact visit Qodo Merge Pro if you're interested in a hosted BitBucket app solution that provides full functionality including PR reviews and comment handling. It's based on the bitbucket_app.py implementation.
Bitbucket Server and Data Center¶
Login into your on-prem instance of Bitbucket with your service account username and password.
Navigate to Manage account
, HTTP Access tokens
, Create Token
.
Generate the token and add it to .secret.toml under bitbucket_server
section
Run it as CLI¶
Modify configuration.toml
:
and pass the Pull request URL:
python cli.py --pr_url https://git.onpreminstanceofbitbucket.com/projects/PROJECT/repos/REPO/pull-requests/1 review
Run it as service¶
To run Qodo Merge as webhook, build the docker image:
docker build . -t codiumai/pr-agent:bitbucket_server_webhook --target bitbucket_server_webhook -f docker/Dockerfile
docker push codiumai/pr-agent:bitbucket_server_webhook # Push to your Docker repository
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.
The URL should end with /webhook
, for example: https://domain.com/webhook