YouTrack クラウド 2026.1 ヘルプ

スケジュール規則

on-schedule ルールは、設定されたスケジュールに従って適用される一連の変更を定義します。例: 特定の属性値に関する課題を定期的にチェックし、ユーザーまたはグループに通知することができます。これらのルールは、以前のワークフローで使用されていたスケジュール済みルールを置き換えます。

スケジュール通りのルールは、特別なワークフローユーザーによって実行されます。これは、すべての権限が付与されたシステムユーザーアカウントです。このアカウントの権限は変更できません。ワークフローユーザーアカウントはライセンス制限に含まれず、ユーザーリストに表示されません。

サンプルスケジュールルール

ワークフローコンストラクターでスケジュールどおりのルールを作成する場合は、次の設定を使用して、ワークフローを実行するためのトリガーを定義します。

設定

説明

スケジュール

次のいずれかのオプションを選択して、ルールを実行するスケジュールを定義します。

オプション

説明

1 時間ごと

ワークフロールールを 1 時間に 1 回、1 時間の先頭にトリガーします。

毎日

ワークフローを 1 日 1 回、深夜にトリガーします。

毎週

ワークフローを週に 1 回、日曜日の深夜にトリガーします。

カスタム

ルールを Java クーロン式(英語)として適用するためのカスタムスケジュールを指定します。

すべての時間は、インスタンスのグローバル設定のタイムゾーンを使用して設定されます。

フィルター

このルールで処理対象となる課題を決定する検索クエリを保存します。この設定は、スケジュールルールに必須です。YouTrack で課題を検索するには、標準構文を使用してください。詳細については、検索クエリリファレンスを参照してください。

次に、前提条件セクションで課題を更新するための初期基準を定義し、次にアクションセクションで適用する更新を指定します。

これは、1 日に 1 回、期限切れの購入リクエストをチェックし、期限を過ぎたリクエストにタグを追加するワークフロールールです。

A sample on-schedule rule in the workflow constructor.

このサンプルのスケジュールルールは、次のように動作します。

ルールトリガー

ルールは、次の状況でトリガーされるように構成されています。

設定

説明

スケジュール

毎日オプションは、YouTrack インスタンス用に構成されたタイムゾーンに従って、ルールを 1 日 1 回深夜に実行します。

フィルター

Type: {Purchase request} クエリは、更新が購入リクエストにのみ適用されることを確認します。

ルールの前提条件

1 日に 1 回、最初のフィルター基準に一致する課題が次の条件についてチェックされます。

条件

説明

日付フィールドが指定された基準に一致する

この条件ブロックは、次の設定で構成されます。

  • フィールド : 期限日

  • 後に起こります : 任意の日付

  • 前に起こる : ルールがトリガーされます

これにより、期限日フィールドに格納されている値が、ルールがトリガーされる前に発生するかどうかが確認されます。

現在の課題がこの基準に一致しない場合、ルールはこの課題を無視し、次の課題の処理を続行します。

ルールアクション

現在の課題で前提条件ブロックに記述されている条件が満たされている場合、ワークフローは自動的に次の変更を適用します。

アクション

説明

タグを追加する

このアクションにより、期限切れのタグが現在の課題に追加されます。

この規則は毎日 10:00 で実行されます。このルールは、期限日フィールドに値が割り当てられている未解決の課題をチェックします。期日が過ぎている場合は、通知が担当者に送信されます。

const entities = require('@jetbrains/youtrack-scripting-api/entities'); const workflow = require('@jetbrains/youtrack-scripting-api/workflow'); const dateTime = require('@jetbrains/youtrack-scripting-api/date-time'); exports.rule = entities.Issue.onSchedule({ title: 'Notify assignee about overdue issues', search: '#Unresolved has: {Due Date}', cron: '0 0 10 ? * MON-FRI', guard: (ctx) => { return ctx.issue.fields.DueDate < Date.now(); }, action: (ctx) => { const issue = ctx.issue; let userToNotify = issue.fields.Assignee; if (!userToNotify) { userToNotify = issue.project.leader; } const formattedDate = dateTime.format(issue.fields.DueDate); const notificationText = workflow.i18n('Issue became overdue on <i>{0}</i>:', formattedDate) + ' <a href="' + issue.url + '">' + issue.summary + '</a><p style="color: gray;font-size: 12px;margin-top: 1em;border-top: 1px solid #D4D5D6">' + workflow.i18n('Sincerely yours, YouTrack') + '</p>'; userToNotify.notify(workflow.i18n('[YouTrack, Issue is overdue]'), notificationText); }, requirements: { DueDate: { type: entities.Field.dateType, name: "Due Date" }, Assignee: { type: entities.User.fieldType } } });

このスケジュールどおりの規則を定義するコンポーネントは次のとおりです。

  • ここでも、スクリプトは、ワークフロー 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 でのワークフローの作成の詳細については、開発者ポータルのドキュメントを参照してください。

2026 年 5 月 06 日

関連ページ:

検索クエリリファレンス

このページでは、YouTrack クエリ言語で使用されている属性とキーワードのリストを提供しています。検索クエリで認識される演算子、シンボル、相対日付パラメーターの完全なリストもあります。このページのいくつかの参照はシンプル検索では利用できません。アクセスするには拡張検索に切り替えてください。課題の属性:すべての号には YouTrack によって自動的に設定される基本属性があります。これらには、issue ID、最後の更新を issue に作成または適用したユーザなどが含まれます。これらの検索...

条件

ワークフローコンストラクターは、さまざまな事前定義された条件をサポートします。これらの条件により、ワークフロールールを実行するために満たす必要のある基本的な基準を説明できます。条件をワークフロールールの前提条件セクションにドラッグして、基本基準を定義します。複数の条件を追加すると、各条件は論理 AND 演算子で自動的に接続されます。これは、前提条件セクションのすべての条件が満たされた場合にのみ、ワークフロールールを実行するための前提条件が満たされることを意味します。ビルドブロックを使用して、さまざま...

変更時のルール

on-change ルールは、課題または記事に変更が適用されたときに実行されるアクションを定義します。変更時ルールには、初期トリガーの特別なプロパティはありません。ルールがアクティブなプロジェクトで新しい課題または記事が作成されたとき、または既存の課題または記事に変更が適用されたときに実行されます。変更時ルールのサンプル:ワークフローコンストラクターで変更時ルールを作成するときは、前提条件セクションで課題を更新するための初期基準を定義してから、アクションセクションで適用する更新を指定します。これ...

ステートマシンルール

state-machine ルールは、カスタムフィールドのある値から別の値への遷移を規制します。ステートマシンルールは、列挙された任意のカスタムフィールドに適用できます。ただし、ステートマシンルールの最も一般的な使用例は、状態フィールドまたはタイプを格納する別のカスタムフィールドの値間の遷移を調整することです。ステートマシンルールがプロジェクトに適用されると、フィールドのドロップダウンリストに表示されるオプションは、現在の状態のステートマシンルールで定義されている遷移に制限されます。ステートマシン...