How to prevent web services updated tickets from being updated to a status not defined in the Status Transition lists

Document ID : KB000049759
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

When using web-services to update incidents, requests or problems, it is possible for the status transition rules to get bypassed, i.e. You can update a ticket to a status that does not exist or has not been defined as a transition.

Symptoms:

  1. You are able to update a ticket via web-services for a status that has not been defined in the status transition list

  2. When checking the logs you see the following messages:

"SIGNIFICANT cr.spl 308 Transition from 'Resolved' to 'Closed' is not allowed - WARNING "

Cause:

The cause for this is that automated processes\tasks in Service Desk, e.g. web-services or macros seem to operate at a much lower level on and not at Object Layer level applicable by the GUI.

Solution:

  1. Login to Service Desk as a Admin user

  2. Go to Administration tab->Options Manager->General

  3. Open the Status_Policy_Violations option

  4. Change the value from "Warn" (default) to "Reject"

  5. Recycle the Service Desk services

  6. After installing this option, upon trying to set a ticket to a status that is not defined as transition via web-services, the systems prevents you from doing this and writes the following in the stdlog:

    "ERROR pcexec.c 6088 Spell interp failed at cracts.spl:958:cr::change_status: set_attr on status failed:
    AHD05915:Status transition from 'Open' to 'Resolved' is not permitted."