User
Represents a user account in YouTrack.
Extends BaseEntity.
Properties
Name | Type | Description |
|---|---|---|
static current | User | Read-only. The current (logged in) user. |
static fieldType | String | Read-only. Field type. Used when defining rule requirements. |
attributes | Read-only. Custom user attributes. Available since 2021.1.7000 | |
avatarUrl | String | Read-only. The absolute URL of the image that is used as the avatar for a user account. May point to an external service, like Gravatar. Available since 2019.3 |
becomesRemoved | Boolean | Read-only. When Available since 2017.4.37915 runOn: {removal: true} |
String | Read-only. The email address of the user. | |
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 Extension Properties. 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());
}
}); |
firstDayOfWeeks | Number | Read-only. First day of week as set in the user's profile settings. 0 is for Sunday, 1 is for Monday, etc. Available since 2019.1.50122 |
fullName | String | Read-only. The full name of the user as seen in their profile. |
groups | Set .<NestedUserGroup> | Read-only. The list of user's groups. Available since 2025.3 |
isBanned | Boolean | Read-only. If the user is currently banned, this property is |
isEmailVerified | Boolean | Read-only. Indicates whether the user has a verified email address in their profile. Available since 2023.1 |
isNew | Boolean | Read-only. When Available since 2018.2.42351 |
isOnline | Boolean | Read-only. If the user has interacted with YouTrack in any way within the last five minutes. Available since 2022.1 |
isSystem | Boolean | Read-only. When Available since 2022.2 |
language | String | Read-only. The display language selected in the general settings of the user profile. Available since 2022.1 |
login | String | Read-only. The login of the user. |
pinnedSavedQueries | Set .< SavedQuery > | Read-only. Returns pinned by the user saved queries. Available since 2025.3 |
registered | Number | Read-only. The date when the user was registered. Available since 2024.3 |
ringId | String | Read-only. ID of the user in Hub. You can use this ID for operations in Hub, and for matching users between YouTrack and Hub. Available since 2020.6.3000 |
teams | Set .< ProjectTeam > | Read-only. The list of project teams that the user belongs to. Available since 2025.3 |
timeZoneId | String | Read-only. The ID of the local time zone selected in the general settings of the user profile. |
type | Read-only. The user type assigned to the user account for licensing purposes. Possible values include: Available since 2026.2 | |
visibleName | String | Read-only. The full name of the user or the login if the full name is not set. |
Methods
findByEmail
Finds users by email.
Available since 2018.2.41100
- Parameters
Name
Type
Description
email
String
The email to search for.
- Return Value
Type
Description
Set .< User >
Users with the specified email.
findByExtensionProperties
Searches for User 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 .< User >
The set of User entities that contain the specified extension properties.
- Example
- { property1: "value1", property2: "value2" }
findByLogin
Finds a user by login.
- Parameters
Name
Type
Description
login
String
The login of the user account to search for.
- Return Value
Type
Description
User
The specified user, or
nullwhen a user with the specified login is not found.
findUniqueByEmail
Finds a user by email.
Available since 2018.2.41100
- Parameters
Name
Type
Description
email
String
The email of the user account to search for.
- Return Value
Type
Description
User
The specified user, or
nullwhen a user with the specified email is not found or there are multiple users with the specified email.
becomes
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
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.
canBeWrittenBy
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.
canLinkIssue
Checks whether the user is permitted to link the specified issue to any other issue.
- Parameters
Name
Type
Description
issue
The issue to link.
- Return Value
Type
Description
Boolean
If the user can link the issue, returns
true.
canUnvoteIssue
Checks whether the user is able to remove their vote from the specified issue.
- Parameters
Name
Type
Description
issue
The issue to check.
- Return Value
Type
Description
Boolean
If the user can vote for the issue, returns
true.
canVoteIssue
Checks whether the user is able to vote for the specified issue.
- Parameters
Name
Type
Description
issue
The issue to check.
- Return Value
Type
Description
Boolean
If the user can vote for the issue, returns
true.
getSharedTag
Returns a tag with the specified name that is shared with but not owned by the user. If such a tag does not exist, a null value is returned.
Name
Type
Description
name
String
The name of the tag.
Type
Description
The tag.
getTag
Returns a tag that is visible to the user.
- Parameters
Name
Type
Description
name
String
The name of the tag.
createIfNotExists
Boolean
If
trueand the specified tag does not exist or is not visible to the user and the user has permission to create tags, a new tag with the specified name is created.- Return Value
Type
Description
The tag.
hasPermission
Checks whether the user has the specified permission.
Available since 2025.3
- Parameters
Name
Type
Description
permissionKey
String
The permission key to check. For the complete list of available permission keys, see App Permissions.
project
The project to check for the specified permission assignment. If omitted, checks if the user has the global role.
- Return Value
Type
Description
Boolean
If the user has the permission, returns
true.
hasRole
Checks whether the user is granted the specified role in the specified project. This is also true when the role is granted at the global scope. When the project parameter is not specified, checks whether the user has the specified role in any project.
- Parameters
Name
Type
Description
roleName
String
The name of the role to check for.
project
The project to check for the specified role assignment. If omitted, checks whether the user has the specified role in any project.
- Return Value
Type
Description
Boolean
If the user is granted the specified role in the given scope, returns
true.
is
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
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.
isInGroup
Checks whether the user is a member of the specified group.
- Parameters
Name
Type
Description
groupName
String
The name of the group to check for.
- Return Value
Type
Description
Boolean
If the user is a member of the specified group, returns
true.
isVotedForIssue
Check whether the user has voted for the specified issue.
Available since 2025.3
- Parameters
Name
Type
Description
issue
The issue to check the vote is added.
- Return Value
Type
Description
Boolean
If the user has voted for the issue, returns
true.
isWatchingIssue
Checks whether the current user is added as a watcher for the specified issue.
Available since 2025.3
- Parameters
Name
Type
Description
issue
The issue to check for the watcher assignment.
- Return Value
Type
Description
Boolean
If the user is added as a watcher for the issue, returns
true.
notify
Sends an email notification to the email address that is set in the user profile.
- Parameters
Name
Type
Description
subject
String, JsonForUserNotify
The subject line of the email notification. Alternatively, pass a JSON specified by JsonForUserNotify
body
String
The message text of the email notification.
ignoreNotifyOnOwnChangesSetting
Boolean
If
false, the message is not sent when changes are performed on behalf of the current user. Otherwise, the message is sent anyway.project
When set, the email address that is used as the 'From' address for the specified project is used to send the message.
notifyOnCase
Sends a notification to all notification channels configured for the user.
Available since 2023.1
- Parameters
Name
Type
Description
caseName
string
The name of the notification case as seen on the notification templates configuration page.
parameters
Object
A JSON object that provides required parameters for the notification to render. Particular parameters depend on the notification case.
projectDocument
An issue or an article that this notification is about.
The difference between providing it as a separately vs. passing it among other parameters is that in the former case the notification will be merged with other notifications on that issue/article.
oldValue
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
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.
sendMail
Sends an email notification to the email address that is set in the user profile. An alias for notify(subject, body, true).
- Parameters
Name
Type
Description
subject
String
The subject line of the email notification.
body
String
The message text of the email notification.
unvoteIssue
Removes a vote on behalf of the user from the issue, if allowed.
- Parameters
Name
Type
Description
issue
The issue from which the vote is removed.
unwatchArticle
Removes the current user from the list of watchers for the article (removes the Star).
Available since 2023.1
- Parameters
Name
Type
Description
article
The article from which the user is removed as a watcher.
unwatchIssue
Removes the current user from the list of watchers for the issue (removes the Star).
- Parameters
Name
Type
Description
issue
The issue from which the user is removed as a watcher.
voteIssue
Adds a vote on behalf of the user to the issue, if allowed.
- Parameters
Name
Type
Description
issue
The issue to which the vote is added.
was
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.
watchArticle
Adds the current user to the article as a watcher (adds the Star).
Available since 2023.1
- Parameters
Name
Type
Description
article
The article to which the user is added as a watcher.
watchIssue
Adds the current user to the issue as a watcher (adds the Star).
- Parameters
Name
Type
Description
issue
The issue to which the user is added as a watcher.