# Integrations troubleshooting

## Jira integration issues

#### OAuth scopes error when connecting Jira

**Symptom:** After creating an OAuth app in the Atlassian Developer Console and entering the credentials in SRE.ai, you receive an error related to scopes or permissions.

**Cause:** The OAuth app in Atlassian requires specific API scopes to be configured before SRE.ai can connect.

**Solution:**

1. Go to the [Atlassian Developer Console](https://developer.atlassian.com/console/myapps/)
2. Select your SRE.ai OAuth app
3. Go to **Permissions** in the left sidebar
4. Add the **Jira API** permission
5. Configure the following scopes:
   * `read:jira-work` — View Jira issues and projects
   * `write:jira-work` — Create and manage issues
   * `read:jira-user` — Read user information
   * `offline_access` — Maintain access via refresh tokens
6. Go to **Authorization** in the left sidebar
7. Click **Add** next to "OAuth 2.0 (3LO)"
8. Enter the callback URL provided by SRE.ai
9. Save and return to SRE.ai to retry the connection

#### Jira integration is limited to certain projects

**Symptom:** After connecting Jira, you can only see or interact with some projects, not all projects in your Atlassian workspace.

**Cause:** The Jira integration inherits the permissions of the user who created the OAuth app. If that user doesn't have access to certain projects, SRE.ai won't be able to access them either.

**Solution:**

1. Have a user with broader project access create the OAuth app, or
2. Ensure the user who created the OAuth app is granted access to the necessary Jira projects

{% hint style="info" %}
You can create one OAuth app for your entire Atlassian organization. There's no need for a per-project approach.
{% endhint %}

## GitLab connection issues

#### Missing or incorrect OAuth app scopes

**Symptom:** After entering your GitLab OAuth credentials in SRE.ai, the connection fails or certain operations (repository access, push event handling) don't work.

**Cause:** The GitLab OAuth app requires specific scopes to be granted during creation.

**Solution:**

When creating your OAuth app in GitLab (under **User Settings → Applications** or the Admin Area for group-level apps), ensure all four scopes are checked:

* `api` — Full API access, required for repository operations and MR management
* `read_user` — Read user profile information
* `read_repository` — Read repository contents
* `write_repository` — Push commits and manage branches

If you created the app without all scopes, you'll need to edit the app in GitLab and re-authorize in SRE.ai.

#### Self-hosted GitLab URL not accepted

**Symptom:** When connecting a self-hosted GitLab instance, SRE.ai fails to redirect to your GitLab login page, or returns an error after authorization.

**Solution:**

1. Ensure the GitLab URL field in SRE.ai contains the full base URL of your instance (e.g., `https://gitlab.yourcompany.com`)
2. Do not include a trailing slash or `/api/v4` path — SRE.ai appends the API path automatically
3. Confirm your instance is reachable from the internet (or that SRE.ai has network access to it)
4. Verify the OAuth app's **Redirect URI** in GitLab matches the callback URL shown in SRE.ai

#### Webhook events not triggering pipeline actions

**Symptom:** Pushes or merge requests in GitLab don't appear to trigger SRE.ai automations or pipeline updates.

**Cause:** GitLab webhooks use a secret token (`X-Gitlab-Token`) for verification. If the token in GitLab doesn't match what SRE.ai has stored, all webhook events are rejected with `401 Unauthorized`.

**Solution:**

1. In SRE.ai, go to your pipeline or integration settings and copy the webhook secret
2. In GitLab, go to your repository or group → **Settings → Webhooks**
3. Find the SRE.ai webhook entry and verify the **Secret token** matches exactly
4. If unsure, delete the webhook and re-add it with the correct secret from SRE.ai
5. Use GitLab's **Test** button on the webhook to confirm events are being received

#### GitLab integration only sees some repositories

**Symptom:** After connecting GitLab, SRE.ai can only access a subset of your repositories.

**Cause:** The GitLab integration uses the OAuth token of the user who connected it. That user's visibility determines which repositories SRE.ai can access.

**Solution:**

Have a user with the appropriate access level (at minimum **Developer** role on the relevant projects) connect the GitLab integration, or ensure the connecting user is added to all required projects.

## GitHub connection issues

#### Connection works on initial setup, but fails on updates

**Symptom:** You initially connected GitHub, but when you try to update repository access (adding or removing repositories), the changes don't seem to take effect, or you're not redirected back to SRE.ai.

**Solution:**

1. **Return to SRE.ai manually:** After updating your GitHub app installation settings, navigate back to SRE.ai directly. Your updated repository access should be reflected.
2. **Verify in GitHub:** Go to your GitHub organization settings → Installed GitHub Apps → SRE.ai GitHub App to confirm your repository selections were saved.
3. **Reconnect if needed:** If the connection appears broken, you can remove the SRE.ai GitHub app from your organization and reinstall it with the correct repository access.

#### Accidentally connected the personal account instead of the organization

**Symptom:** You connected GitHub, but don't see your organization's repositories, or SRE.ai is connected to your personal repositories instead of your team's.

**Solution:**

1. Go to GitHub → Settings → Applications → Installed GitHub Apps
2. Find the SRE GitHub App and click **Configure**
3. If it's installed on your personal account, click **Uninstall**
4. Return to SRE.ai and click **Connect GitHub Account** again
5. This time, select your **organization** from the list (not your personal account)
6. Choose the repositories you want to connect to and complete the installation


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sre.ai/troubleshooting/integrations-troubleshooting.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
