Connecting Jira¶
This guide walks you through connecting Mayo ASPM to your Jira instance so you can push security tickets directly to your team's boards.
Prerequisites¶
Before you begin, ensure you have:
- Jira Cloud or Jira Data Center (version 8.0+)
- Jira admin access (or ask your Jira admin to complete the OAuth step)
- Mayo ASPM admin or project-admin role
Step 1 — Start the connection¶
- Navigate to Settings > Integrations > Jira.
- Click Connect Jira.
- Select your Jira deployment type:
- Jira Cloud — uses OAuth 2.0
- Jira Data Center — uses application link with RSA keys
One connection per organization
Each Mayo ASPM organization connects to a single Jira instance. All projects within the organization share the same connection.
Step 2 — Authorize Mayo ASPM (Jira Cloud)¶
- Click Authorize with Atlassian.
- You will be redirected to Atlassian's consent screen.
- Select the Jira site you want to connect.
- Review the permissions Mayo ASPM requests:
| Permission | Why it's needed |
|---|---|
| Read Jira project data | To list available projects and issue types |
| Create and edit issues | To create and update security tickets |
| Read and write issue comments | To add context and sync status changes |
| Read user data | To populate assignee dropdowns |
| Manage webhooks | To receive status-change events for bi-directional sync |
- Click Accept.
- You will be redirected back to Mayo ASPM with a success message.
Step 2 (alt) — Authorize Mayo ASPM (Jira Data Center)¶
- Mayo ASPM will display an RSA public key and a consumer key.
- In Jira, go to Administration > Application Links.
- Create a new application link with the URL:
https://mayoaspm.com. - Configure the Incoming Authentication:
- Consumer Key: paste from Mayo ASPM
- Consumer Name:
Mayo ASPM - Public Key: paste from Mayo ASPM
- Back in Mayo ASPM, click Verify Connection.
- Authorize the link when Jira prompts you.
Step 3 — Configure project mapping¶
After authorization, map Mayo ASPM projects to Jira projects:
- You will see a table with your Mayo ASPM projects on the left.
- For each project, select a Jira project from the dropdown.
- Choose the issue type for generated tickets (e.g., Bug, Task, Story).
- Optionally set a default assignee or leave it for ownership policies to decide.
Mayo ASPM Project → Jira Project → Issue Type
───────────────── ────────────── ──────────
payments-api PAY Bug
auth-service AUTH Task
mobile-app MOB Bug
Tip
You can change project mappings at any time from Settings > Integrations > Jira > Project Mapping.
Step 4 — Configure field mapping¶
Mayo ASPM maps finding data to Jira fields. The defaults work for most teams, but you can customize:
| Mayo ASPM field | Default Jira field | Customizable? |
|---|---|---|
| Severity | Priority | Yes — map each severity to a Jira priority |
| Finding title | Summary | No |
| Description | Description | No |
| Labels | Labels | Yes — add custom labels |
| Assignee | Assignee | Yes — override with Jira username |
| Due date | Due date | Yes — set SLA-based due dates per severity |
Step 5 — Test the connection¶
- Click Send Test Ticket.
- Mayo ASPM creates a test issue in your selected Jira project.
- Verify the ticket appears in Jira with the correct fields.
- Delete the test ticket from Jira (or leave it — it's labeled
mayo-aspm-test).
Connection verified
If the test ticket appears correctly, your Jira integration is ready. You can now generate tickets from your findings.
Webhook sync (bi-directional)¶
Mayo ASPM registers a webhook on your Jira instance to receive real-time updates:
- Ticket closed in Jira — Mayo ASPM marks the finding as Resolved
- Ticket reopened in Jira — Mayo ASPM marks the finding as Open
- Comment added in Jira — visible in the Mayo ASPM finding timeline
Warning
If the webhook is deleted from Jira, bi-directional sync will stop. Mayo ASPM checks webhook health daily and will alert you if the webhook is missing.
Troubleshooting¶
| Problem | Solution |
|---|---|
| OAuth redirect fails | Ensure pop-ups are allowed for id.atlassian.com |
| "No Jira projects found" | Your Jira user may not have access to any projects |
| Test ticket not appearing | Check the Jira project's workflow allows the default status |
| Webhook not working | Verify the webhook URL is reachable from your Jira instance |
For more help, see Integration troubleshooting.
Next steps¶
- Generating tickets — create tickets from findings
- Triage funnel — filter findings before ticketing