diff --git a/docs/platforms/saas-azure-devops.md b/docs/platforms/saas-azure-devops.md new file mode 100644 index 00000000..6fdc2adf --- /dev/null +++ b/docs/platforms/saas-azure-devops.md @@ -0,0 +1,75 @@ +--- +title: Integrating CodeRabbit with SaaS Azure DevOps +description: Integrate CodeRabbit with SaaS Azure DevOps. +sidebar_label: SaaS Azure DevOps BETA +sidebar_position: 4 +--- + +This guide will assist you in effectively integrating CodeRabbit with SaaS Azure DevOps. + +## Prerequisites + +* An active Azure DevOps account. +* Use of organizational email addresses is required; personal email addresses are not supported for this integration. + +## Integration Instructions +1. Log in to the CodeRabbitAI application. +2. After logging in, you will be redirected to a page displaying Microsoft Apps consent requests. Please forward these requests to your administrator for approval. + +:::warning + +If you are an administrator, you may approve the applications directly. If not, please contact your administrator to request approval for the applications. + +::: + + + +3. Once your administrator has approved the applications, click "Continue." +4. You will be redirected to the "Onboarding" page, where you can select the organization you wish to integrate with. +5. On the "Azure DevOps User" page, enter your Personal Access Token for Azure DevOps. + +6. To install CodeRabbit on a repository, toggle the switch on the "Repositories" page. + +## How it works + +For the CodeRabbit app to post reviews on merge requests, it needs to interact with the Azure DevOps API, which requires a Personal Access Token. This token can be generated by creating a Personal Access Token from one of your existing users. + +You can create a new user in Azure DevOps and generate a Personal Access Token for that user, following [our recommendations](#recommendations). + +## Azure DevOps Personal Access Tokens + +To interact with the Azure DevOps API, a **Personal Access Token** is required. This token can be generated by creating a **Personal Access Token** from one of your existing users. + +Upon first login to the application (immediately after the onboarding screen), you will need to add the Personal Access Token. + + + +### Recommendations + +* **Create a dedicated user for CodeRabbit** - This ensures the user is exclusively for CodeRabbit, allowing better access control. +* **Use "CodeRabbit" as the username** - This makes the user easily recognizable for future reference. +* **Use a dedicated email address** - This helps in easy identification and management. +* **Use the CodeRabbit logo as the profile picture** - This further ensures easy recognition. You can download our logo from [here](/img/integrations/logo.svg "download"). + +### Key Points to Remember + +* Personal access tokens have expiration dates. Ensure the expiration date covers the duration of your intended use of the CodeRabbit app. +* Code reviews will be attributed to the owner of the personal access token. +* If the personal access token expires, you can add a new one via the CodeRabbit UI: + * Navigate to the "AzureDevOps User" page in the sidebar. + * Add the new token and click save. + +### Generating a Personal Access Token + +Azure DevOps provides an option to generate a personal access token for a user. Follow these steps to generate the token: + +1. Log in as the user intended for CodeRabbit reviews. +2. Next to your avatar on the headers right side is a settings icon, click it. +3. Choose "Personal Access Tokens" +4. Click "New Token" +5. Select the organization you want to use the token with or select "All accessible organizations." +6. Enter a name and an expiry date for the token. +7. We need to have read & write access to "Work Items" & "Code" to post reviews on pull requests. +8. Click "Create" + + diff --git a/static/img/integrations/azure-access-token.png b/static/img/integrations/azure-access-token.png new file mode 100644 index 00000000..9ce2b44b Binary files /dev/null and b/static/img/integrations/azure-access-token.png differ diff --git a/static/img/integrations/azure_apps_consent_page.png b/static/img/integrations/azure_apps_consent_page.png new file mode 100644 index 00000000..5f401ea6 Binary files /dev/null and b/static/img/integrations/azure_apps_consent_page.png differ diff --git a/static/img/integrations/azure_devops_user_page.png b/static/img/integrations/azure_devops_user_page.png new file mode 100644 index 00000000..ee340d1d Binary files /dev/null and b/static/img/integrations/azure_devops_user_page.png differ diff --git a/static/img/integrations/azure_personal_access_token_add.png b/static/img/integrations/azure_personal_access_token_add.png new file mode 100644 index 00000000..1ea8b864 Binary files /dev/null and b/static/img/integrations/azure_personal_access_token_add.png differ