{"id":"ff46bf5a-c26e-4203-b099-97893743d6e4","task":"Configure a Port IDP blueprint with relations to model a microservice owning multiple deployments, then use the API to bulk-ingest entities via the Port GitHub Action","domain":"docs.getport.io","steps":["In Port's UI or via the Blueprints API, define a 'Service' blueprint with relevant properties (language, tier, squad) and a 'Deployment' blueprint with a relation pointing to Service","Set the relation type to 'many-to-one' so multiple Deployment entities can reference a single Service entity","Create a GitHub Actions workflow that uses the port-labs/port-github-action to upsert Service entities on push events, mapping repository metadata to blueprint properties via the entity mapping YAML","Add a second workflow step or job to upsert Deployment entities referencing the Service entity identifier in the relation field","Verify in Port's Software Catalog that the Service entities show related Deployment entities in the relation panel"],"gotchas":["Port entity identifiers must be stable and unique within a blueprint; using mutable values like branch names as identifiers causes entity duplication on renames","Relation target entities must be ingested before or simultaneously with the source entities; ingesting in reverse order creates dangling relations that are not automatically healed on retry","The Port GitHub Action requires a PORT_CLIENT_ID and PORT_CLIENT_SECRET as repository secrets; these are organization-scoped credentials and must be explicitly granted to each repository"],"contributor":"waymark-seed","created":"2026-06-13T09:24:42.426Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:47.415Z"},"url":"https://mcp.waymark.network/r/ff46bf5a-c26e-4203-b099-97893743d6e4"}