Connectors
Jira
Connect your Jira projects to SurfSense
Jira OAuth Integration Setup Guide
This guide walks you through setting up an Atlassian OAuth 2.0 (3LO) integration for SurfSense to connect your Jira projects.
Step 1: Access the Developer Console
- Navigate to developer.atlassian.com
- Click your profile icon in the top-right corner
- Select "Developer console" from the dropdown

Step 2: Create a New OAuth 2.0 Integration
- In the Developer Console, under My apps, click the "Create" button
- Select "OAuth 2.0 integration" from the dropdown

Step 3: Name Your Integration
- Enter Name:
SurfSense - Check the box to agree to Atlassian's developer terms
- Click "Create"
ℹ️ New OAuth 2.0 integrations use rotating refresh tokens, which improve security by limiting token validity and enabling automatic detection of token reuse.

Step 4: Configure Callback URL
- In the left sidebar, click "Authorization"
- Under Callback URLs, enter the redirect URI:
http://localhost:8000/api/v1/auth/jira/connector/callback - Click "Save changes"
ℹ️ You can enter up to 10 redirect URIs, one per line.

Step 5: Configure API Permissions
- In the left sidebar, click "Permissions"
- You'll see a list of available APIs including Jira API

Step 6: Configure Jira API Scopes
- Click "Configure" next to Jira API
- Select the "Classic scopes" tab
- Under Jira platform REST API, select the following scopes:
| Scope Name | Code | Description |
|---|---|---|
| ✅ View Jira issue data | read:jira-work | Read Jira project and issue data, search for issues, and objects associated with issues like attachments and worklogs |
| ✅ View user profiles | read:jira-user | View user information in Jira that the user has access to, including usernames, email addresses, and avatars |
- Click "Save"

Step 7: Get OAuth Credentials
- In the left sidebar, click "Settings"
- Copy your Client ID and Client Secret
⚠️ Never share your client secret publicly.
Running SurfSense with Jira Connector
Add the Atlassian environment variables to your Docker run command:
docker run -d -p 3000:3000 -p 8000:8000 \
-v surfsense-data:/data \
# Jira Connector
-e ATLASSIAN_CLIENT_ID=your_atlassian_client_id \
-e ATLASSIAN_CLIENT_SECRET=your_atlassian_client_secret \
-e JIRA_REDIRECT_URI=http://localhost:8000/api/v1/auth/jira/connector/callback \
--name surfsense \
--restart unless-stopped \
ghcr.io/modsetter/surfsense:latest