Amplication
Port's Amplication integration allows you to model Amplication resources in your software catalog, from which you can then automate code generation using predefined templates, ensuring standardization for resource creation.
Common use cases
- Automate scaffolding of new services using Amplication's templates.
- Ensure standardization by enforcing predefined golden paths for resource creation.
- Leverage code generation to accelerate development and maintain consistency.
- Poll Amplication for templates, resources, and outdated version alerts to keep you in sync with your Amplication resources.
Prerequisites
Amplication API token
To generate a token:
- Navigate to Amplication and go to the settings tab of your workspace.
- Navigate to the
API Tokenssection and generate a new token. - Copy the token and save it in a secure location.
Amplication host URL
Your Amplication host URL is https://server.amplication.com/graphql.
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 Amplication's 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.
Default mapping configuration
This is the default mapping configuration for this integration:
Default mapping configuration (click to expand)
deleteDependentEntities: true
createMissingRelatedEntities: true
resources:
- kind: amplication_template
selector:
query: 'true'
port:
entity:
mappings:
identifier: .id
title: .name
blueprint: '"AmplicationTemplate"'
properties:
description: .description
project: .project.name
project_id: .project.id
blueprint: .blueprint.name
blueprint_id: .blueprint.id
- kind: amplication_resource
selector:
query: 'true'
port:
entity:
mappings:
identifier: .id
title: .name
blueprint: '"AmplicationResource"'
properties:
description: .description
project: .project.name
project_id: .project.id
blueprint: .blueprint.name
blueprint_id: .blueprint.id
git_organization: .gitRepository.gitOrganization.provider
git_repository: .gitRepository.gitOrganization.name + "/" + .gitRepository.name
relations:
template: if .serviceTemplate != null then .serviceTemplate.id else null end
- kind: amplication_alert
selector:
query: 'true'
port:
entity:
mappings:
identifier: .id
title: 'if .block != null then .type + ": " + .block.displayName else .type end'
blueprint: '"AmplicationAlert"'
properties:
block_id: if .block != null then .block.id else null end
block_displayName: if .block != null then .block.displayName else null end
type: .type
outdatedVersion: .outdatedVersion
latestVersion: .latestVersion
status: .status
relations:
resource: .resourceId
Monitoring and sync status
To learn more about how to monitor and check the sync status of your integration, see the relevant documentation.
Mapping & examples per resource
Use the explorer below to view sample payloads and the resulting Port entities for each resource type.