スケジュール規則
on-schedule ルールは、設定されたスケジュールに従って適用される一連の変更を定義します。例: 特定の属性値に関する課題を定期的にチェックし、ユーザーまたはグループに通知することができます。これらのルールは、以前のワークフローで使用されていたスケジュール済みルールを置き換えます。
スケジュール通りのルールは、特別なワークフローユーザーによって実行されます。これは、すべての権限が付与されたシステムユーザーアカウントです。このアカウントの権限は変更できません。ワークフローユーザーアカウントはライセンス制限に含まれず、ユーザーリストに表示されません。
サンプルスケジュールルール
ワークフローコンストラクターでスケジュールどおりのルールを作成する場合は、次の設定を使用して、ワークフローを実行するためのトリガーを定義します。
設定 | 説明 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
スケジュール | 次のいずれかのオプションを選択して、ルールを実行するスケジュールを定義します。
すべての時間は、インスタンスのグローバル設定のタイムゾーンを使用して設定されます。 | ||||||||||
フィルター | このルールで処理対象となる課題を決定する検索クエリを保存します。この設定は、スケジュールルールに必須です。YouTrack で課題を検索するには、標準構文を使用してください。詳細については、検索クエリリファレンスを参照してください。 |
次に、前提条件セクションで課題を更新するための初期基準を定義し、次にアクションセクションで適用する更新を指定します。
これは、1 日に 1 回、期限切れの購入リクエストをチェックし、期限を過ぎたリクエストにタグを追加するワークフロールールです。

このサンプルのスケジュールルールは、次のように動作します。
ルールトリガー
ルールは、次の状況でトリガーされるように構成されています。
設定 | 説明 |
|---|---|
スケジュール | 毎日オプションは、YouTrack インスタンス用に構成されたタイムゾーンに従って、ルールを 1 日 1 回深夜に実行します。 |
フィルター | |
ルールの前提条件
1 日に 1 回、最初のフィルター基準に一致する課題が次の条件についてチェックされます。
条件 | 説明 |
|---|---|
この条件ブロックは、次の設定で構成されます。
これにより、期限日フィールドに格納されている値が、ルールがトリガーされる前に発生するかどうかが確認されます。 現在の課題がこの基準に一致しない場合、ルールはこの課題を無視し、次の課題の処理を続行します。 |
ルールアクション
現在の課題で前提条件ブロックに記述されている条件が満たされている場合、ワークフローは自動的に次の変更を適用します。
アクション | 説明 |
|---|---|
このアクションにより、期限切れのタグが現在の課題に追加されます。 |
この規則は毎日 10:00 で実行されます。このルールは、期限日フィールドに値が割り当てられている未解決の課題をチェックします。期日が過ぎている場合は、通知が担当者に送信されます。
このスケジュールどおりの規則を定義するコンポーネントは次のとおりです。
ここでも、スクリプトは、ワークフロー API の
entitiesモジュールを参照するrequireステートメントで始まります。これは、このモジュールに含まれるすべてのものに、このスクリプトでentities変数を使用してアクセスできることを意味します。この規則では、
exports.ruleプロパティはIssue.onScheduleメソッドを使用します。これは、宣言に続くスクリプトをスケジュールどおりのルールとしてエクスポートします。ルール本体には、次のプロパティの定義が含まれています。
プロパティ
説明
タイトル
人間が読めるオプションのタイトル。タイトルは管理インターフェースにのみ表示されます。
サーチ
このルールで処理される課題を決定する必須の検索クエリ。標準の YouTrack 検索クエリの構文を使用する文字列(検索クエリリファレンスを参照)でも、ルールがトリガーされるたびに検索文字列を再計算する関数でも構いません。
関数を使用するときは、名前で参照します。例:
search: getSearchExpressionアクション内に条件を追加するのではなく、検索式をできるだけ具体的にすることを強くお勧めします。
クーロン
ルールを適用するスケジュール。Java クーロン式(英語)として指定します。
この例では、式は、YouTrack サーバーに設定されているタイムゾーンの 10:00 で毎日このルールをトリガーします。
muteUpdateNotifications
このルールによって適用される変更について更新通知を送信するかどうかを決定するフラグ。通知を送信せずに更新を適用する場合は、
trueに設定します。trueの場合、このプロパティは、同じトランザクションで適用されるカスケード変更の通知も抑制します。例: オンスケジュールルールによって適用される更新が 1 つ以上のオンチェンジルールからの更新をトリガーする場合、通知を送信せずに変更のセット全体が適用されます。この例で使用される .notify メソッドのように、このプロパティの値は明示的に送信される通知には影響しません。
ルールは課題の変更を適用しないため、このプロパティはこの例には関係ありません。
trueに設定されていた場合でも、.notifyメソッドを使用して送信されるメール通知は引き続き配信されます。ガード
ルールを実行するための条件を決定する機能。保護条件が満たされていない場合、ルールに指定されているアクションは課題に適用されません。
アクション
検索条件に一致する各課題に適用されるアクション。このアクションは、課題ごとに個別にトリガーされます。アクション自体は、ワークフローユーザーアカウントによって実行されます。
この例では、
Assignee.notifyメソッドを使用して、課題が期限切れであることを現在の担当者に警告します。要件
ルールがエラーなしで実行されるために必要なエンティティのリスト。このプロパティにより、ルールをプロジェクトに安全にアタッチできるようになります。
この例では、要件により、担当者フィールドと期限日フィールドの両方に正しいタイプが格納され、ルールが関連付けられているプロジェクトで使用できることが保証されます。いずれかのフィールドが存在しない場合、ワークフローリストにエラーが表示されます。必須フィールドがアタッチされるまで、ルールを有効にできません。
JavaScript でのワークフローの作成の詳細については、開発者ポータルのドキュメントを参照してください。
関連ページ:
検索クエリリファレンス
このページでは、YouTrack クエリ言語で使用されている属性とキーワードのリストを提供しています。検索クエリで認識される演算子、シンボル、相対日付パラメーターの完全なリストもあります。このページのいくつかの参照はシンプル検索では利用できません。アクセスするには拡張検索に切り替えてください。課題の属性:すべての号には YouTrack によって自動的に設定される基本属性があります。これらには、issue ID、最後の更新を issue に作成または適用したユーザなどが含まれます。これらの検索...
条件
ワークフローコンストラクターは、さまざまな事前定義された条件をサポートします。これらの条件により、ワークフロールールを実行するために満たす必要のある基本的な基準を説明できます。条件をワークフロールールの前提条件セクションにドラッグして、基本基準を定義します。複数の条件を追加すると、各条件は論理 AND 演算子で自動的に接続されます。これは、前提条件セクションのすべての条件が満たされた場合にのみ、ワークフロールールを実行するための前提条件が満たされることを意味します。ビルドブロックを使用して、さまざま...
変更時のルール
on-change ルールは、課題または記事に変更が適用されたときに実行されるアクションを定義します。変更時ルールには、初期トリガーの特別なプロパティはありません。ルールがアクティブなプロジェクトで新しい課題または記事が作成されたとき、または既存の課題または記事に変更が適用されたときに実行されます。変更時ルールのサンプル:ワークフローコンストラクターで変更時ルールを作成するときは、前提条件セクションで課題を更新するための初期基準を定義してから、アクションセクションで適用する更新を指定します。これ...
ステートマシンルール
state-machine ルールは、カスタムフィールドのある値から別の値への遷移を規制します。ステートマシンルールは、列挙された任意のカスタムフィールドに適用できます。ただし、ステートマシンルールの最も一般的な使用例は、状態フィールドまたはタイプを格納する別のカスタムフィールドの値間の遷移を調整することです。ステートマシンルールがプロジェクトに適用されると、フィールドのドロップダウンリストに表示されるオプションは、現在の状態のステートマシンルールで定義されている遷移に制限されます。ステートマシン...