Sample script file for Custom Trigger in Change module

#Example to assign CAB members based on the value of impact configured in change.

 #if impact is High then emergency CAB members will be assigned. Else normal CAB members will be assigned to the change.

import sys

import json

import urllib

file_Path = sys.argv[1]

with open(file_Path) as data_file:

    data = json.load(data_file)

#fetch the impact value from the change JSON.

#JSON Format in change will be {'INPUT_DATA':{"entity": "change","login_name": "menders","entity_data": {..},"entity_diff_data": {...}}

inputData = data['INPUT_DATA']

changeData = inputData['entity_data']

impact = changeData['impact']

impactValue = impact['name']

#configure emergency CAB for impact value "High".

if impactValue == 'High':

    returnJSON = {

    #message : value to be shown in change history

        'message': 'Adding Emergency CAB members through Custom Trigger',

        'operations': [{

            #operation_name denotes the operation to be done through trigger ,currently UPDATE_ROLES is only supported.

            'operation_name': 'UPDATE_ROLES',

            'input_data': {

                'change': {

                    'roles': [{

                        #replace with the Role ID to be updated

                        'id': 5, 

                        #replace with the role Name to be updated .

                        'name': 'CAB'

                        #users can be added/updated to change roles using either emailid or user id .

                        'users': [{

                            # emailid of the user to be configured

                           'email': 'heather@xyz.com', 

                           #name of the user corresponding to the email id

                           'name': 'Heather Graham' 

                        }, {

                            #ID of user to be configured

                            'id': 3,

                            #name of the user corresponding to the ID

                            'name': 'Shawn Adams'

                        }]

                    }]

                }

            }

        }]

    }

    #configure normal CAB for other values of impact

     else :

    returnJSON = {

     #message -value to be shown in change history

        'message': 'Adding Normal CAB members through Custom Trigger',

         #operation_name denotes the operation to be done through trigger, currently UPDATE_ROLES is only supported.

        'operations': [{

            'operation_name': 'UPDATE_ROLES',

            'input_data': {

                'change': {

                     'roles': [{

                        #replace with the Role ID to be updated

                        'id': 5, 

                        #replace with the role Name to be updated .

                        'name': 'CAB'

                        #users can be added/updated to change roles using either emailid or user id .

                        'users': [{

                            # emailid of the user to be configured

                           'email': 'john@xyz.com', 

                           #name of the user corresponding to the email id

                           'name': 'John' 

                        }, {

                            #ID of user to be configured

                            'id': 4,

                            #name of the user corresponding to the ID

                            'name': 'Howard stern'

                        }]

                    }]

                }

            }

        }]

    }

print(json.dumps(returnJSON))

全球超过3/5的世界五百强企业在使用ServiceDesk Plus赋能IT服务管理
 
让IT服务变得简单高效!