Set up your service catalog
Now that your tools are connected to your portal, you can start creating your service catalog and add some users and teams to your organization.
This page will explain some basic concepts and describe the process of onboarding assets to your portal.
Service catalogโ
Every Port account comes with a set of default blueprints.
Three of these blueprints are designed to help you create a rich and dynamic service catalog:
To manually onboard services
, workloads
and environments
, go to the relevant page in the Service catalog page, and click on the +
button in the top right corner (for example, + Service
in the Services
page).
This will create entities, with rich context from the tools you've integrated.
For example:
Say you've integrated GitHub
, Jira
, and Pagerduty
.
When onboarding a service via the + Service
button, you will be able to select the relevant GitHub repository
, Jira project
, and Pagerduty service
related to that service.
This will create a single service
entity, with relations to the relevant entities you selected, serving as a single component to track & manage the service.
Users & teamsโ
Two other default blueprints are designed to help you manage users, teams, and ownership in your portal:
To manually onboard users and teams, go to the relvant page in the Organization catalog, and click on the +
button in the top right corner (for example, + User
in the Users
page).
This will create entities, with rich context from the tools you've integrated.
Register your userโ
First, in the users page, choose Register your user
.
This will create a user
entity with context of your user accounts in other tools you've integrated.
Now that you've registered your user, some components in your portal will be populated with data.
For example, the table named Track your open pull requests
in the Plan my day page is configured to display pull request
entities that were opened by the logged in user (in this case, you).
This table should now be populated with PRs from your Git provider.
Register teamsโ
In the teams page, choose Register a new team
and select your user as a member.
This will create a team
entity and add your user to it.
Now that your user is a member of a team, widgets in the My team page will be populated with data.
Register more usersโ
To see what components in your portal look like with more than one user, register additional users to add them to your Port organization.
If you want to create users without inviting them to the portal just yet, make sure the Invite to Port
toggle is disabled when creating the user.
The user
and team
blueprints are powerful components that can be leveraged for many use cases, such as ownership definition, RBAC definition, dynamic visualization, and more.
Read more about them in the User & team management page.
How the service catalog worksโ
As you may have seen, installing an integration will create one or more blueprints, some of which may have a relation to other blueprints.
For example, when installing the PagerDuty
integration, the pagerdutyIncident
blueprint has a relation to the pagerdutyService
blueprint.
Additionally, some of the blueprints will have a relation to one of the default blueprints (e.g. service
).
In the PagerDuty
example, the pagerdutyIncident
blueprint has a relation to the service
blueprint.
This results in a rich service
component, as these relations give it context from other components in your data model.
You can then use this service component to achieve many use cases, such as:
-
Calculate "Mean time to recovery" for a
service
by adding an aggregation property to it, that will sum thetimeToRecovery
property of allpagerdutyIncident
entities related to it. -
Calculate total monthly incident count for a
service
by adding an aggregation property to it, that will sum the number of relatedpagerdutyIncident
entities. -
Create visualizations to track incidents, e.g. a chart that shows the number of incidents per service, a table that shows all incidents per service/team, and more.
Relation mappingโ
To connect integration entities and default component entities, (like the pagerdutyIncident
->service
relation), we use a rule to find the relevant service
entity for each pagerdutyIncident
entity.
Read more about relation mapping here.
For example, here is part of the default mapping for the PagerDuty
integration.
Note the rule that is used under the service
relation, which will find the relevant service
entity for each pagerdutyIncident
entity:
kind: incidents
selector:
...
port:
entity:
mappings:
...
relations:
pagerdutyService: .service.id
service:
combinator: '"and"'
rules:
- property: '"pagerdutyServiceId"'
operator: '"="'
value: .service.id
You can use this method to connect additional components to default components in your data model.
Next step - automatic discoveryโ
Proceed to the next step to learn how to manage your catalog automatically, creating and updating components based on changes in data from your tools.