Work with user-defined fields
This topic provides instructions for using the POST operation to add a UDF (user-defined field).
Note: The POST, GET and PUT operations are supported on UDFs. DELETE is not supported on UDFs through the REST API.
Create UDFs
The following example creates a UDF for the defect entity at the shared space level. All workspaces under the designated shared space will inherit the UDF.
POST .../api/shared_spaces/<space_id>/workspaces/500/metadata_fields
{
"data" : [ {
"entity_type": "defect",
"label": "Post Release",
"subtype": "field_metadata_boolean",
"type": "field_metadata",
"name": "post_release_udf"
}
]
}
Note: The workspace 500 is an internal workspace that serves the shared space.
The above action creates a field of type boolean. You can create UDFs using any of the following field types:
-
field_metadata_boolean
-
field_metadata_date_time
-
field_metadata_list
-
field_metadata_long
-
field_metadata_long_string
-
field_metadata_memo
-
field_metadata_ref_to_release
-
field_metadata_ref_to_team
-
field_metadata_ref_to_user
-
field_metadata_string
The following example creates a UDF of type list to a specific workspace 1002:
POST .../api/shared_spaces/1001/workspaces/1002/metadata_fields
{
"data":
[
{"subtype":"field_metadata_list",
"entity_type":"test_manual",
"name":"mypriority_udf",
"label":"mypriority",
"list":
{
"type":"list_node",
"id":"list_node.priority"
}
}
]
}
Read UDF data
The following examples retrieve information on UDFs from the ALM Octane database.
-
List the UDFs belonging to all entities in workspace {workspace_id}:
.../api/shared_spaces/{sharedspace_id}/workspaces/{workspace_id}/metadata_fields?query="is_user_defined=true"
-
List the shared UDFs belonging to all entities in shared space 1001:
.../api/shared_spaces/1001/workspaces/500/metadata_fields?query="is_user_defined=true"
Note: The workspace 500 is an internal workspace that serves the shared space.
-
List the UDFs belonging to all entities in workspace 1002. The request includes the UDF properties that the server should return, including the
shared
field. Theshared
field indicates whether the UDF was created at the shared space level or the workspace level..../api/shared_spaces/1001/workspaces/1002/metadata_fields?fields=is_user_defined,subtype,id,label,entity_type,name,shared&query="is_user_defined=true"
-
List the UDFs belonging to the
defect
entity. Include selected UDF properties:.../api/shared_spaces/1001/workspaces/1002/metadata_fields?fields=subtype,id,label,entity_type,name,shared&limit=500&offset=0&order_by=name&query="(entity_type EQ "defect"; is_user_defined EQ true)"
Update UDFs
The following example demonstrates updating an existing UDF of type field_metadata_list. It turns the UDF into a multi-select field.
PUT .../api/shared_spaces/1001/workspaces/1002/metadata_fields
{
"data" : [ {
"is_multivalue": true,
"id": "pwmn3q6727x1pu5kjol66gqjo"
}
]
}
To discover a UDF's ID, you can first do a GET operation to retrieve the UDF properties.