Skip to main content

Check out Port for yourself ➜ 

Amplication

Loading version...

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:

  1. Navigate to Amplication and go to the settings tab of your workspace.
  2. Navigate to the API Tokens section and generate a new token.
  3. 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.