Tags, attribute values, and links

Use tags, custom attributes, and links to describe and differentiate global components. Use these items, and optionally branch values, to do the same for global configurations. Use tags to search for global configurations and components, and to filter when you add a global configuration.

Additionally, learn how to adopt changes that were made to attribute labels and values after the attributes were added to a global configuration. See Adopting changes to attribute and link labels or values.


Tags are strings without spaces or commas and are project-area specific. Add tags to global configurations and components so that you can find them easily in a search, or to group them in a way that makes sense for your team, such as the ones you use the most often.
Important: Avoid adding classified or sensitive data such as customer names and proprietary information to tags. If you must scrub the GCM data later, tags are removed from the artifacts you scrub, but the tags are not permanently deleted from the repository. See Deleting sensitive data from global configurations and components by scrubbing them.
  • Tags are user-supplied strings, each up to 1000 UTF-8 bytes, that can be separated by a space or comma.
  • Tags that you type in uppercase or mixed case are converted to lowercase and always display as lowercase. Uppercase letters are treated as lowercase when you use tags to filter global configurations or components.
  • Tags do not organize items into a physical hierarchy; they simply help you to view them in logical groups.
  • To create, rename, or delete tags, you must have the Tag Manager role or Tags permissions. For details about these tasks, see Creating, renaming, and deleting tags for global configurations and components. Tags permissions are assigned only at the project area level. You cannot assign them to team areas.
  • To add and remove tags from components or configurations, you must have permission to modify that item type. For details, see Adding tags, attributes, and links to a global configuration or component.
  • You can nest tags to represent a hierarchy, such as country/state/city. The forward slash (/) separates tag levels:
    Tag named country, which has a nested tag named state, which in turn has a nested tag named city
  • You cannot tag local configurations.
  • Tags do not span project areas. Queries for tags show only the configurations from the same project area as the query. If a configuration lead defines the same tag in multiple project areas and you must rename or delete a tag to suit your project needs, you must query configurations in each project area for the tag.

Custom attributes

A custom attribute is defined for a specific purpose, for example, a Color attribute with values of red, white, and blue. Use custom attributes to set attribute values for your global configurations and components, in addition to the system-defined attributes.

  • To define a new custom attribute value, you must have the Configuration Lead role or higher, or the Create and modify type definitions privilege. See Managing type definitions.
  • Anyone who can edit a global configuration or component can add a custom attribute value to it, edit a value, and remove an attribute from it. To add, edit, or remove a custom attribute for baselines, configuration leads must select the Allow Editing for Baselines check box for the attribute on the Manage Type Definitions page.
  • You can add custom attribute values to global configurations and components. You cannot set custom attribute values for local configurations that are contributed from other applications.
  • Strings: For string attributes, choose from 3 types of system-defined strings. If querying is important, use a small or medium string, or an enumerated data type. Large strings are too long to query efficiently, so you can't use the GCM query builder or OSLC queries in the GCM REST API to query custom attributes that use this data type.

Branch values

A branch attribute is defined with values that mark the purpose or intent of a global configuration variant, for example, a UK variant stream that was created from a US variant baseline. Typically, you change a branch value when you start a new variant.

  • Use the system-defined Branch attribute to distinguish variants. To modify its enumerated values, you must have the Configuration Lead role or higher, or the Create and modify type definitions privilege. See Managing type definitions.
  • When you create a stream, the location that you choose determines which branch value is applied to it.
    • In Place: The branch value assigned to the root configuration in the tree is applied.
    • New Tree: The branch value assigned to the configuration you create the stream from is applied, unless you choose a different value.
  • You can assign a branch value to global streams only. You cannot assign branch values to local configurations that are contributed from other applications.
  • Global baselines inherit the branch value of the stream they're created from. You can't change branch values for global baselines.
  • Anyone who can edit a global stream can set or modify its branch value.

Adopting changes to attribute and link labels or values

Configuration leads can change attribute and link labels or values for configurations or components to suit project needs. However, the affected configurations and components aren't updated automatically. You won't discover the change until you edit a component or configuration that uses the attribute or value, at which point you see a message similar to the following image:

Example of message that explains label or value change

For example, you set the Style custom attribute to a value of Economy on your Dashboard global configuration. The configuration lead renames the Economy style to Value. When you edit the Dashboard global configuration, a message alerts you about the attribute value change.

To adopt the change, select Sport or Luxury and save the change. Then, click Edit, change Style to Value, and save.