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