ルール固有のプロパティ
exports.rule プロパティの値を設定するすべてのスクリプトは、ワークフロールールとして解釈されます。ルールの各タイプは、ルールの実行方法を定義する特定のプロパティセットをサポートしています。
各モジュールは、exports.rule プロパティの単一のオブジェクトのみを保存できます。スクリプトにこのプロパティの定義が複数含まれている場合、スクリプトの最後の定義がエクスポートされます。例: スクリプトが exports.rule プロパティを entities.Issue.onChange (変更時ルールの宣言)に設定し、後でこのプロパティを entities.Issue.action に設定した場合、スクリプトはアクションルールとして解釈されます。変更時ルールに設定されているすべてのプロパティは無視されます。
このページには、各ワークフロールールのすべてのプロパティがタイプ別に一覧表示されます。これらのプロパティが実際のルールでどのように使用されるかを示す例については、ワークフロールールタイプを参照してください。
変更時ルールのプロパティ
YouTrack バージョン 2024.1 以前では、課題ベースの変更時ルールのみが利用可能です。YouTrack バージョン 2024.2 以降では、課題と記事に対して変更時ルールが利用可能です。
課題の変更時のルール
Issue.onChange メソッドは、変更時ルールとして解釈されるオブジェクトをエクスポートします。変更時ルールは、次のプロパティをサポートしています。
プロパティ | 説明 |
|---|---|
タイトル | オプションの、人間が判読できるルールのタイトル。タイトルは管理インターフェースでのみ表示されます。 |
ガード | ルールを実行するための条件を決定する機能。保護条件が満たされていない場合、ルールに指定されているアクションは課題に適用されません。 |
アクション | 各課題に適用されるアクション。アクションは、引数としてコンテキストを受け入れる関数として宣言されます。 |
runOn | 変更イベントルールをトリガーする発行イベントを決定します。指定しない場合、課題の更新時にルールがトリガーされます。 |
要件 | ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。 |
runOn プロパティは、次の拡張プロパティをサポートしています。
プロパティ | 説明 |
|---|---|
変更 | 課題の変更時に変更が適用されるかどうかを決定する |
除去 | 課題が論理的に削除されたときに変更を適用するかどうかを決定する |
記事の変更時のルール
Article.onChange メソッドは、変更時ルールとして解釈されるオブジェクトをエクスポートします。変更時ルールは、次のプロパティをサポートしています。
プロパティ | 説明 |
|---|---|
タイトル | オプションの、人間が判読できるルールのタイトル。タイトルは管理インターフェースでのみ表示されます。 |
ガード | ルールを実行するための条件を決定する関数。ガード条件が満たされない場合、ルールで指定されたアクションは記事に適用されません。 |
アクション | 記事に適用するアクション。アクションは、コンテキストを引数として受け入れる関数として宣言されます。 |
runOn | 変更時ルールをトリガーする記事イベントを決定します。指定しない場合は、記事の更新時にルールがトリガーされます。 |
要件 | ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。 |
runOn プロパティは、次の拡張プロパティをサポートしています。
プロパティ | 説明 |
|---|---|
変更 | 記事の変更時に変更を適用するかどうかを決定する |
除去 | 記事が論理的に削除されたときに変更を適用するかどうかを決定する |
スケジュールルールのプロパティ
Issue.onSchedule メソッドは、スケジュール上のルールとして解釈されるオブジェクトをエクスポートします。スケジュールルールは、次のプロパティをサポートします。
プロパティ | 説明 |
|---|---|
タイトル | 人間が読めるオプションのタイトル。タイトルは管理インターフェースにのみ表示されます。 |
サーチ | このルールによって処理される課題を決定する検索クエリ。標準の YouTrack 検索クエリ(https://www.jetbrains.com/help/youtrack/cloud/?Search-and-Command-Attributes を参照)の構文を使用する文字列、またはルールがトリガーされるたびに検索文字列を再計算する関数を使用できます。関数を使用するときは、名前で参照します。例: |
クーロン | ルールを適用するスケジュール。Java クーロン式(英語)として指定します。 |
ガード | ルールを実行するための条件を決定する機能。保護条件が満たされていない場合、ルールに指定されているアクションは課題に適用されません。 |
muteUpdateNotifications | このルールによって適用される変更について更新通知を送信するかどうかを決定するフラグ。通知を送信せずに更新を適用する場合は、 このプロパティの値は、.notify メソッドで明示的に送信される通知には影響しません。 |
更新されたプロパティを変更する | このルールによって適用される変更によって課題の 2023.1 から利用可能 |
アクション | 検索条件に一致する各課題に適用されるアクション。このアクションは、課題ごとに個別にトリガーされます。アクション自体は、ワークフローユーザーアカウントによって実行されます。 |
要件 | ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。 |
アクションルールのプロパティ
YouTrack バージョン 2024.1 以前では、課題ベースのアクションルールのみが使用可能です。YouTrack バージョン 2024.2 以降では、次のエンティティに対してアクションルールが使用可能です。
課題に対するアクションルール
Issue.action メソッドは、アクションルールとして解釈されるオブジェクトをエクスポートします。課題のアクションルールは、次のプロパティをサポートします。
プロパティ | 説明 | ||||||
|---|---|---|---|---|---|---|---|
タイトル | 人間が判読できるタイトル。タイトルは、課題のコマンドを適用ダイアログのコマンドのラベルと、その他を表示メニューのコマンドダイアログリストの項目として使用されます。このプロパティが設定されていない場合、コマンドはメニューに追加されません。 | ||||||
コマンド | カスタムコマンドに使用されるテキスト。このコマンドが 1 つ以上の課題に適用されると、このルールで定義されているアクションが実行されます。コマンドはサーバー全体で定義されます。つまり、これらのルールが異なるプロジェクトに関連付けられている場合でも、同じコマンドで 2 つのアクションルールを持つことはできません。 | ||||||
ガード | アクションルールが有効になるタイミングを決定する条件。 ガード条件が満たされていない場合、カスタムコマンドを課題に適用することはできません。コマンドはコマンドを適用ダイアログに提案されず、課題のその他を表示メニューにそのタイトルは表示されません。 | ||||||
アクション | コマンドが適用されるときに選択される各課題に適用される変更。このアクションは、課題ごとに個別に実行されます。変更は、コマンドを適用するユーザーに代わって行われます。 | ||||||
ユーザー入力 | アクションが必要とするユーザーからの入力。 このルールプロパティは、期待されるオブジェクトのタイプとアクション入力ダイアログのプロパティを定義します。
| ||||||
要件 | ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。 |
記事のアクションルール
Article.action メソッドは、アクションルールとして解釈されるオブジェクトをエクスポートします。アクションルールは次のプロパティをサポートします。
プロパティ | 説明 | ||||||
|---|---|---|---|---|---|---|---|
タイトル | 人間が判読できるタイトル。アクションは、このタイトルの記事のその他を表示メニューのアクションリストに表示されます。このプロパティが設定されていない場合、アクションはメニューに追加されません。 | ||||||
ガード | アクションルールが有効になるタイミングを決定する条件。 ガード条件が満たされていない場合、アクションは記事に適用できません。アクションはその他を表示メニューに表示されません。 | ||||||
アクション | 記事に適用する必要がある変更。 | ||||||
ユーザー入力 | アクションが必要とするユーザーからの入力。 このルールプロパティは、期待されるオブジェクトのタイプとアクション入力ダイアログのプロパティを定義します。
| ||||||
要件 | ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。 |
課題コメントに対するアクションルール
IssueComment.action メソッドは、アクションルールとして解釈されるオブジェクトをエクスポートします。アクションルールは次のプロパティをサポートします。
プロパティ | 説明 | ||||||
|---|---|---|---|---|---|---|---|
タイトル | 人間が判読できるタイトル。アクションは、このタイトルの課題コメントのその他を表示メニューのアクションリストに表示されます。このプロパティが設定されていない場合、アクションはメニューに追加されません。 | ||||||
ガード | アクションルールが有効になるタイミングを決定する条件。 ガード条件が満たされていない場合、アクションを課題コメントに適用することはできません。アクションはその他を表示メニューに表示されません。 | ||||||
アクション | 課題コメントに適用する必要がある変更。 | ||||||
ユーザー入力 | アクションが必要とするユーザーからの入力。 このルールプロパティは、期待されるオブジェクトのタイプとアクション入力ダイアログのプロパティを定義します。
| ||||||
要件 | ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。 |
記事コメントに対するアクションルール
ArticleComment.action メソッドは、アクションルールとして解釈されるオブジェクトをエクスポートします。アクションルールは次のプロパティをサポートします。
プロパティ | 説明 | ||||||
|---|---|---|---|---|---|---|---|
タイトル | 人間が判読できるタイトル。アクションは、このタイトルの記事コメントのその他を表示メニューのアクションリストに表示されます。このプロパティが設定されていない場合、アクションはメニューに追加されません。 | ||||||
ガード | アクションルールが有効になるタイミングを決定する条件。 ガード条件が満たされていない場合、アクションは記事コメントに適用できません。アクションはその他を表示メニューに表示されません。 | ||||||
アクション | 記事のコメントに適用する必要がある変更。 | ||||||
ユーザー入力 | アクションが必要とするユーザーからの入力。 このルールプロパティは、期待されるオブジェクトのタイプとアクション入力ダイアログのプロパティを定義します。
| ||||||
要件 | ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。 |
課題添付ファイルのアクションルール
IssueAttachment.action メソッドは、アクションルールとして解釈されるオブジェクトをエクスポートします。アクションルールは次のプロパティをサポートします。
プロパティ | 説明 | ||||||
|---|---|---|---|---|---|---|---|
タイトル | 人間が判読できるタイトル。アクションは、このタイトルの課題添付ファイルのその他を表示メニューのアクションリストに表示されます。このプロパティが設定されていない場合、アクションはメニューに追加されません。 | ||||||
ガード | アクションルールが有効になるタイミングを決定する条件。 ガード条件が満たされていない場合、アクションは課題の添付ファイルに適用できません。アクションはその他を表示メニューに表示されません。 | ||||||
アクション | 課題の添付ファイルに適用する必要がある変更。 | ||||||
ユーザー入力 | アクションが必要とするユーザーからの入力。 このルールプロパティは、期待されるオブジェクトのタイプとアクション入力ダイアログのプロパティを定義します。
| ||||||
要件 | ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。 |
記事の添付ファイルに関するアクションルール
ArticleAttachment.action メソッドは、アクションルールとして解釈されるオブジェクトをエクスポートします。アクションルールは次のプロパティをサポートします。
プロパティ | 説明 | ||||||
|---|---|---|---|---|---|---|---|
タイトル | 人間が判読できるタイトル。アクションは、このタイトルの記事添付ファイルのその他を表示メニューのアクションリストに表示されます。このプロパティが設定されていない場合、アクションはメニューに追加されません。 | ||||||
ガード | アクションルールが有効になるタイミングを決定する条件。 ガード条件が満たされていない場合、アクションは記事の添付ファイルに適用できません。アクションはその他を表示メニューに表示されません。 | ||||||
アクション | 記事の添付ファイルに適用する変更。 | ||||||
ユーザー入力 | アクションが必要とするユーザーからの入力。 このルールプロパティは、期待されるオブジェクトのタイプとアクション入力ダイアログのプロパティを定義します。
| ||||||
要件 | ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。 |
ステートマシンルールのプロパティ
Issue.stateMachine メソッドは、ステートマシンルールとして解釈されるオブジェクトをエクスポートします。ステートマシンルールは、次の基本プロパティをサポートします。
プロパティ | 説明 |
|---|---|
タイトル | 人間が読めるオプションのタイトル。 |
フィールド名 | ステートマシンによって管理されるカスタムフィールドの名前。 課題タイプごとのステートマシンルールのテンプレートは、このプロパティにエイリアス |
stateFieldName | |
typeFieldName | このオプションのプロパティは、管理フィールドに適用される課題タイプごとのステートマシンを指定する列挙カスタムフィールドを識別します。このプロパティは、課題タイプごとにステートマシンをスクリプト化するためにのみ使用されます。基本的なステートマシンルールの場合、このプロパティをスキップします。 |
状態 | フィールド値のリストとそれらの間の遷移の定義。スペースと特殊文字を含む値は一重引用符で囲みます。 課題タイプごとのステートマシンルールのテンプレートでは、このプロパティはエイリアス |
defaultMachine | |
alternativeMachines | 課題タイプごとのステートマシンの場合、このプロパティは、フィールド値のコレクションと、管理フィールドにどのステートマシンを適用するかを規定するフィールドの指定値ごとに、それらの間の遷移の定義を定義します。 |
要件 | ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。 ステートマシンルールの場合、ステートマシンによって管理されるフィールドを要件に追加する必要はありません。このフィールドとその値は、 |
states プロパティで定義されている各値には、追加のプロパティセットの定義が含まれています。
課題タイプごとのステートマシンでは、これらのプロパティは、states プロパティのエイリアスである defaultMachine と、alternativeMachines プロパティにリストされている各値に対して指定されます。
プロパティ | 説明 |
|---|---|
初期 | アーティファクトの作成時にリスト内のどの値を設定するかを決定するブール型プロパティ。厳密に 1 つの値でこのプロパティを |
onEnter | 対応する値が issue に割り当てられたときに呼び出されるオプションの関数宣言。これらの機能は、他の種類のルールのアクションと同じように動作します。 |
onExit | フィールド値が現在の値から別の値に変更されたときに呼び出されるオプションの関数宣言。これらの機能は、他の種類のルールのアクションと同じように動作します。 |
遷移 | リスト内の各値に設定できる可能なターゲット値のリスト。 ステートマシンルールの場合、要件内のステートマシンによって管理されるフィールドで使用される値をリストする必要はありません。このフィールドとその値は、 |
transitions プロパティで定義されている各値には、name プロパティが含まれています。この名前は、コマンドでこの値を設定するために使用され、カスタムフィールドの値のリストにも表示されます。各トランジション名には、次の追加プロパティの定義が含まれています。
プロパティ | 説明 |
|---|---|
targetState | |
後 | アクションを実行する間隔を設定するオプションのプロパティ。アクション自体は |
アクション | 他のタイプのルールのアクションと同様に動作するトランジションのオプションのプロパティ。 |
ガード | 遷移が許可されるタイミングを決定するオプションの条件。ガード条件が満たされていない場合、カスタムフィールドの値は、この遷移に対して定義されている値に変更できません。 |
SLA ルールのプロパティ
Issue.sla メソッドは、SLA ポリシールールとして解釈されるオブジェクトをエクスポートします。SLA ルールは次のプロパティをサポートします。
プロパティ | 説明 |
|---|---|
タイトル | 人間が読めるタイトル。このタイトルは、ヘルプデスクのプロジェクト設定の SLA ルールのリストに表示されます。 |
ガード | SLA ルールがチケットに適用されるタイミングを決定する条件。 |
onEnter | SLA ポリシーの適用を開始するときにチケットに適用する必要がある変更。例: この関数は、SLA 設定に従ってタイマーを初期化します。 チケットは、更新を行ったユーザーに代わって更新され、その後、SLA がチケットに適用され始めます。 |
アクション | チケットに適用する必要がある変更。例: この機能は、顧客からの新しいコメントがあるときにタイマーを一時停止したり再開したりできます。 チケットは、この関数が呼び出された後に更新を行ったユーザーに代わって更新されます。 |
違反について | SLA ゴールのいずれかに違反した場合にチケットに適用する必要がある変更。 この関数の 特別なワークフローユーザーは、この機能をトリガーするアクターであると見なされます。これは、完全な権限セットが付与されたシステムユーザーアカウントです。 |
要件 | ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。 |
関連ページ:
ワークフロールールタイプ
YouTrack は、さまざまなタイプのワークフロールールをサポートしています。ルールタイプは、ルールが実行される一般的な条件を定義します。JavaScript エディターでワークフローを作成するときは、各ルールを定義するモジュールをワークフローに追加します。エディターには、ルールタイプごとに異なるテンプレートがあります。コードを整理および構造化できるカスタムスクリプトを作成することもできます。カスタムスクリプトを使用して、独自の関数とオブジェクトを定義し、他のルールやワークフローで使用します。...
JavaScript ワークフローリファレンス
YouTrack を使用すると、JavaScript でワークフローを作成できます。以前のバージョンの YouTrack のワークフローに使用されていたドメイン固有のプログラミング言語は非推奨になり、YouTrack 2020.5 では完全に削除されました。JavaScript は間違いなく今日世界で最も人気のあるプログラミング言語です。独自がそれに慣れていないのなら、あなたの組織には流暢な人がいる可能性があります。JavaScript に切り替えることで、YouTrack 用のワークフローをこ...