diff --git a/docs/docs/installation/gitlab.md b/docs/docs/installation/gitlab.md index cb3b7931..844d6789 100644 --- a/docs/docs/installation/gitlab.md +++ b/docs/docs/installation/gitlab.md @@ -1,3 +1,42 @@ +## Run as a GitLab Pipeline +You can use a pre-built Action Docker image to run PR-Agent as a GitLab pipeline. This is a simple way to get started with PR-Agent without setting up your own server. + +(1) Add the following file to your repository under `.gitlab-ci.yml`: +```yaml +stages: + - pr_agent + +pr_agent_job: + stage: pr_agent + image: + name: codiumai/pr-agent:latest + entrypoint: [""] + script: + - cd /app + - echo "Running PR Agent action step" + - export MR_URL="$CI_MERGE_REQUEST_PROJECT_URL/merge_requests/$CI_MERGE_REQUEST_IID" + - echo "MR_URL=$MR_URL" + - export gitlab__PERSONAL_ACCESS_TOKEN=$GITLAB_PERSONAL_ACCESS_TOKEN + - export config__git_provider="gitlab" + - export openai__key=$OPENAI_KEY + - python -m pr_agent.cli --pr_url="$MR_URL" describe + - python -m pr_agent.cli --pr_url="$MR_URL" review + - python -m pr_agent.cli --pr_url="$MR_URL" improve + rules: + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_EVENT_TYPE == "merge_request" && $CI_MERGE_REQUEST_STATE == "opened"' +``` +Note that this script will run PR-Agent on every new merge request. You can modify the `rules` section to run PR-Agent on different events. +You can also modify the `script` section to run different PR-Agent commands, or with different parameters by exporting different environment variables. + + +(2) Add the following variables to your GitLab repository (CI/CD -> Variables): +- `GITLAB_PERSONAL_ACCESS_TOKEN`: Your GitLab personal access token. +- `OPENAI_KEY`: Your OpenAI key. + +Note that if your base branches are not protected, don't set the variables as `protected`, since the pipeline will not have access to them. + + + ## Run a GitLab webhook server 1. From the GitLab workspace or group, create an access token. Enable the "api" scope only.