We're reclaiming inactive PDIs to keep them available for active builders. Learn what's changing, who's affected, and how to protect your work. Read More

Export button on Engagement form

BKash
Tera Contributor

Hello, I have to create an export UI action on engagement form. When I click on it, it will export the excel view of the test plans report which has the current details of the associated test plans to that engagement. How can I achieve this??

1 REPLY 1

Priscilla Muiua
ServiceNow Employee

Hi @BKash ,

 

1. Create a UI Action on the Engagement Form

  • Table: sn_audit_engagement

  • Form button: checked

  • Client: checked 

  • Name: Export Test Plans

  • Order: as preferred

  • Onclick: exportTestPlansExcel();
  • Script:
function exportTestPlansExcel() {
var engagementSysId = g_form.getUniqueValue();
 
var ga = new GlideAjax('TestPlanExportHelper');
ga.addParam('sysparm_name', 'getTestPlanSysIds');
ga.addParam('sysparm_engagement', engagementSysId);
 
ga.getXML(function(response) {
var testPlanSysIds = response.responseXML.documentElement.getAttribute("answer");
if (testPlanSysIds) {
var encodedQuery = 'sys_idIN' + testPlanSysIds;
var url = '/sn_audit_test_plan_list.do?sysparm_query=' + encodedQuery;
url += '&sysparm_view=default';
url += '&sysparm_target=sn_audit_test_plan';
url += '&CSV';
g_navigation.openPopup(url);
} else {
alert('No Test Plans found for this Engagement.');
}
});
}

2.Create a script include

Create a client callable script include named TestPlanExportHelper with the below script
var TestPlanExportHelper = Class.create();
TestPlanExportHelper.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getTestPlanSysIds: function() {
var engagementSysId = this.getParameter('sysparm_engagement');
var testPlanSysIds = [];
 
var gr = new GlideRecord('sn_audit_m2m_test_plan_engagement');
gr.addQuery('sn_audit_engagement', engagementSysId);
gr.query();
while (gr.next()) {
testPlanSysIds.push(gr.getValue('sn_audit_test_plan'));
}
gs.info('testPlanSysIds '+testPlanSysIds);
return testPlanSysIds.join(',');
},
 
type: 'TestPlanExportHelper'
});
PriscillaMuiua_0-1746196872592.png