Skip to content

The Workflow Engine Building Block for GovStack

License

Notifications You must be signed in to change notification settings

GovStackWorkingGroup/bb-workflow

Repository files navigation

GovStack Workflow Building Block CircleCI

This repository contains technical specifications for the GovStack Workflow BB.

The spec is provided in human-readable format via GitBook.

Roadmap

API Roadmap

Status Updates Concept to Consider

  1. Currently, we let business process designers determine who to update at which point in the process, including at the end if they so desire. (This is the expected default.)

    We COULD require that Workflow BBs expect/or respond to an additional parameter/payload attribute in the /process/id/start endpoint which contains a “notification URL” to be notified with a standard payload upon completion of each step and/or completion of the entire process.
    
    
    We WOULD then require the BB to send these webhook notifications to the initial callers “notification URL” if it was provided in the initial /process/id/start request.
    
  2. Also, currently, because the UUID of a newly created instance is provided in the response to the initial caller, that caller can check API endpoint #5 (see above) whenever they want. In other words, they can “poll” for status updates. (This is another default flavor available, out of the box.)

New endpoints for future consideration

In future we should specify which roles can access which endpoints.

  1. Suspend a workflow process Definition By Id (POST)

    • Suspend a given process definition by id
  2. Activate a workflow process Definition By Id (POST)

    • Activate a given process definition by id
  3. Suspend a workflow instance by instance ID. (POST)

    • Suspend a running workflow instance given an instance ID.
  4. Delete a workflow instance by instance ID. (DELETE)

    • Deletes a running workflow instance given an instance ID
  5. Get the list of tasks for a workflow instance by instance ID. (GET)

    • Retrieves the information of all tasks for a process instance given an instance ID
  6. Get the next task for a workflow instance by instance ID. (GET)

    • Retrieves the information of next task according to the status of the process instance given an instance ID
  7. Complete task (POST)

    • Provides for a given task the required variables for completion
  8. Get process instance statistics a workflow instance by instance ID(GET)

    • Retrieves runtime statistics of the process engine of running process instances.
  9. Deploy a new workflow process (POST)

    • Creates a new workflow process and specifies the detail of its configuration
  10. Redeploy workflow process (POST)

    • Re-deploy an existing deployment to modify the workflow process.
  11. Delete a specific Deployment (DELETE)

    • Deletes a specific workflow process.
    • Optionally all process instances, historic process instances and jobs for this deployment should be deleted.