要件
requirements オブジェクトには 2 つの目的があります。
まず、セーフティネットとして機能します。ルールが期待どおりに動作するために必要なエンティティのセットを指定します。ルールの要件が 1 つ以上満たされていない場合、ワークフロー管理 UI に対応するエラーが表示されます。すべての課題が解決されるまで、ルールは実行されません。
2 つ目は、参照として機能します。要件内の各エンティティは
contextオブジェクトにプラグインされるため、コンテキスト依存関数(action関数など)内からエンティティを参照できます。
要件には、プロジェクト全体とシステム全体の 2 種類があります。
プロジェクト全体の要件には、ルールを使用する各プロジェクトにアタッチされるカスタムフィールドのリストと、各カスタムフィールドの値のセットからの必須値が含まれます。
システム全体の要件には、YouTrack で使用可能でなければならない他のエンティティのリストが含まれています。これには、ユーザー、グループ、プロジェクト、課題、タグ、保存済み検索、課題リンクタイプが含まれます。
サンプル
カスタムフィールドの定義とこのフィールドに必要な値を含む要件ステートメントの例は、システム全体の要件のリストが続きます。
Properties
要件ステートメントで指定されているすべてのエンティティは、エイリアスによって識別されます。上記の例では、優先度フィールドにエイリアス P が割り当てられています。要件でエンティティにエイリアスを割り当てるときは、エイリアスを使用してコンテキスト内のエンティティを参照します。例: 優先度フィールドは、ctx.P、issue.fields.P、issue.fields.Priority として参照できます。
要件ステートメントで指定されている各要件には、次のプロパティがあります。
プロパティ | 説明 | ||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
型 | エンティティのデータ型。このプロパティは必須です。カスタムフィールドのタイプの完全なリストは次のとおりです。
次のタイプは、システム全体のエンティティに使用されます。
| ||||||||||||||||||||||||||||||||||||||||||
名前 | エンティティの名前。このプロパティはオプションです。名前が設定されていない場合、エイリアスと等しいと見なされます。 特定のシステム全体のエンティティの場合、このプロパティは完全に無視されます。
|
さらに、特定のエンティティタイプでのみ使用できるプロパティがあります。これらのプロパティは次のとおりです。
エンティティ | プロパティ | 説明 |
|---|---|---|
カスタムフィールド | 値 | 上記の既知のプロパティのいずれでもないエンティティに対して定義されているプロパティは、カスタムフィールドの値セットの値の要件と見なされます。各 上記の例では、 |
マルチ | ブール型のプロパティ。 | |
課題リンク | 外向き | 課題リンクタイプの外部名。 |
内向き | 課題リンクタイプの内部名。 | |
ユーザー | ログイン | 特定のユーザーのログイン。 |
課題 | id | 特定の課題の ID。 |