User Tools

Site Tools


business_rules

This is an old revision of the document!


Business Rules


Project Insight Update

// JWJ0215 10.30.24         -       Last tested on 10.30 @ 2.42 pm

// Project Insight Update Script

// This script will get needed data from the ServiceNow Project Request (before approved for a project), and

// push the data to Project Insight.

 

(function executeRule(current, previous /*null when async*/ ) {

    var payload = {};

 

    // get user from user table

    var gr = new GlideRecord("sys_user");

    gr.addQuery("sys_id", current.requested_for);

    gr.query();

 

    if (gr.next()) {

        payload.requested_for = gr.email.toString();

    }

    // ***End get user***

 

    // Get Project Insight Records from the project Insight table **U_PROJECT_INSIGHT_RECORDS**

    // get the sys id

    var pigr = new GlideRecord("u_project_insight_records");

    pigr.addQuery("u_requested_item", current.sys_id);

    pigr.query();

 

    if (pigr.next()) {

        payload.u_project_insight_records_sysid = pigr.sys_id.toString();

        payload.u_project_insight_records_number = pigr.number.toString();

        payload.u_prioritization_group = pigr.u_prioritization_group.toString();

        payload.priority = pigr.priority.getDisplayValue();

        payload.u_expense = pigr.u_expense.toString();

        payload.u_project_request_status = pigr.u_project_request_status.toString();

        payload.short_description = pigr.short_description.toString();

        payload.description = pigr.description.toString();

        payload.u_status = pigr.u_status.toString(); // trying u_status

       

       

    }

 

        // Grab the Description from the task table ******************************************

    gr = new GlideRecord("task");

    gr.addQuery('description');

    gr.query();

 

    if (gr.next()) {

        gr.description.toString();

    }




    gr = new GlideRecord("sys_user");

    gr.addQuery("sys_id", current.variables.sponsor_manager_and_up_only_for_this_field);

    gr.query();

 

    if (gr.next()) {

        payload.sponsor_manager_and_up_only_for_this_field = gr.email.toString();

    }

 

    gr = new GlideRecord("sys_user");

    gr.addQuery("sys_id", current.variables.contact_name);

    gr.query();

 

    if (gr.next()) {

        payload.contact_name = gr.name.toString();

    }

 

    // which_location_is_the_project_for

    gr = new GlideRecord("cmn_department");

    gr.addQuery("sys_id", current.variables.which_location_is_the_project_for);

    gr.query();

 

    if (gr.next()) {

        payload.cost_center = gr.name.toString();

    }

 

    // ***End get Project Insight Records***

 

    // below information is from the **SC_REQ_ITEM** table.

    payload.sys_id = current.sys_id.toString();

    payload.u_project_approved_date = current.u_project_approved_date.toString();

    payload.number = current.number.toString();

    payload.u_project_type = current.u_project_type.toString();

    payload.request_created_on = current.variables.request_created_on.toString(); //sc_req_item  

    payload.contact_s_phone_number = current.variables.contact_s_phone_number.toString(); //sc_req_item

    payload.what_is_the_problem_you_are_trying_to_solve = current.variables.what_is_the_problem_you_are_trying_to_solve.toString();

    payload.u_estimated_hours = current.u_hours.toString();  // trying u_hours

 

    var PI = new ProjectInsightScriptInclude();

    var res = PI.send(payload);

 

})(current, previous);

 

//  Link

//  https://<instance>.service-now.com/now/nav/ui/classic/params/target/sys_script.do%3Fsys_id%3Da982dcdf87389e10fdd876a6cebb35ab%26sysparm_view%3D%26sysparm_record_target%3Dsys_script%26sysparm_record_row%3D2%26sysparm_record_list%3DORDERBYDESCsys_created_on%26sysparm_record_rows%3D6275

business_rules.1734015291.txt.gz · Last modified: 2024/12/12 06:54 by johnsonjohn