Notifications

20 views

Description

After the user upgraded their development environment to New York (previously Kingston), their Change Request records are not adding approvals for the affected CI (this is done via a custom Business Rule).

Resolution

The user had a custom Business Rule which would populate approvers based on a CI (and associated groups to the CI). This was a Business Rule for task_ci and was *before* - *insert*. This Business Rule worked fine in Kingston, but upon upgrade to New York, unexplainably broke.

The behavior arises from a change in Script Include "ChangeCollisionHelper".

In Kingston, here is the core piece of code the investigation is focused on:

```
ChangeCollisionHelper.addCiToChangeAffectedCis = function(ci, changeId) {
var affectedCiGR = new GlideRecord('task_ci');
affectedCiGR.task = changeId;
affectedCiGR.ci_item = ci;
affectedCiGR.insert();
};
```

In New York, here is the same snippet of code:

```
ChangeCollisionHelper.addCiToChangeAffectedCis = function(ci, changeId) {
var affectedCiGR = new GlideRecord('task_ci');
affectedCiGR.task = changeId;
affectedCiGR.ci_item = ci;
affectedCiGR.setWorkflow(false);
affectedCiGR.insert();
};
```

Note how the `affectedCiGR.setWorkflow(false);` line was added into the code. This will kill any BRs for the insertion of task_ci's if they are from this Script Include.

For convenience, here is the link to the changed Script Include the New York instance:

  • /nav_to.do?uri=sys_script_include.do?sys_id=63853c880a0a2c3e15136f8080b90e5e

The new line of code is on line 228.

--

If the user so desires, they can try to comment out that line of code (line 228) to see if that will allow them to continue to use their custom Business Rule.

Otherwise, if that suggestion does not work, the user will need to write a new custom Business Rule to accomplish their custom functionality.

Support engineers are experts in OOB behavior, and specialize in resolving OOB break-fix behaviors. Unfortunately, the debugging and implementing of customizations like this is not in the engineer's area of expertise.

Again, if the above suggestion does not work, please recommend that the user kindly reach out to their internal development team to rework their custom Business Rule to meet their business needs.

Article Information

Last Updated:2019-09-14 12:25:32
Published:2019-09-14