Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Name: Link Service Stack to Application
- Table: Service Stack Application [u_service_stack_application]
- When: after
- Insert: true
- Update: true
- */
- createRelationship();//check for relationship and create one if none found
- function createRelationship() {
- var site = new GlideRecord(current.u_search_table);
- site.addQuery(current.u_search_field, current.u_search_text);
- site.addQuery(current.u_conditions);
- site.query();
- while(site.next()) {
- var rel1 = new GlideRecord('cmdb_rel_ci');//check for existing relationships
- rel1.addQuery('child.sys_id', site.sys_id);
- rel1.addQuery('parent.sys_id', current.u_service_stack.sys_id);
- rel1.query();
- if(!rel1.next()) {
- gs.addInfoMessage('Creating Relationship for ' + current.u_search_text);
- var newRel = new GlideRecord('cmdb_rel_ci');//create relationship with specified type
- newRel.initalize();
- newRel.parent = current.u_service_stack.sys_id;
- newRel.child = site.sys_id;
- newRel.type = current.u_relationship_type;
- newRel.insert();
- //if Service Stack Application specifies parent field, create additional relationship
- if(!current.u_parent_ci_field.nil()){
- var rel2 = new GlideRecord('cmdb_rel_ci');//check for existing relationships
- rel2.addQuery('child.sys_id', eval('site.' + current.u_parent_ci_field).sys_id);
- rel2.addQuery('parent.sys_id', site.sys_id);
- rel2.query();
- if(!rel2.next()) {
- var newParentRel = new GlideRecord('cmdb_rel_ci');//create relationship with specified type
- newParentRel.initalize();
- newParentRel.parent = site.sys_id;
- newParentRel.child = eval('site.' + current.u_parent_ci_field).sys_id;
- newParentRel.type = current.u_relationship_type;
- newParentRel.insert();
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment