Skip to main content

Ingest data into the software catalog

Port offers several integrations, allowing you to easily ingest and manage data with the tools you are already use in your infrastructure.

Catalog Architecture

Introductionโ€‹

Port's integration methods allow you to ingest both blueprints and entities.

By using Port's integrations you ensure that the software catalog is always up to date, and that live data is ingested directly from your systems, which is the most reliable source-of-truth for your environment.

Creating entitiesโ€‹

An entity is an object that matches the type defined by a blueprint, and it represents the data of the software components which is defined by the blueprint properties.

Entity JSON structureโ€‹

This is the basic structure of an entity:

{
"identifier": "unique-ID",
"title": "Title",
"team": [],
"blueprint": "blueprintName",
"properties": {
"property1": "",
"property2": ""
},
"relations": {}
}

Structure tableโ€‹

FieldTypeDescription
identifierStringUnique identifier.
Note that while the identifier is unique, it can be changed after creation.
titleStringEntity name that will be shown in the UI.
teamArrayOptional Field. An array of the associated teams.
Note that group permissions are handled according to this array, see Teams and ownership.
blueprintStringThe name of the blueprint that this entity is based on.
propertiesObjectAn object containing key-value pairs, where each key is a property as defined in the blueprint definition, and each value applies the type of the property.
relationsobjectAn object containing key-value pairs.
Each key is the identifier of the relation that is defined on the blueprint.

See more in the related entities section.

Teams and ownershipโ€‹

teams and ownership

The team key defines ownership over an entity and controls who can modify or delete an existing entity.

To Explore more about ownership in Port see our permissions section.

When two blueprints are connected, creating an entity of the source blueprint will show an additional option - a relation.

This option is shown under the relations section as follows:

Single relation exampleโ€‹

When a relation between blueprints is configured with many = false, you can add a relation to an entity by adding the relationIdentifier as key, and the relatedEntityIdentifier as value:

"relations": {
"relation-identifier": "relatedEntityIdentifier"
}

Many relation exampleโ€‹

When a relation between blueprints is configured with many = true, you can add a relation to an entity by adding the relationIdentifier as key, and an array of relatedEntityIdentifier(s) as value:

"relations": {
"relation-identifier": ["relatedEntityIdentifier1", "relatedEntityIdentifier2"]
}
tip

Click for more details about relations.

Ingestion integration methodsโ€‹

Port offers a variety of data ingestion integrations and methods, these make it easy to ingest data to the catalog and keep it up to date.

Use the links below to learn about the different data ingestion methods Port offers: