Skip to main content

Check out Port for yourself ➜ 

Aikido

Loading version...

Port's Aikido integration allows you to model Aikido resources in your software catalog and ingest data into them.

Supported resources RepositoriesIssues

Setup

Choose your preferred installation method below. Not sure which to pick? See the installation methods overview.

Configuration

Port integrations use a YAML mapping block to ingest data from the third-party api into Port.

The mapping makes use of the JQ JSON processor to select, modify, concatenate, transform and perform other operations on existing fields and values from the integration API.

Webhook Configuration

To enable real-time data synchronization from Aikido to Port, you must configure webhooks in Aikido following this guide. This setup allows Port to receive immediate notifications whenever relevant changes occur in Aikido. When setting up the webhook, the URL should follow the format:

<base_url>/integration/webhook

IMPORTANT

For security and event authenticity, we strongly recommend setting an HMAC secret in the Aikido dashboard. Once configured, make sure to set the corresponding value in your Port environment using the variable OCEAN__INTEGRATION__CONFIG__WEBHOOK_SECRET . This ensures Port can securely verify incoming webhook events from Aikido.

Default mapping configuration

This is the default mapping configuration for this integration:

Default mapping configuration (Click to expand)
deleteDependentEntities: true
createMissingRelatedEntities: true
enableMergeEntity: true
resources:
- kind: repositories
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"aikidoRepository"'
identifier: .id | tostring
title: .name
properties:
name: .name
provider: .provider
externalRepoId: .external_repo_id
active: .active
url: .url
branch: .branch
lastScannedAt: .last_scanned_at
- kind: issues
selector:
query: 'true'
port:
entity:
mappings:
blueprint: '"aikidoIssue"'
identifier: .id | tostring
title: .rule | tostring
properties:
status: .status
severity: .severity
severityScore: .severity_score
affectedFile: .affected_file
attackSurface: .attack_surface
type: .type
rule: .rule
codeRepoId: .code_repo_id
codeRepoName: .code_repo_name
relations:
aikidoRepository: .code_repo_id

Mapping & examples per resource

Monitoring and sync status

To learn more about how to monitor and check the sync status of your integration, see the relevant documentation.