トランザクション
ワークフローが課題に変更を適用する時期を正確に予測するには、YouTrack のデータベーストランザクションについて少し知っておく必要があります。単一のデータベーストランザクションで処理された課題に変更を適用するサーバーへの要求。例: ユーザーがユーザーインターフェースを介してカスタムフィールドの値を設定した場合。
コマンドは、データベースとのより複雑な相互作用をサポートします。たとえば、コマンドを使用して複数のフィールドを更新し、課題にコメントを追加できます。YouTrack REST API の課題に複数の変更を適用することもできます。いずれの場合も、これらの変更は単一のトランザクションで処理されるため、アトミックであると見なされます。
同じトランザクションに属するすべての変更は、データベースにコミットされる(結果として更新される)か、拒否される(エラーを生成する)かのいずれかです。トランザクションの変更がデータベースにコミットされる前に、YouTrack はワークフロールールのガード条件に対してチェックを実行します。YouTrack は、更新された課題が属するプロジェクトに関連付けられているワークフローのみをチェックします。トランザクションの変更によってガード条件が満たされると、ワークフロールールがトリガーされます。ワークフローによって適用される変更は、現在のトランザクションに追加されます。次に YouTrack は、ワークフローによって適用された変更によってガード条件が満たされているかどうかを確認するために、別のチェックを実行します。このプロセスは、プロジェクトのどのガード条件も満たされないまで続きます。現在のトランザクションに格納されている変更の完全なセットは、データベースにコミットされます。
つまり、ユーザーインターフェースを介して適用された変更に対応してワークフローによって適用された更新は、すべて同じトランザクションに属します。
課題を別のプロジェクトに移動するときに、データベーストランザクションがワークフローとどのように相互作用するかを理解することが特に重要です。トランザクションにプロジェクトフィールドの値の変更が含まれる場合、YouTrack は、ターゲットプロジェクトに関連付けられているワークフローのガード条件のみをチェックします。課題が以前属していたプロジェクトにアタッチされているワークフローは無視されます。
関連ページ:
カスタムスクリプト
カスタムスクリプトを使用すると、コードブロックを整理して再利用できます。特定のタイプのルールは含まれていません。代わりに、他のスクリプトで使用できるコードが含まれています。どのスクリプトでも、オブジェクトのプロパティとして割り当てることにより、他のスクリプトで使用するオブジェクトと関数を定義できます。以下に例を示します。最初に、単純な関数を定義するカスタムスクリプトを作成します。// 'math.js' exports.f = function (x) { return x * x - 6 *
ワークフローコンストラクター
ワークフローコンストラクターは、定義済みの条件とアクションを使用して自動化を構築できるコード不要のドラッグアンドドロップインターフェースです。この機能の概要については、この短いビデオを参照してください。ワークフローコンストラクターにアクセスするには: アプリケーションヘッダーの管理メニューから、ワークフローを選択します。コンストラクターを使用して作成されたワークフローを見つけて、リストから選択します。サイドバーのワークフローの編集ボタンをクリックします。選択したワークフローがワークフローコンストラ...