
What you’ll accomplish
- Create a service account in Atlassian Admin
- Generate OAuth 2.0 credentials for secure API access
- Configure the June integration
- Set up webhooks so June can respond to ticket events
- Learn how to trigger June to act on tickets
Prerequisites
Before starting the integration, ensure you have:- Atlassian organization admin access
- Access to create service accounts in Atlassian Admin
- June organization admin permissions
- Understanding of which Jira projects you want to integrate
How June Works with Jira
Triggering June
There are two ways to have June act on a Jira ticket:Mention June in a Comment
@June AI please triage this ticket). June will read the ticket and respond.Assign a Ticket to June
Available Actions
Once triggered, June can perform the following actions on Jira tickets:| Action | Description |
|---|---|
| Create ticket | Create a new issue in any project with summary, description, issue type, priority, and assignee |
| Get ticket | Read ticket details including summary, description, status, priority, assignee, and comments |
| Update description | Modify the description/body of an existing ticket |
| Add comment | Post comments on tickets (supports internal/private comments for JSM) |
| Transition ticket | Change ticket status (e.g., Open → In Progress → Resolved) |
| Assign to June | Take ownership of a ticket |
| Unassign ticket | Remove the current assignee from a ticket |
Example Use Cases
Triage incoming requests
Triage incoming requests
Answer common questions
Answer common questions
Update ticket status
Update ticket status
Create follow-up tickets
Create follow-up tickets
Setup Process
Step 1: Create a Service Account
Access Atlassian Admin
- Go to Atlassian Admin
- Log in with your organization admin credentials
- Navigate to Directory → Service accounts
Create Service Account
- Click Create service account
- Enter a name:
June AIand an optional description. - Select the app roles you want to grant to the service account.
- Jira Service Management: Grant the
User(agent)role to the service account. - Jira Software: Grant the
Userrole to the service account.
- Jira Service Management: Grant the
- Click Save to create the service account
Step 2: Create OAuth 2.0 Credentials
Access Service Account Settings
- Select the service account you just created (
june-integration) - Click Create credentials
- Select OAuth 2.0, then click Next
- Set a name for the credentials:
june-service-account-credentials.
Configure Required Scopes
read:jira-work- Read issues and projects datawrite:jira-work- Create/edit/delete issues, post comments as user, create worklogs.read:jira-user- View user information (email, username, avatar)
Step 3: Add Service Account to Projects
The service account needs access to each Jira project you want to integrate with June.Navigate to Project Settings
- Go to your Jira instance
- Open the project you want to integrate
- Navigate to Project settings → People (or Access depending on your Jira version)
Add Service Account
- Click Add people
- Search for the service account email or username from the previous step.
- Assign an appropriate role:
- Service Desk Team for Jira Service Management projects
- Member for Jira Software projects
- Click Add to confirm
Step 4: Configure June Integration
Access June Integrations
- Log into June
- Navigate to Settings → Integrations
- Select Jira from the available integrations
Enter Credentials
- Client ID: The
client_idfrom Step 2 - Client Secret: The
client_secretfrom Step 2
Connect and Select Instance
- Click Connect
- Verify the connection status shows as Active
- Once connected, you can set the default project key where June will create new tickets. This is optional and can be changed later.
Test the Connection
- Click Test Connection to verify the setup
- June will attempt to connect and retrieve sample data
- Resolve any authentication issues before proceeding
Test ticket creation
- Click on the Create test ticket button to test the ticket creation.
- A ticket will be created in the default project you specified above.
- Once the ticket is created, you can validate the ticket was created by the service account user.
- Feel free to close or delete the ticket after testing.
Webhook Configuration
Webhooks notify June when tickets are created, updated, or commented on—allowing June to respond in real-time when triggered by mentions or assignments.Step 1: Get Your Webhook URL
Step 2: Create Webhook in Jira
Access Jira System Settings
- Go to your Jira instance
- Click the Settings gear icon at the top right corner of the page.
- Navigate to System → Webhooks
Create New Webhook
- Click Create a webhook
- Configure the following settings:
- Name:
June Integration - URL: Paste the webhook URL from Step 1
- Secret: Generate a secure secret and save it for the next step.
- Name:
Select Webhook Events
Issue created- When new issues are createdIssue updated- When issues are modifiedIssue deleted- When issues are deletedComment created- When comments are addedComment updated- When comments are editedComment deleted- When comments are deleted
Step 3: Save Webhook Secret in June
Complete Webhook Setup
- Return to June’s Jira integration settings
- Enter the Webhook Secret you generated in Jira
- Click Save
- Your webhook is now active and will receive real-time updates
API Scopes Reference
| Scope | Description | Required |
|---|---|---|
read:jira-work | Read issues, projects, and boards | Yes |
write:jira-work | Create and update issues | Yes |
read:jira-user | Read user profiles | Yes |
read:servicedesk-request | Read JSM requests | JSM only |
write:servicedesk-request | Create JSM requests | JSM only |
Troubleshooting
Common Authentication Issues
No accessible Jira instances found
No accessible Jira instances found
- Ensure the service account has been granted access to at least one Jira site
- Verify the OAuth scopes include
read:jira-work - Check that the service account is active and not disabled
- Re-authenticate the integration in June
404 errors when fetching issues
404 errors when fetching issues
- The service account doesn’t have access to the project
- Add the service account to the project with at least “Browse Projects” permission
- Verify the project key is correct in any JQL filters
- Check if the project has been archived or deleted
Authentication errors
Authentication errors
- Client credentials may have been revoked in Atlassian Admin
- Re-create OAuth 2.0 credentials and update in June
- Verify the client ID and secret were copied correctly
- Check if the service account has been disabled
Webhook Issues
Webhook events not arriving
Webhook events not arriving
- Webhook URL is incorrect in Jira
- Webhook is paused or disabled
- Webhook secret mismatch between Jira and June
- JQL filter is excluding your issues
- Verify the webhook URL is correct in Jira settings
- Ensure the webhook is enabled (not paused)
- Confirm the webhook secret matches in both Jira and June
- Test without JQL filters to verify basic functionality
- Check Jira’s webhook logs for delivery errors
Duplicate events received
Duplicate events received
- Multiple webhooks configured for the same events
- Webhook retry mechanism triggering duplicates
- Review and remove duplicate webhook configurations
- June automatically deduplicates events based on issue ID and timestamp
June Not Responding
June doesn't respond when mentioned
June doesn't respond when mentioned
- Webhook not configured or not receiving events
- Service account not added to the project
- Incorrect mention format (wrong username)
- Verify webhook is configured and enabled in Jira
- Confirm the service account has access to the project
- Check you’re using the correct service account username in mentions
- Review webhook delivery logs in Jira for errors
June doesn't act on assigned tickets
June doesn't act on assigned tickets
- Webhook events for assignment changes not enabled
- Service account cannot be assigned tickets in the project
- Workflow restrictions preventing assignment
- Ensure “Issue updated” webhook event is enabled
- Verify the service account has the correct role to be assigned tickets
- Check project workflow rules for assignment restrictions
June's actions fail
June's actions fail
- Insufficient permissions for the action (e.g., transitioning tickets)
- Workflow restrictions preventing the action
- Required fields missing for the action
- Review service account permissions in the project
- Check project workflow for transition requirements
- Ensure any required custom fields are configured
Security Best Practices
Credential Management
- Token Security: OAuth 2.0 access tokens expire after 60 minutes and are automatically refreshed by June
- Secret Storage: Webhook secrets are encrypted at rest in June’s secure storage
- Unique Secrets: Use a unique webhook secret for each integration
- Regular Rotation: Periodically rotate OAuth credentials (quarterly recommended)
Access Control
- Least Privilege: Grant the service account only the permissions needed for integration
- Project Scope: Limit service account access to only the projects you need to integrate
- Audit Logging: Regularly review service account activity in Atlassian Admin
Incident Response
- If you suspect a webhook URL has been compromised, regenerate it immediately in June
- If credentials may be compromised, revoke them in Atlassian Admin and create new ones
- Review Jira audit logs for any unauthorized access
Next Steps
Once your Jira integration is configured:Configure Workflows
Asset Discovery
AI Insights
Identity Providers
Support Resources
Need help with your Jira integration?- Atlassian Documentation: Review Atlassian’s OAuth 2.0 documentation for additional details
- June Support: Contact support for integration-specific assistance