Skip to main content

Check out Port for yourselfย 

User

User is a data type used to reference users that exist in Port.

Common user usageโ€‹

The user property type can be used to reference any user that exists in Port, for example:

  • The code owners;
  • The current on-call;
  • The lead maintainer;
  • etc.

In this live demo example, we can see the On Call user property. ๐ŸŽฌ

note

Even though the input is the same in both email and user formats, their presentation is different:

  • email format displays the raw email string;
  • user format displays the user's name and avatar from Port's list of known users.

In addition, user format distinguishes between users by their status:

User StatusExample
ActiveActive user
InvitedInvited user
UnregisteredExternal user

API definitionโ€‹

Limit fieldโ€‹

When creating a blueprint property of type User in the UI, use the limit field to define how many values users can select for that property.

In the property creation form, the limit field dropdown provides two options:

  • 1 value: Only one value can be selected.
  • List of values: Multiple values can be selected.

Selecting the list of values option will set the property's type to array in the JSON definition.

Limit field restriction

The limit field setting, whether it's 1 value or a list of values, is permanent and cannot be changed after the property is created. If you create a property with a single value limit, you wonโ€™t be able to change it later to allow multiple values.

To change the limit configuration after creation, you have two options:

{
"myUserProp": {
"title": "My user",
"icon": "My icon",
"description": "My user property",
"type": "string",
"format": "user",
"default": "me@example.com"
}
}

Check out Port's API reference to learn more.

Terraform definitionโ€‹

resource "port_blueprint" "myBlueprint" {
# ...blueprint properties
properties = {
string_props = {
myUserProp = {
title = "My user"
required = false
format = "user"
}
}
}
}

Pulumi definitionโ€‹

"""A Python Pulumi program"""

import pulumi
from port_pulumi import Blueprint,BlueprintPropertyArgs,BlueprintPropertiesArgs

blueprint = Blueprint(
"myBlueprint",
identifier="myBlueprint",
title="My Blueprint",
properties=BlueprintPropertiesArgs(
string_props={
"myUserProp": BlueprintPropertyArgs(
title="My user",
required=False,
format="user",
)
}
),
relations={}
)