Integrate with the Rules service

Overview

In addition to the standard scheduling rules that are provided, the Rules service makes it possible to extend and customize its functionality to suit specific organizational requirements. These integrations fall into two broad categories:

  1. Fetching rule violation (conflict) records from the Rules service to display in a custom page in the web app or in an external system, for example, for notification or reporting purposes.
  2. Adding custom rules so that Skedulo displays violation records for organization-specific constraints as it would for the standard rules. For more information on how to do this, see Custom schedule rules.

Rules service integrations diagram

Integrate with the Rules service to fetch rule violation records

There are different ways to get violation records from the Rules service, depending on the use case. They are all suitable for records resulting from standard or custom rules being violated and make use of the Rule violations (conflicts) API endpoints. the following queries can be performed:

  1. Find standard and custom violation records by filter criteria (POST request to violations/search)
  2. Find standard and custom violation records affecting a list of target objects (POST request to violations/findByTargetIds)
  3. Find standard and custom violation records by violation record ID (GET request to violations/{violationId})

Integrate with the Rules service to add custom rules

Custom rules can be integrated with Skedulo to evaluate changes to target objects and fields on triggering events. Details on how to do this can be found in Custom schedule rules.

Other extensible features

Rule record status

When a rule violation record is created, it is automatically assigned the “Open” status. The status field can be changed via the violations/assignStatus endpoint. The supported statuses are: “Open”, “In progress”, “Closed”, and “Acknowledged”. Skedulo can be configured to change standard rule violation record statuses automatically from “Open” to “System resolved” when the conflict conditions are resolved. Speak to your Customer Service Representative to discuss this configuration.

Context field

The optional context field in the violation record can contain extra information pertaining to the rule violation. This information is not displayed in the Skedulo web app, but could be used in an integration for display or evaluation purposes. The format is unstructured JSON, so it provides flexibility in terms of its contents and use.

Ability to assign a user

The Rules service exposes the violations/assignUser endpoint, which makes it possible to assign a user to a individual violation record. This could be used, for example, to assign violation records to different schedulers to resolve; thus mitigating against the possibility of two schedulers trying to resolve the same record at the same time.