Cancel a workflow

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:5分
  • Canceling a workflow stops the workflow from executing and sets the workflow context State to Canceled. To cancel an executing workflow, you can use the cancelContext(context) script. You can define an onCancel script to clean up unresolved workflow activities.

    始める前に

    Role required: admin or workflow_admin

    このタスクについて

    Canceling a workflow attempts to stop the workflow gracefully by injecting a cancel command into the workflow engine.

    手順

    1. Navigate to All > Workflow > Active Contexts.
    2. Select a workflow context record.
    3. Configure form layout to add On-cancel script field to form.
      For detailed information about configuring form layout, see Configuring the form layout.
    4. Select the Cancel related link.
      A confirmation appears.
      Cancel Confirmation
    5. Click OK.
      The workflow engine attempts to cancel the workflow gracefully.
      Wait for Cancel

      If the workflow does not respond to the cancel command, the Force Cancel option appears.

      Force Cancel
    6. Click Force cancel to interrupt the thread the workflow is actively executing or click Continue waiting to continue waiting for the workflow to cancel gracefully.
      警告:
      Whenever possible, allow a workflow to cancel gracefully. Forcing a workflow to cancel can leave related workflows and scripts in an unresolved state. You can use an on-cancel script to clean up unresolved artifacts from a cancelled workflow.

    Cancel a workflow with the cancelContext(context) script

    To cancel an executing workflow, you can use the cancelContext(context) script. This script can be useful in cases where a workflow must be canceled in response to an event or where a user must manually cancel a workflow.

    始める前に

    Role required: admin

    このタスクについて

    For more information, see the Workflow - cancelContext(GlideRecord context).

    Define an on-cancel script

    Canceling a workflow can leave records or scripts in an unresolved state. For example, canceling a service catalog workflow may leave catalog items in the requesting user's cart. An administrator can specify an On-cancel script that runs when the workflow transitions to the Canceled state. This script can notify users, log information, or resolve the state of any scripts run within a workflow activity. The sys_id of the workflow context is available in this script using the context_sys_id variable.

    このタスクについて

    On-cancel scripts run asynchronously from the global scope. Your instance workload determines when the system schedules and runs the on-cancel script.
    重要:
    Since the system runs on-cancel scripts from the global scope, they cannot call or run scoped script includes.

    手順

    1. Navigate to All > Workflow > Workflow Versions.
    2. Select a workflow version that you have checked out.
      Workflow versions that are not checked out are not editable.
    3. Edit the On-cancel script field.
      You may need to configure the form to add this field.
    4. Click Update.

    This example script adds a comment to a Requested Item [sc_req_item] record indicating the workflow for that request has been canceled.
    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();
    }