One thing you may want to keep in mind is that as of Geneva, ServiceNow uses anonymous function calls and no longer uses the onBefore() onDisplay() or onAfter() functions. I have seen that the syntax of the functions that I used in Fuji, no longer work. Here is your code using the anonymous function syntax:


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


//Populate IP Address from network task from Hardware Request  


      var pc = new GlideRecord('sc_task');  


      pc.addQuery('request_item.request', current.request_item.request);  


      pc.addQuery('assignment_group', '287ebd7da9fe198100f92cc8d1d2154e'); //network group  


      pc.addNotNullQuery('u_ip_address');  


      pc.query();  


      if(pc.next()){  


              current.u_ip_address = pc.u_ip_address;  


      }


})(current, previous);