---
sourceDocument: Yokohama ビルドのワークフロー
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/yokohama/build-workflows

 Release :

    - yokohama

ft:locale :

    - ja-JP

ft:publication_title :

    - Yokohama ビルドのワークフロー

ft:clusterId :

    - crworkflow

bundleId :

    - crworkflow

workflow :

    - Creator


---

# ワークフローのキャンセル

# ワークフローのキャンセル {#ariaid-title1}

* リリースバージョン: Yokohama
* 
* 更新日 2025年01月30日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：4分

ワークフローをキャンセルすると、ワークフローの実行が停止され、ワークフローコンテキストの状態がキャンセルに設定されます。実行中のワークフローをキャンセルするには、cancelContext(context) スクリプトを使用します。onCancelスクリプトを定義して、未解決のワークフロー アクティビティをクリーンアップすることができます。

## 始める前に

必要なロール： admin または workflow_admin

## このタスクについて

ワークフローをキャンセルすると、ワークフローエンジンにキャンセルコマンドを挿入することによって、ワークフローの正常な停止が試みられます。

## 手順

1. 移動先 すべてワークフローアクティブなコンテキスト.
2. ワークフローコンテキストレコードを選択します。
3. フォームレイアウトを設定して、 \[キャンセル時のスクリプト\] フィールドをフォームに追加します。  
   フォームレイアウトの構成の詳細については、「[Configuring the form layout](https://www.servicenow.com/docs/access?context=configure-form-layout&version=yokohama&pubname=yokohama-platform-administration&ft:locale=en-US)」を参照してください。
4. \[キャンセル\] 関連リンクを選択します。  
   確認メッセージが表示されます。 ![キャンセルの確認]()
5. \[OK\] をクリックします。  
   ワークフローエンジンは、ワークフローを正常にキャンセルしようとします。

   ワークフローがキャンセルコマンドに応答しない場合、 \[キャンセルの強制 (Force Cancel)\] オプションが表示されます。
6. \[キャンセルの強制\] をクリックしてワークフローがアクティブに実行しているスレッドを中断するか、 \[待機を続ける\] をクリックしてワークフローが正常にキャンセルされるの待ちます。  
   警告:  
   可能な限り、ワークフローが正常にキャンセルされるようにします。ワークフローを強制的にキャンセルすると、関連するワークフローやスクリプトが未解決の状態のままになる可能性があります。キャンセル時のスクリプトを使用して、キャンセルされたワークフローから未解決のアーティファクトをクリーンアップすることができます。

## cancelContext(context) スクリプトによるワークフローのキャンセル {#ariaid-title2}

実行中のワークフローをキャンセルするには、cancelContext(context) スクリプトを使用します。このスクリプトは、イベントに応答してワークフローをキャンセルする必要がある場合や、ユーザーが手動でワークフローをキャンセルする必要がある場合に役立ちます。

### 始める前に

必要なロール：アドミン

### このタスクについて

詳細については、「[Workflow - cancelContext(GlideRecord context)](https://www.servicenow.com/docs/access?context=c_Workflow_api&version=yokohama&pubname=yokohama-api-reference&section=r_WF-cancelContext_GR&ft:locale=en-US)」を参照してください。

## キャンセル時のスクリプトの定義 {#ariaid-title3}

ワークフローをキャンセルすると、レコードやスクリプトが未解決の状態のままになる可能性があります。たとえば、サービスカタログワークフローをキャンセルすると、カタログアイテムが要求しているユーザーのカートに残ることがあります。アドミニストレーターは、ワークフローがキャンセル状態に移行するときに実行されるキャンセル時のスクリプトを指定できます。このスクリプトは、ユーザーに通知したり、情報を記録したり、ワークフローアクティビティ内で実行されるスクリプトの状態を解決したりすることができます。ワークフローコンテキストの sys_id は、このスクリプトで context_sys_id 変数を使用して使用できます。

### このタスクについて

キャンセル時のスクリプトは、グローバルスコープから非同期で実行されます。インスタンスの作業負荷によって、キャンセル時のスクリプトがスケジュールされて実行されるタイミングが決まります。  
重要:  
グローバルスコープからキャンセル時のスクリプトは実行されるため、このスクリプトがスコープ付きスクリプトインクルードを呼び出したり、実行することはできません。

### 手順

1. 移動先 すべてワークフローワークフローバージョン.
2. チェックアウトしたワークフロー バージョンを選択します。  
   チェックアウトされていないワークフロー バージョンは編集できません。
3. \[キャンセル時のスクリプト\] フィールドを編集します。  
   このフィールドを追加するためにフォームを構成しなければならない場合があります。
4. \[更新\] をクリックします。

### 例

このサンプル スクリプトは、要求アイテムの \[sc_req_item\] レコードに、その要求のワークフローがキャンセルされたことを示すコメントを追加します。

    var grContext = new GlideRecord("wf_context"); 
    grContext.get(context_sys_id); 
    var grReq = new GlideRecord("sc_req_item");
     
    // The current record may not exist, make sure it exists before modifying it.
    if (grReq.get(grContext.id)) {
        grReq.comments = "The workflow processing this item was Canceled. Contact your system administrator for further information.";
        grReq.update();
    }


