TeamAPI latest
On this page
  1. The model
  2. Compared with Backstage
  3. Limits
  4. Suggested loop

Port

Port is an internal developer portal whose catalog is defined through blueprints and entities. This target exports the teams, services, and people already recorded in TeamAPI.

teamapi generate port /path/to/your/org --out ./port
port/blueprints.json    # apply once
port/entities.json      # apply on every change

Two files because they go to different endpoints and have different lifecycles: blueprints define the shape and change rarely, entities are the data and change every merge.

The model#

blueprint from properties relations
teamapi_team each team topology, focus, cognitive load + label members → person
teamapi_service services[] repository, versioning owner → team
teamapi_person members[] email, GitHub username, allocation

Compared with Backstage#

The two targets mostly overlap. Port also carries cognitive load.

Port scores and colours numeric properties, so a team's self-assessed load can drive table sorts, thresholds, and alerts. Backstage's entity model has nowhere to put it, so the Backstage target omits that number.

Existing Backstage installations can keep using that target. Port carries more of the TeamAPI spec when either portal is an option.

Limits#

Suggested loop#

  1. teamapi generate port --out ./port on merge.
  2. POST port/blueprints.json once, then upsert entities.json through Port's bulk entity API.
  3. Build a scorecard on cognitiveLoad, which Port exposes directly as a numeric property.