Developer Portal for YouTrack and Hub Help

IssueComment

Represents a comment that is added to an issue.

Extends BaseComment.

Properties

Name

Type

Description

attachments

Set.<IssueAttachment>

Read-only.  The set of attachments that are attached to the comment.

Available since 2018.1.40030

author

User

Read-only.  The user who created the comment.

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}

created

Number

Read-only.  Time the comment was created.

deleted

Boolean

Read-only.  `true` in case the comment is displayed as removed.

Available since 2020.6.4500

isNew

Boolean

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

Available since 2018.2.42351

isPinned

Boolean

When `true`, the comment is pinned in the issue. Otherwise, `false`.

Available since 2024.1

issue

Issue

Read-only.  The issue the comment belongs to.

permittedGroup

UserGroup

A group who's members are allowed to access the comment.

permittedGroups

Set.<UserGroup>

Groups whose members are allowed to access the comment.

permittedUsers

Set.<User>

Users who are allowed to access the comment.

text

String

The text of the comment.

updated

Number

Read-only.  Time the comment was last updated.

updatedBy

User

Read-only.  The user who last updated the comment.

url

String

Read-only.  The absolute URL (permalink) that points to the comment.

user.notify('Somebody has written something', 'Have a look: ' + comment.url);

Methods

action

static action(ruleProperties, ruleProperties.title, ruleProperties.userInput, ruleProperties.userInput.type, ruleProperties.userInput.description, ruleProperties.guard, ruleProperties.action, ruleProperties.requirements)

Creates a declaration of a rule that a user can apply to an issue comment using a menu option. The object that is returned by this method is normally exported to the `rule` property, otherwise it is not treated as a rule.

Parameters

Name

Type

Description

ruleProperties

Object

A JSON object that defines the properties for the rule.

ruleProperties.title

string

The human-readable name of the rule. Displayed in the administrative UI in YouTrack.

ruleProperties.userInput

Object

An object that defines the properties for information that will be requested from the user who triggers the action rule.

ruleProperties.userInput.type

string, Object

The data type for the value that is requested from the user. The following types are supported: * entities.Field.dateTimeType * entities.Field.dateType * entities.Field.integerType * entities.Field.floatType * entities.Field.periodType * entities.Field.stringType * entities.Build * entities.EnumField * entities.Issue * entities.IssueTag * entities.OwnedField * entities.Project * entities.ProjectVersion * entities.UserGroup * entities.User

ruleProperties.userInput.description

string

The label for the control that is used to collect additional information from the user.

ruleProperties.guard

IssueComment~guardFunction

A function that is invoked to determine whether the action is applicable to an issue comment.

ruleProperties.action

IssueComment~actionFunction

The function that is invoked when a user triggers this action.

ruleProperties.requirements

Requirements

The set of entities that must be present for the script to work as expected.

Return Value

Type

Description

Object

The object representation of the rule.

Example

var entities = require('@jetbrains/youtrack-scripting-api/entities'); exports.rule = entities.IssueComment.action({ title: 'Log comment text if comment has attachments', guard: function(ctx) { return !ctx.issueComment.attachments.isEmpty(); }, action: function(ctx) { console.log(ctx.issueComment.text); } });

 

findByExtensionProperties

static findByExtensionProperties(extensionPropertiesQuery)

Searches IssueComment by the extension properties query.

Available since 2024.3.43260

Parameters

Name

Type

Description

extensionPropertiesQuery

Object

The extension properties query.

Return Value

Type

Description

Set.<IssueComment>

The set of IssueComment entities found by the extension properties query.

Example

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

 

addAttachment

addAttachment(content, name, charset, mimeType)

Attaches a file to the issue comment. Makes `issue.attachments.isChanged` return `true` for the current transaction.

Available since 2020.6.3400

Parameters

Name

Type

Description

content

InputStream, String, JsonForIssueCommentAddAttachment

The content of the file in binary or base64 form. Alternatively, pass a JSON specified by JsonForIssueCommentAddAttachment

name

String

The name of the file.

charset

String

The charset of the file. Only applicable to text files.

mimeType

String

The MIME type of the file.

Return Value

Type

Description

IssueAttachment

The attachment that is added to the issue comment.

 

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`.

 

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`.

 

delete

delete()

Logically deletes the comment. This means that the comment is marked as deleted, but remains in the database. Users with sufficient permissions can restore the comment or delete the comment permanently from the user interface. The option to delete comments permanently has not been implemented in this API.

Available since 2018.1.38923

 

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`.

 

isVisibleTo

isVisibleTo(user)

Checks whether the specified user has access to view the comment.

Available since 2021.1.2300

Parameters

Name

Type

Description

user

User

The user to check.

Return Value

Type

Description

Boolean

When 'true', the specified user has access to view the comment. Otherwise, 'false'.

 

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`.

 

Last modified: 7 November 2024