Can Risk Assessment form display on Service Operation Workspace

PrajayTambuskar
Tera Contributor

On clicking the Risk Assessment button on top right of Service Operation Workspace for Change Request then the form should be popped up to calculate risk as it is visible in the native UI. Is it Possible to do this as I can see the same thing is happening in Risk Evaluation at the bottom of the page there is "Assess Risk" button so on clicking that the form is popping up.

1 REPLY 1

Ramya V
Kilo Sage

Hi @PrajayTambuskar,

Plugin Required: Change Management – Risk Assessment

After installing the plugin, navigate to UI Actions and locate the “Risk Assessment” action.

Configuration Steps:

  • Scroll down and enable:
    • Workspace Form Button
    • Format for Configurable Workspace
  • Add the Workspace Client Script as shown below:
function onClick(g_form) {
   invokeAssessment();
}

function invokeAssessment() {
    g_form.hideAllFieldMsgs();
    if (g_form.isUserModified()) {
        handleDirtyForm();
    } else {
        var changeRequestSysId = g_form.getUniqueValue();
        var tableName = g_form.getTableName();
        var ga = new GlideAjax("ChangeRiskAsmtAjax");
        ga.addParam("sysparm_name", "invokeAssessmentAjax");
        ga.addParam("sysparm_id", changeRequestSysId);
        ga.addParam("sysparm_class", tableName);
        ga.getXMLAnswer(function(answer) {

            answer = JSON.parse(answer);
            if (!answer.hasAsmt)
                g_form.addInfoMessage(getMessage("There are no risk assessments defined for this Change Request"));
            else {
                if (answer.asmtComplete)
                    handleCompletedAsmt();
                else {
                    var asmtInstanceSysId = answer.asmtInstanceSysId;
                    var changeRiskAsmtSysId = answer.changeRiskAsmtSysId;
                    var changeRequestSysId = answer.changeRequestSysId;
                    var riskAsmtName = answer.riskAsmtName;
                    handleAsmt(asmtInstanceSysId, changeRiskAsmtSysId, changeRequestSysId, riskAsmtName);
                }
            }
        });
    }
}

function handleDirtyForm() {
    var msg = getMessage("Do you want to save changes to " + g_form.getValue("number") + " before leaving this page?");
    g_modal.confirm(getMessage("Confirmation"), msg, function(confirmed) {
		if(confirmed){
			g_form.save();
		}
		
    });
}

function handleCompletedAsmt() {

    var msg = getMessage("You have already completed the risk assessment. Would you like to edit your existing risk assessment?");
    g_modal.confirm(getMessage("Confirmation"), msg, function(confirmed) {
        if (confirmed) {
            var changeRequestSysId = g_form.getUniqueValue();
            var tableName = g_form.getTableName();
            var ga = new GlideAjax("ChangeRiskAsmtAjax");
            ga.addParam("sysparm_name", "copyAssessmentAjax");
            ga.addParam("sysparm_id", changeRequestSysId);
            ga.addParam("sysparm_class", tableName);
            ga.getXMLAnswer(function(answer) {

                answer = JSON.parse(answer);
                if (!answer || !answer.hasAsmt)
                    g_form.addInfoMessage(getMessage("There are no risk assessments defined for this Change Request"));
                else {
                    var asmtInstanceSysId = answer.asmtInstanceSysId;
                    var changeRiskAsmtSysId = answer.changeRiskAsmtSysId;
                    var changeRequestSysId = answer.changeRequestSysId;
                    var riskAsmtName = answer.riskAsmtName;
                    handleAsmt(asmtInstanceSysId, changeRiskAsmtSysId, changeRequestSysId, riskAsmtName);
                }
            });
        }
    });
}

function handleAsmt(asmtInstanceSysId, changeRiskAsmtSysId, changeRequestSysId, riskAsmtName) {

    var asmtUiPage = "assessment_take2";
    var url = asmtUiPage + ".do";
    url += "?sysparm_assessable_sysid=" + asmtInstanceSysId;
    url += "&sysparm_assessable_type=" + changeRiskAsmtSysId;
    url += "&sysparm_hide_header=true";
    url += "&sysparm_hide_save=true";
    url += "&sysparm_hide_cancel=true";
    url += "&sysparm_hide_source_details=true";
    url += "&sysparm_stack=no";
    url += "&sysparm_return_url=" + getEncodedUrl(changeRequestSysId, asmtInstanceSysId);


    g_modal.showFrame({
        url: url,
        title: 'Global Risk Assessment',
        size: 'lg',
        height: 1000
    });
}


function getEncodedUrl(changeRequestSysId, asmtInstanceSysId) {
    var closeUiPage = "change_risk_asmt_close_dialog";
    var url = "/" + closeUiPage + ".do";
    url += "?sysparm_stack=no";
    url += "&sysparm_id=" + changeRequestSysId;
    url += "&sysparm_asmtInstanceSysId=" + asmtInstanceSysId;
    return encodeURIComponent(url);
}

Important Note:

  • This button will be visible in CSM/FSM Configurable Workspaces only if the Change module is available in that workspace.
  • To control visibility specifically for Service Operations Workspace, use Action Exclusions to restrict where the UI Action appears.
 

Result:

 

Screenshot 2026-03-23 at 6.49.01 PM.png

 

 

 

 

 

 

 

 

 

 

Please mark this response as Accepted Solution and/or Helpful if it resolves your issue.