Jon G Lind
ServiceNow Employee

A Playbook that is not in the ReleaseOps scope will not execute

There is currently a bug in the business rule that fires playbooks for ReleaseOps in which it does not properly account for scope.  

 

Here's how to fix it

  1. Select the scope ReleaseOps with the globe in the header.
  2. Go to System Definition > Business Rules
  3. Filter where Application = "ReleaseOps" AND Name Starts With "Run"
  4. Modify the two out-of-the-box business rules, setting Active = False (this way you are not modifying the existing business rule):
  5. Duplicate Each by opening and choosing Insert and Stay. 
    1. Playbooks: "Run Release Playbook on Preparing" and "Run Assessment Playbook when Ready"
    2. Set Active = True
    3. Script: Find the "triggerPlaybook" line near the end and replace it: 
      // Find the following line near the end:
      // Run Assessment Playbook when Ready (approximately line 46)
      // Run Release Playbook on Preparing (approximately line 20)
      /* sn_playbook.PlaybookExperience.triggerPlaybook(grPlaybook.name, current); */
      // And REPLACE it with:
      
      const scopeName = grPlaybook.sys_scope.scope;
      // Don't include scope name if calling to another ReleaseOps playbook
      const playbookName = (scopeName == 'sn_releaseops' ? '' : scopeName + '.') + grPlaybook.name;
      sn_playbook.PlaybookExperience.triggerPlaybook(playbookName, current);
1 Comment
Daniel Draes
ServiceNow Employee

I would deviate from the instructions Jon, the 'deactivate and copy' rule is outdated.  When possible we recommend a fix in place. This way customers get notified with a skipped records once the issue is fixed in baseline.