YouTrack および Hub ヘルプの開発者ポータル

ルール固有のプロパティ

exports.rule プロパティの値を設定するすべてのスクリプトは、ワークフロールールとして解釈されます。ルールの各タイプは、ルールの実行方法を定義する特定のプロパティセットをサポートしています。

各モジュールは、exports.rule プロパティの単一のオブジェクトのみを保存できます。スクリプトにこのプロパティの定義が複数含まれている場合、スクリプトの最後の定義がエクスポートされます。例: スクリプトが exports.rule プロパティを entities.Issue.onChange (変更時ルールの宣言)に設定し、後でこのプロパティを entities.Issue.action に設定した場合、スクリプトはアクションルールとして解釈されます。変更時ルールに設定されているすべてのプロパティは無視されます。

このページには、各ワークフロールールのすべてのプロパティがタイプ別に一覧表示されます。これらのプロパティが実際のルールでどのように使用されるかを示す例については、ワークフロールールタイプを参照してください。

変更時ルールのプロパティ

YouTrack バージョン 2024.1 以前では、課題ベースの変更時ルールのみが利用可能です。YouTrack バージョン 2024.2 以降では、課題と記事に対して変更時ルールが利用可能です。

課題の変更時のルール

Issue.onChange メソッドは、変更時ルールとして解釈されるオブジェクトをエクスポートします。変更時ルールは、次のプロパティをサポートしています。

プロパティ

説明

タイトル

オプションの、人間が判読できるルールのタイトル。タイトルは管理インターフェースでのみ表示されます。

ガード

ルールを実行するための条件を決定する機能。保護条件が満たされていない場合、ルールに指定されているアクションは課題に適用されません。

アクション

各課題に適用されるアクション。アクションは、引数としてコンテキストを受け入れる関数として宣言されます。

runOn

変更イベントルールをトリガーする発行イベントを決定します。指定しない場合、課題の更新時にルールがトリガーされます。

要件

ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。

runOn プロパティは、次の拡張プロパティをサポートしています。

プロパティ

説明

変更

課題の変更時に変更が適用されるかどうかを決定する runOn プロパティの拡張。true の場合、ルールは課題の変更時にトリガーされます。

除去

課題が論理的に削除されたときに変更を適用するかどうかを決定する runOn プロパティの拡張。true の場合、課題が論理的に削除されるとルールがトリガーされます。

記事の変更時のルール

Article.onChange メソッドは、変更時ルールとして解釈されるオブジェクトをエクスポートします。変更時ルールは、次のプロパティをサポートしています。

プロパティ

説明

タイトル

オプションの、人間が判読できるルールのタイトル。タイトルは管理インターフェースでのみ表示されます。

ガード

ルールを実行するための条件を決定する関数。ガード条件が満たされない場合、ルールで指定されたアクションは記事に適用されません。

アクション

記事に適用するアクション。アクションは、コンテキストを引数として受け入れる関数として宣言されます。

runOn

変更時ルールをトリガーする記事イベントを決定します。指定しない場合は、記事の更新時にルールがトリガーされます。

要件

ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。

runOn プロパティは、次の拡張プロパティをサポートしています。

プロパティ

説明

変更

記事の変更時に変更を適用するかどうかを決定する runOn プロパティの拡張。true の場合、記事の変更時にルールがトリガーされます。

除去

記事が論理的に削除されたときに変更を適用するかどうかを決定する runOn プロパティの拡張。true の場合、記事が論理的に削除されたときにルールがトリガーされます。

スケジュールルールのプロパティ

Issue.onSchedule メソッドは、スケジュール上のルールとして解釈されるオブジェクトをエクスポートします。スケジュールルールは、次のプロパティをサポートします。

プロパティ

説明

タイトル

人間が読めるオプションのタイトル。タイトルは管理インターフェースにのみ表示されます。

サーチ

このルールによって処理される課題を決定する検索クエリ。標準の YouTrack 検索クエリ(https://www.jetbrains.com/help/youtrack/cloud/?Search-and-Command-Attributes を参照)の構文を使用する文字列、またはルールがトリガーされるたびに検索文字列を再計算する関数を使用できます。関数を使用するときは、名前で参照します。例: search: getSearchExpression アクション内に条件を追加するのではなく、検索式をできるだけ具体的にすることを強くお勧めします。

クーロン

ルールを適用するスケジュール。Java クーロン式(英語)として指定します。

ガード

ルールを実行するための条件を決定する機能。保護条件が満たされていない場合、ルールに指定されているアクションは課題に適用されません。

muteUpdateNotifications

このルールによって適用される変更について更新通知を送信するかどうかを決定するフラグ。通知を送信せずに更新を適用する場合は、true に設定します。

true の場合、このプロパティは、同じトランザクションで適用されるカスケード変更の通知も抑制します。例: オンスケジュールルールによって適用される更新が 1 つ以上のオンチェンジルールからの更新をトリガーする場合、通知を送信せずに変更のセット全体が適用されます。

このプロパティの値は、.notify メソッドで明示的に送信される通知には影響しません。

更新されたプロパティを変更する

このルールによって適用される変更によって課題の updated および updated by プロパティの値が更新されるかどうかを決定するフラグ。これらのプロパティを更新する場合は、このフラグを true に設定します。

2023.1 から利用可能

アクション

検索条件に一致する各課題に適用されるアクション。このアクションは、課題ごとに個別にトリガーされます。アクション自体は、ワークフローユーザーアカウントによって実行されます。

要件

ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。

アクションルールのプロパティ

YouTrack バージョン 2024.1 以前では、課題ベースのアクションルールのみが使用可能です。YouTrack バージョン 2024.2 以降では、次のエンティティに対してアクションルールが使用可能です。

課題に対するアクションルール

Issue.action メソッドは、アクションルールとして解釈されるオブジェクトをエクスポートします。課題のアクションルールは、次のプロパティをサポートします。

プロパティ

説明

タイトル

人間が判読できるタイトル。タイトルは、課題のコマンドを適用ダイアログのコマンドのラベルと、その他を表示メニューのコマンドダイアログリストの項目として使用されます。このプロパティが設定されていない場合、コマンドはメニューに追加されません。

コマンド

カスタムコマンドに使用されるテキスト。このコマンドが 1 つ以上の課題に適用されると、このルールで定義されているアクションが実行されます。コマンドはサーバー全体で定義されます。つまり、これらのルールが異なるプロジェクトに関連付けられている場合でも、同じコマンドで 2 つのアクションルールを持つことはできません。

ガード

アクションルールが有効になるタイミングを決定する条件。

ガード条件が満たされていない場合、カスタムコマンドを課題に適用することはできません。コマンドはコマンドを適用ダイアログに提案されず、課題のその他を表示メニューにそのタイトルは表示されません。

アクション

コマンドが適用されるときに選択される各課題に適用される変更。このアクションは、課題ごとに個別に実行されます。変更は、コマンドを適用するユーザーに代わって行われます。

ユーザー入力

アクションが必要とするユーザーからの入力。

このルールプロパティは、期待されるオブジェクトのタイプとアクション入力ダイアログのプロパティを定義します。

プロパティ

説明

必須。アクションルールがユーザーに要求するオブジェクトのタイプ。

description

オプション。アクションルールがユーザーから期待するオブジェクトの説明。アクションダイアログには、この説明が入力フィールドのラベルとして表示されます。

要件

ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。

記事のアクションルール

Article.action メソッドは、アクションルールとして解釈されるオブジェクトをエクスポートします。アクションルールは次のプロパティをサポートします。

プロパティ

説明

タイトル

人間が判読できるタイトル。アクションは、このタイトルの記事のその他を表示メニューのアクションリストに表示されます。このプロパティが設定されていない場合、アクションはメニューに追加されません。

ガード

アクションルールが有効になるタイミングを決定する条件。

ガード条件が満たされていない場合、アクションは記事に適用できません。アクションはその他を表示メニューに表示されません。

アクション

記事に適用する必要がある変更。

ユーザー入力

アクションが必要とするユーザーからの入力。

このルールプロパティは、期待されるオブジェクトのタイプとアクション入力ダイアログのプロパティを定義します。

プロパティ

説明

必須。アクションルールがユーザーに要求するオブジェクトのタイプ。

description

オプション。アクションルールがユーザーから期待するオブジェクトの説明。アクションダイアログには、この説明が入力フィールドのラベルとして表示されます。

要件

ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。

課題コメントに対するアクションルール

IssueComment.action メソッドは、アクションルールとして解釈されるオブジェクトをエクスポートします。アクションルールは次のプロパティをサポートします。

プロパティ

説明

タイトル

人間が判読できるタイトル。アクションは、このタイトルの課題コメントのその他を表示メニューのアクションリストに表示されます。このプロパティが設定されていない場合、アクションはメニューに追加されません。

ガード

アクションルールが有効になるタイミングを決定する条件。

ガード条件が満たされていない場合、アクションを課題コメントに適用することはできません。アクションはその他を表示メニューに表示されません。

アクション

課題コメントに適用する必要がある変更。

ユーザー入力

アクションが必要とするユーザーからの入力。

このルールプロパティは、期待されるオブジェクトのタイプとアクション入力ダイアログのプロパティを定義します。

プロパティ

説明

必須。アクションルールがユーザーに要求するオブジェクトのタイプ。

description

オプション。アクションルールがユーザーから期待するオブジェクトの説明。アクションダイアログには、この説明が入力フィールドのラベルとして表示されます。

要件

ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。

記事コメントに対するアクションルール

ArticleComment.action メソッドは、アクションルールとして解釈されるオブジェクトをエクスポートします。アクションルールは次のプロパティをサポートします。

プロパティ

説明

タイトル

人間が判読できるタイトル。アクションは、このタイトルの記事コメントのその他を表示メニューのアクションリストに表示されます。このプロパティが設定されていない場合、アクションはメニューに追加されません。

ガード

アクションルールが有効になるタイミングを決定する条件。

ガード条件が満たされていない場合、アクションは記事コメントに適用できません。アクションはその他を表示メニューに表示されません。

アクション

記事のコメントに適用する必要がある変更。

ユーザー入力

アクションが必要とするユーザーからの入力。

このルールプロパティは、期待されるオブジェクトのタイプとアクション入力ダイアログのプロパティを定義します。

プロパティ

説明

必須。アクションルールがユーザーに要求するオブジェクトのタイプ。

description

オプション。アクションルールがユーザーから期待するオブジェクトの説明。アクションダイアログには、この説明が入力フィールドのラベルとして表示されます。

要件

ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。

課題添付ファイルのアクションルール

IssueAttachment.action メソッドは、アクションルールとして解釈されるオブジェクトをエクスポートします。アクションルールは次のプロパティをサポートします。

プロパティ

説明

タイトル

人間が判読できるタイトル。アクションは、このタイトルの課題添付ファイルのその他を表示メニューのアクションリストに表示されます。このプロパティが設定されていない場合、アクションはメニューに追加されません。

ガード

アクションルールが有効になるタイミングを決定する条件。

ガード条件が満たされていない場合、アクションは課題の添付ファイルに適用できません。アクションはその他を表示メニューに表示されません。

アクション

課題の添付ファイルに適用する必要がある変更。

ユーザー入力

アクションが必要とするユーザーからの入力。

このルールプロパティは、期待されるオブジェクトのタイプとアクション入力ダイアログのプロパティを定義します。

プロパティ

説明

必須。アクションルールがユーザーに要求するオブジェクトのタイプ。

description

オプション。アクションルールがユーザーから期待するオブジェクトの説明。アクションダイアログには、この説明が入力フィールドのラベルとして表示されます。

要件

ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。

記事の添付ファイルに関するアクションルール

ArticleAttachment.action メソッドは、アクションルールとして解釈されるオブジェクトをエクスポートします。アクションルールは次のプロパティをサポートします。

プロパティ

説明

タイトル

人間が判読できるタイトル。アクションは、このタイトルの記事添付ファイルのその他を表示メニューのアクションリストに表示されます。このプロパティが設定されていない場合、アクションはメニューに追加されません。

ガード

アクションルールが有効になるタイミングを決定する条件。

ガード条件が満たされていない場合、アクションは記事の添付ファイルに適用できません。アクションはその他を表示メニューに表示されません。

アクション

記事の添付ファイルに適用する変更。

ユーザー入力

アクションが必要とするユーザーからの入力。

このルールプロパティは、期待されるオブジェクトのタイプとアクション入力ダイアログのプロパティを定義します。

プロパティ

説明

必須。アクションルールがユーザーに要求するオブジェクトのタイプ。

description

オプション。アクションルールがユーザーから期待するオブジェクトの説明。アクションダイアログには、この説明が入力フィールドのラベルとして表示されます。

要件

ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。

ステートマシンルールのプロパティ

Issue.stateMachine メソッドは、ステートマシンルールとして解釈されるオブジェクトをエクスポートします。ステートマシンルールは、次の基本プロパティをサポートします。

プロパティ

説明

タイトル

人間が読めるオプションのタイトル。

フィールド名

ステートマシンによって管理されるカスタムフィールドの名前。

課題タイプごとのステートマシンルールのテンプレートは、このプロパティにエイリアス stateFieldName を使用します。

stateFieldName

fieldName のエイリアス。

typeFieldName

このオプションのプロパティは、管理フィールドに適用される課題タイプごとのステートマシンを指定する列挙カスタムフィールドを識別します。このプロパティは、課題タイプごとにステートマシンをスクリプト化するためにのみ使用されます。基本的なステートマシンルールの場合、このプロパティをスキップします。

状態

フィールド値のリストとそれらの間の遷移の定義。スペースと特殊文字を含む値は一重引用符で囲みます。

課題タイプごとのステートマシンルールのテンプレートでは、このプロパティはエイリアス defaultMachine に置き換えられます。課題タイプごとのステートマシンの場合、このプロパティは、どのステートマシンが管理対象フィールドに適用されるかを規制するフィールドの値に代替ステートマシンが定義されていない場合に適用される遷移を定義します。

defaultMachine

states のエイリアス。

alternativeMachines

課題タイプごとのステートマシンの場合、このプロパティは、フィールド値のコレクションと、管理フィールドにどのステートマシンを適用するかを規定するフィールドの指定値ごとに、それらの間の遷移の定義を定義します。

要件

ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。

ステートマシンルールの場合、ステートマシンによって管理されるフィールドを要件に追加する必要はありません。このフィールドとその値は、states プロパティから派生しています。

states プロパティで定義されている各値には、追加のプロパティセットの定義が含まれています。

課題タイプごとのステートマシンでは、これらのプロパティは、states プロパティのエイリアスである defaultMachine と、alternativeMachines プロパティにリストされている各値に対して指定されます。

プロパティ

説明

初期

アーティファクトの作成時にリスト内のどの値を設定するかを決定するブール型プロパティ。厳密に 1 つの値でこのプロパティを true に設定する必要があります。初期値として設定されていない他の値の場合、このプロパティはオプションであり、省略することができます。

onEnter

対応する値が issue に割り当てられたときに呼び出されるオプションの関数宣言。これらの機能は、他の種類のルールのアクションと同じように動作します。

onExit

フィールド値が現在の値から別の値に変更されたときに呼び出されるオプションの関数宣言。これらの機能は、他の種類のルールのアクションと同じように動作します。

遷移

リスト内の各値に設定できる可能なターゲット値のリスト。

ステートマシンルールの場合、要件内のステートマシンによって管理されるフィールドで使用される値をリストする必要はありません。このフィールドとその値は、states プロパティから派生しています。

transitions プロパティで定義されている各値には、name プロパティが含まれています。この名前は、コマンドでこの値を設定するために使用され、カスタムフィールドの値のリストにも表示されます。各トランジション名には、次の追加プロパティの定義が含まれています。

プロパティ

説明

targetState

name プロパティで指定されたコマンドが適用されたときに設定される値の実際の名前。

アクションを実行する間隔を設定するオプションのプロパティ。アクション自体は action プロパティで指定されています。

アクション

他のタイプのルールのアクションと同様に動作するトランジションのオプションのプロパティ。

ガード

遷移が許可されるタイミングを決定するオプションの条件。ガード条件が満たされていない場合、カスタムフィールドの値は、この遷移に対して定義されている値に変更できません。

SLA ルールのプロパティ

Issue.sla メソッドは、SLA ポリシールールとして解釈されるオブジェクトをエクスポートします。SLA ルールは次のプロパティをサポートします。

プロパティ

説明

タイトル

人間が読めるタイトル。このタイトルは、ヘルプデスクのプロジェクト設定の SLA ルールのリストに表示されます。

ガード

SLA ルールがチケットに適用されるタイミングを決定する条件。

onEnter

SLA ポリシーの適用を開始するときにチケットに適用する必要がある変更。例: この関数は、SLA 設定に従ってタイマーを初期化します。

チケットは、更新を行ったユーザーに代わって更新され、その後、SLA がチケットに適用され始めます。

アクション

チケットに適用する必要がある変更。例: この機能は、顧客からの新しいコメントがあるときにタイマーを一時停止したり再開したりできます。

チケットは、この関数が呼び出された後に更新を行ったユーザーに代わって更新されます。

違反について

SLA ゴールのいずれかに違反した場合にチケットに適用する必要がある変更。

この関数の ctx.breachedField パラメーターに、YouTrack は、このチケットの時間ゴールが違反されたタイマーカスタムフィールドを保存します。

特別なワークフローユーザーは、この機能をトリガーするアクターであると見なされます。これは、完全な権限セットが付与されたシステムユーザーアカウントです。

要件

ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。

2025 年 11 月 21 日