Create maintenance rules

Define maintenance rules to mark CIs in maintenance status. When in maintenance status, these CIs are excluded from impact calculation.

Before you begin

Role required: evt_mgmt_admin

About this task

You can define rules to mark CIs that match the specified criteria as being in maintenance status. The marked CIs populate the Impact Maintenance cis [em_impact_maint_ci] table.
Note: When running maintenance rules, the cmdb_ci status of matching CIs is not changed. However, matching CIs are flagged in the em_impact_maint_ci table by these rules and this status is considered for impact and alert calculations.
The maintenance rules provided with the base instance are:
Default maintenance rule Description
CI in Change Window Where the CI has an active change window, the matching CIs are marked as being in maintenance status.
The rule runs a query against the change request [change_request] table to determine if the rule is applied. All these conditions in the change_request table must be met:
  • State is one of these options: Scheduled, Implement, Work in Progress, or Open/New (state in (-2, -1, 1, 2)).
  • Approval is Approved (approval = 'approved').
  • The change request window is active, that is, the current time is between Planned start date and Planned end date) or current time is between Actual start and Actual end.
  • The change request record is not an on-hold record (on_hold='false').
Note: All these conditions must be present for the CI to be placed in maintenance status by this rule. For example, if the State of the change request approval status is Change is waiting for approval then the change is not added to the em_impact_maint_ci table.
Maintenance status of CI CIs whose CMDB status field is In Maintenance are flagged by this rule as being in maintenance status.
The use of these legacy scripts has been deprecated:
gs.setProperty('evt_mgmt.impact_maintenance.use_change_request', 'false');
gs.setProperty('evt_mgmt.impact_maintenance.use_in_maintenance', 'false');


  1. Navigate to Event Management > Rules > Maintenance Rules.
  2. Click New.
  3. Fill in the fields, as appropriate.
    Column heading Description
    Name The maintenance rule name.
    Active Select to activate the maintenance rule. Clear to deactivate the maintenance rule.
    Advanced Select to enable the optional script section to display.
    Description Information that describes this maintenance rule.
    Flag CIs that run on this host Select to flag CIs in a host to be in maintenance status when the host is in maintenance.
    Table Select the table that contains the CI that you require.
    Filter Specify how to select the data.
    CI field name Select the CI from the list. The list is populated according to your selection in the Table field.

    If a CMDB table, or a table derived from CMDB, was selected, specify sys_id for the CI field name. Otherwise, specify the required CI field that you want to use. See the examples.

  4. Click Submit.


Example of a maintenance rule using a CMDB table.

Assume that a company defines a CI as being in maintenance when the Operational Status of the CI is either Repair in Progress or DR Standby.

Example of a maintenance rule using a table other than CMDB.

Assume that a company uses Incident records to track maintenance. Any maintenance request is translated to an incident when it has a description that starts with “Performing maintenance on CI”. As long as the status of such an incident is open, this status indicates that the maintenance is in progress. For the CI field name field, specify a CI name from the table that was chosen, in this case Incident.

Example of a maintenance rule that uses the advanced script feature.

In the Maintenance Rule page, select the Advanced option. You can use this following script as an example to prepare your own customized script. The return value for this example script is a text string that represents an array of CI IDs, for example, ['sys_id1','sys_id2','sys_id3'].

Script for advanced maintenance rule