YouTrack および Hub ヘルプの開発者ポータル

トランザクション

ワークフローが課題に変更を適用する時期を正確に予測するには、YouTrack のデータベーストランザクションについて少し知っておく必要があります。単一のデータベーストランザクションで処理された課題に変更を適用するサーバーへの要求。例: ユーザーがユーザーインターフェースを介してカスタムフィールドの値を設定した場合。

コマンドは、データベースとのより複雑な相互作用をサポートします。たとえば、コマンドを使用して複数のフィールドを更新し、課題にコメントを追加できます。YouTrack REST API の課題に複数の変更を適用することもできます。いずれの場合も、これらの変更は単一のトランザクションで処理されるため、アトミックであると見なされます。

同一トランザクションに属するすべての変更は、データベースにコミットされる(更新となる)か、拒否される(エラーとなる)かのいずれかです。トランザクションの変更がデータベースにコミットされる前に、YouTrack はワークフロールールのガード条件に対してチェックを実行します。YouTrack は、更新対象の課題が属するプロジェクトに紐づけられたワークフローのみをチェックします。トランザクションの変更によっていずれかのガード条件が満たされた場合、ワークフロールールがトリガーされます。

ワークフローによって適用された変更は、現在のトランザクションに追加されます。次に、YouTrack は、ワークフローによって適用された変更がガード条件を満たしているかどうかを確認するための別のチェックを実行します。このプロセスは、プロジェクト内のガード条件がすべて満たされるまで続きます。現在のトランザクションに格納されている変更の完全なセットが、データベースにコミットされます。

つまり、ユーザーインターフェースを介して適用された変更に対応してワークフローによって適用された更新は、すべて同じトランザクションに属します。

課題を別のプロジェクトに移動するときに、データベーストランザクションがワークフローとどのように相互作用するかを理解することが特に重要です。トランザクションにプロジェクトフィールドの値の変更が含まれる場合、YouTrack は、ターゲットプロジェクトに関連付けられているワークフローのガード条件のみをチェックします。課題が以前属していたプロジェクトにアタッチされているワークフローは無視されます。

2026 年 7 月 06 日