Developer Portal for YouTrack and Hub Help

Tag

Represents a tag.

Extends WatchFolder.

Properties

Name

Type

Description

becomesRemoved

Boolean

Read-only.   When `true`, the entity is removed in the current transaction. Otherwise, `false`. This property can become `true` only in on-change rules when the rule is triggered on the removal of an issue or an article. In the rule code, the `runOn` rule property must contain the `removal` parameter set to `true`.

Available since 2017.4.37915

runOn: {removal: true}

extensionProperties

Object

The object containing extension properties for this entity and their values. Extension properties are custom properties that might be added to core YouTrack entities by an app. For details about extension properties, see https://www.jetbrains.com/help/youtrack/devportal/apps-extension-properties.html.

Available since 2024.3

const entities = require('@jetbrains/youtrack-scripting-api/entities'); exports.rule = entities.Issue.action({ command: 'test', action: function (ctx) { const printValues = () => { return 'stringProp:' + ctx.issue.extensionProperties.stringProp + ';' + 'integerProp:' + ctx.issue.extensionProperties.integerProp + ';' + 'booleanProp:' + ctx.issue.extensionProperties.booleanProp + ';' + 'issueProp:' + ctx.issue.extensionProperties.issueProp?.id + ';' + 'issuesProp:' + ctx.issue.extensionProperties.issuesProp?.first()?.id + ';' } ctx.issue.addComment(printValues()); } });

isNew

Boolean

Read-only.   When `true`, the entity is created in the current transaction. Otherwise, `false`.

Available since 2018.2.42351

name

String

Read-only.   The name of the tag.

owner

User

Read-only.   The user who created the tag.

permittedReadUserGroups

Set.<UserGroup>

Read-only.   The groups of users for whom the tag or saved search is visible.

permittedReadUsers

Set.<User>

Read-only.   The users for whom the tag or saved search is visible.

permittedTagUserGroups

Set.<UserGroup>

Read-only.   The groups of users who can apply the tag.

Available since 2022.1

permittedTagUsers

Set.<User>

Read-only.   The users who can apply the tag.

Available since 2022.1

permittedUpdateUserGroups

Set.<UserGroup>

Read-only.   The groups of users who are allowed to update the settings for the tag or saved search.

permittedUpdateUsers

Set.<User>

Read-only.   The users who are allowed to update the settings for the tag or saved search.

shareGroup

UserGroup

Read-only.   The group of users for whom the tag or saved search is visible. If the tag or the saved search is only visible to its owner, the value for this property is `null`. Use `folder.permittedReadUserGroups` and `folder.permittedReadUsers` instead.

updateShareGroup

UserGroup

Read-only.   The group of users who are allowed to update the settings for the tag or saved search. If the tag or the saved search can only be updated by its owner, the value for this property is `null`. Use `folder.permittedUpdateUserGroups` and `folder.permittedUpdateUsers` instead.

Constructors

Tag

Tag(name, owner)

Parameters

Name

Type

Description

name

String

The name of the tag.

owner

User

The owner of the tag. Defaults to the current user.

Methods

findByExtensionProperties

static findByExtensionProperties(extensionPropertiesQuery)

Searches for Tag entities with extension properties that match the specified query.

Available since 2024.3.43260

Parameters

Name

Type

Description

extensionPropertiesQuery

Object

The extension properties query, defined as a set of key-value pairs representing properties and their corresponding values.

Return Value

Type

Description

Set.<Tag>

The set of Tag entities that contain the specified extension properties.

Example

{ property1: "value1", property2: "value2" }

findByName

static findByName(name, ignoreVisibilitySettings)

Finds a set of tags with the specified name. The tags that were created by the current user are returned at the top of the list.

Parameters

Name

Type

Description

name

String

The name of the tag to search for.

ignoreVisibilitySettings

Boolean

When `true`, returns all matching tags without regard to their visibility settings. When `false` (default), returns only matching tags that are visible to the current user.

Return Value

Type

Description

Set.<Tag>

The set of tags that match the specified name.

findByOwner

static findByOwner(owner)

Finds tags owned by a specified user without considering the visibility settings for the tags.

Available since 2025.3

Parameters

Name

Type

Description

owner

User

The owner of the tags to find.

Return Value

Type

Description

Set.<Tag>

The set of tags with the specified owner.

findTagByName

static findTagByName(name)

Finds the most relevant tag with the specified name that is visible to the current user. "Star" tag is excluded from the results.

Parameters

Name

Type

Description

name

String

The name of the tag to search for.

Return Value

Type

Description

Tag

The most relevant tag.

becomes

becomes(fieldName, expected)

Checks whether a field is set to an expected value in the current transaction.

Parameters

Name

Type

Description

fieldName

string

The name of the field to check.

expected

string

The expected value.

Return Value

Type

Description

boolean

If the field is set to the expected value, returns `true`.

canBeReadBy

canBeReadBy(fieldName, user)

Checks whether a user has permission to read the field.

Parameters

Name

Type

Description

fieldName

string

The name of the field.

user

User

The user for whom the permission to read the field is checked.

Return Value

Type

Description

boolean

If the user can read the field, returns `true`.

canBeUsedForArticle

canBeUsedForArticle(article, user)

Checks whether a user has permission to use the tag in the specified article.

Available since 2025.3

Parameters

Name

Type

Description

article

BaseArticle

The article to tag.

user

User

The user to check. Defaults to the current user.

Return Value

Type

Description

Boolean

If the user can tag the article, returns `true`.

canBeUsedForIssue

canBeUsedForIssue(issue, user)

Checks whether a user has permission to use the tag in the specified issue.

Available since 2025.3

Parameters

Name

Type

Description

issue

Issue

The issue to tag.

user

User

The user to check. Defaults to the current user.

Return Value

Type

Description

Boolean

If the user can tag the issue, returns `true`.

canBeWrittenBy

canBeWrittenBy(fieldName, user)

Checks whether a user has permission to update the field.

Parameters

Name

Type

Description

fieldName

string

The name of the field.

user

User

The user for whom the permission to update the field is checked.

Return Value

Type

Description

boolean

If the user can update the field, returns `true`.

is

is(fieldName, expected)

Checks whether a field is equal to an expected value.

Available since 2019.2.55603

Parameters

Name

Type

Description

fieldName

string

The name of the field to check.

expected

string

The expected value.

Return Value

Type

Description

boolean

If the field is equal to the expected value, returns `true`.

isChanged

isChanged(fieldName)

Checks whether the value of a field is changed in the current transaction.

Parameters

Name

Type

Description

fieldName

string

The name of the field to check.

Return Value

Type

Description

boolean

If the value of the field is changed in the current transaction, returns `true`.

oldValue

oldValue(fieldName)

Returns the previous value of a single-value field before an update was applied. If the field is not changed in the transaction, returns null.

Parameters

Name

Type

Description

fieldName

string

The name of the field.

Return Value

Type

Description

Object

If the field is changed in the current transaction, the previous value of the field. Otherwise, null.

required

required(fieldName, message)

Asserts that a value is set for a field. If a value for the required field is not set, the specified message is displayed in the user interface.

Parameters

Name

Type

Description

fieldName

string

The name of the field to check.

message

string

The message that is displayed to the user that describes the field requirement.

was

was(fieldName, expected)

Checks whether a field was equal to an expected value prior to the current transaction.

Available since 2019.2.55603

Parameters

Name

Type

Description

fieldName

string

The name of the field to check.

expected

string

The expected value.

Return Value

Type

Description

boolean

If the field was equal to the expected value, returns `true`.

22 November 2025