変更時のルール
on-change ルールは、課題または記事に変更が適用されたときに実行されるアクションを定義します。
変更時ルールには、初期トリガーの特別なプロパティはありません。ルールがアクティブなプロジェクトで新しい課題または記事が作成されたとき、または既存の課題または記事に変更が適用されたときに実行されます。
YouTrack バージョン 2024.1 以前では、課題ベースの変更時ルールのみが利用可能です。YouTrack バージョン 2024.2 以降では、課題と記事に対して変更時ルールが利用可能です。
変更時ルールのサンプル
このルールは、変更が課題に適用されると、次のアクションを実行します。
YouTrack は、サブシステムフィールドの値の変更を確認します。
サブシステムの値が変更されると、課題はサブシステムの所有者に自動的に割り当てられます。
この変更時ルールを定義するコンポーネントは次のとおりです。
すべてのスクリプトは、
requireステートメントのリストで始まります。このルールでは、ローカル変数entitiesを宣言し、ワークフロー API でentitiesモジュールを参照します。これは、このモジュールに含まれるすべてのものに、このスクリプトでentities変数を使用してアクセスできることを意味します。各スクリプトは、1 つのルールを
exports.ruleプロパティにエクスポートします。ルールは、Issue.onChangeメソッドで宣言されます。このメソッドは、宣言に続くスクリプトを変更時ルールとしてエクスポートします。ルールの本体には、次の 3 つのプロパティが含まれています。
プロパティ
説明
タイトル
人間が読めるオプションのタイトル。タイトルは管理インターフェースにのみ表示されます。
ガード
ルールを実行するための条件を決定する機能。保護条件が満たされていない場合、ルールに指定されているアクションは課題に適用されません。
アクション
各課題に適用されるアクション。アクションは、引数としてコンテキストを受け入れる関数として宣言されます。
この例では、サブシステムフィールドが null 以外の所有者を持つ null 以外の値に設定されているかどうかを確認します。その場合、ルールは担当者フィールドの値を設定します。
runOn
変更イベントルールをトリガーする発行イベントを決定します。指定しない場合、課題の更新時にルールがトリガーされます。このプロパティは、次のパラメーターで拡張されます。
change—trueの場合、ルールは課題の変更時にトリガーされます。removal—trueの場合、課題が削除されたときにルールがトリガーされます。
この例のルールは更新が適用されるとトリガーされるため、このプロパティの値を指定する必要はありません。
課題の削除に反応する変更時ルールの完全なサンプルについては、ワークフローを使用して課題の削除を防止するを参照してください。
要件
ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。
この例では、要件により、サブシステムフィールドと担当者フィールドの両方に正しいタイプが格納され、ルールが関連付けられているプロジェクトで使用できることが保証されます。いずれかのフィールドが存在しない場合、ワークフローリストにエラーが表示されます。必須フィールドがアタッチされるまで、ルールを有効にできません。
冠詞の変更時ルールのサンプルについては、API 参照を参照してください。