停止またはハングした ServiceNow ワークフローを進行(再開)する方法Issue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } レガシー Workflow が停止し、次のアクティビティに進まない場合、再実行するアクティビティを参照する新しい Workflow Executing Activity レコードを追加した後、ワークフローを Nudge することで、手動で再開できます。この記事では、それを安全に行う方法について説明します。 ワークフローは、以下のようなシナリオで「停止」することがあります。これは、ハングまたはハング状態とも呼ばれ、進行しなくなります。 Switch アクティビティが終了したが、いずれの条件も満たされなかった。Catalog Task がクローズされたが、いずれのカスタム条件も満たされなかった。ユーザーがトランザクションをキャンセルし、たとえば処理に時間がかかりすぎたことが理由で、ワークフローの遷移先がなくなった。 いずれの場合も、根本的な問題を修正した後も Workflow Context(wf_context)がアイドル状態のままになるため、それを先へ進める方法が必要です。 Facts<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 開始する前に これらの手順ではワークフローエンジンのレコードを直接変更するため、最初にサブプロダクションインスタンスでテストし、どのアクティビティから再開する必要があるかを理解していることを確認してください。システム UI Policy および List Control を一時的に無効にします。完了後に、それらの変更を元に戻すことを忘れないでください。必ず最初に根本原因を解決してください。Nudge または再開は復旧手順であり、停止の原因となった条件に対する修正ではありません。 Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } すべてのリリース Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 解決手順 Workflow Executing Activities に「New」ボタンを表示します。影響を受けている [wf_context] レコードを開きます。Workflow Executing Activities 関連リストで列ヘッダーを右クリックし、Configure > List Control を選択します。次に、Omit new button の選択を解除して保存します。これにより、関連リストに New ボタンが表示されます。再開するアクティビティを見つけます。Workflow Activity History(Transition History)関連リストで、ワークフローの戻り先となるアクティビティを見つけます。アクティビティの sys_id をコピーします。履歴レコードの sys_id ではありません。その履歴レコードを開き、Show XML を選択して、activity フィールドから sys_id をコピーします。これはよくある間違いです。必要なのはアクティビティの sys_id であり、Workflow Activity History レコード自体の sys_id ではありません。新しい Workflow Executing Activity レコードを作成します。Workflow Context に戻り、New をクリックします。デフォルトではすべてのフィールドが読み取り専用であるため、フォームを編集できるように UI Policy Default read only を無効にします。つまり、false に設定します。新しいレコードで対象アクティビティを指定し、Executing に設定します。Activity 参照フィールドで、手順 3 でコピーした sys_id を検索して選択します。レコードの state が Executing であることを確認してから、送信します。ワークフローを Nudge します。Workflow Context の Nudge ボタンを使用するか、ワークフローの実行対象となっているレコードを更新して、エンジンに再評価および続行を促します。一時的な変更を元に戻します。UI Policy Default read only を再度有効にし、Omit new button を再度選択して、設定を通常の状態に戻します。 ヒント: Context が Cancelled 状態である場合、アクティビティを実行する前に、Workflow Context の state = executing および active = true を設定する必要がある場合があります(たとえば、Context の XML をエクスポートし、これら 2 つのフィールドを編集して再インポートすることによって設定できます)。 重要: レガシー Workflow ではなく Flow Designer を使用している場合 上記の手順は、レガシー Workflow エンジン(wf_context)に適用されます。プロセスが Flow Designer で実行されている場合、同等の復旧方法は異なります。 Flow Context [sys_flow_context] レコードを開いて Sys ID をコピーし、Scripts - Background から以下の Nudge API を実行します。 sn_fd.FlowAPI.nudgeFlow('<sys_flow_context.sys_id>', 1); 2 番目のパラメーターは、再開するまで待機する秒数です。 この方法は、すべてのバージョンにおける Wait for Condition アクションおよび Approval、ならびに Timer に対して機能します。 繰り返し停止するビジネスクリティカルな自動化については、レガシー Workflow を、トリガーベースの再評価を使用する Flow Designer に移行することが ServiceNow によって推奨されています。 Related Links<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } How to retrigger a workflow activity or resume a canceled workflow(KB0713154)Workflow Version の sys_id のコピーや、キャンセルされた Workflow Context の処理を含む、より詳細な手順です。 How to resume a stuck flow(KB0957784)Flow Designer のフローに対して sn_fd.FlowAPI.nudgeFlow() スクリプトを使用する方法です。