Integrations¶
Mayo ASPM connects to your development and security toolchain to ingest assets, run scans, create tickets, and automate workflows. This section covers each supported integration.
Available integrations¶
| Integration | Purpose | Status |
|---|---|---|
| GitHub App | Repository discovery, webhook events, PR scanning, code access | GA |
| Jira | Ticket creation, bi-directional status sync | GA |
| API Keys | Programmatic access to the Mayo ASPM API | GA |
| Airflow | Scheduled scan orchestration | GA |
Integration architecture¶
┌──────────────┐ webhooks ┌──────────────────┐
│ GitHub │──────────────────▶│ │
│ (repos, │◀──────────────────│ Mayo ASPM │
│ PRs) │ check runs │ │
└──────────────┘ │ ┌────────────┐ │
│ │ Scanner │ │
┌──────────────┐ API calls │ │ Engine │ │
│ Jira │◀──────────────────│ └────────────┘ │
│ (tickets) │──────────────────▶│ │
└──────────────┘ webhooks │ ┌────────────┐ │
│ │ OPA │ │
┌──────────────┐ REST API │ │ Engine │ │
│ Airflow │──────────────────▶│ └────────────┘ │
│ (schedules) │ │ │
└──────────────┘ └──────────────────┘
Setting up integrations¶
All integrations are managed from Settings > Integrations. Each integration has its own setup flow:
- GitHub — Install the Mayo ASPM GitHub App on your organization. Setup guide.
- Jira — Authorize via OAuth or application link. Setup guide.
- API Keys — Generate keys from the settings page. Setup guide.
- Airflow — Configure an Airflow DAG to call the Mayo ASPM API. Setup guide.
Integration health¶
The Integration Health panel on the Settings page shows the status of each connected integration:
| Status | Meaning |
|---|---|
| Connected | Integration is active and working |
| Degraded | Partial issues (e.g., webhook delivery failing) |
| Disconnected | Integration needs to be re-authorized |
| Not configured | Integration has not been set up |
Mayo ASPM checks integration health automatically and sends alerts when an integration degrades.
Permissions model¶
Each integration requests only the permissions it needs:
- GitHub App — read access to code and metadata, write access to check runs and comments
- Jira — create/edit issues, read projects and users, manage webhooks
- API Keys — scoped to the permissions you select at creation time
Least privilege
Mayo ASPM follows the principle of least privilege. You can review and audit all permissions from the integration settings page.
Data flow¶
| Data | Direction | Integration |
|---|---|---|
| Repository list | GitHub -> Mayo ASPM | GitHub App |
| Code for scanning | GitHub -> Mayo ASPM | GitHub App |
| PR events | GitHub -> Mayo ASPM | GitHub App (webhooks) |
| Check run results | Mayo ASPM -> GitHub | GitHub App |
| Tickets | Mayo ASPM -> Jira | Jira |
| Ticket status changes | Jira -> Mayo ASPM | Jira (webhooks) |
| Scan triggers | Airflow -> Mayo ASPM | API |
| Scan results | Mayo ASPM -> Airflow | API |