Exemple : actions effectuées par l'exemple de script

Lorsque l'escalade exécute l'action, celle-ci démarre le script. Le script détermine le groupe auquel la demande de service est affectée.

Le script suivant est utilisé pour automatiser l'affectation de demandes de service à des groupes de services :
#Check if the SR is classified as a pipe leakage
if v_srclassif=='PIPE_LEAK':
        #Now calculate total volume of the pipe-formula is:3.14 * length * (diameter / 24) ^ 2
        volume = 3.14 * v_srattrlen * (v_srattrdiameter / 24)**2
        if volume < 1000:
                #If volume is less than 1000 cubic feet, just assign SR to GROUP A
                v_servicegroup = 'GROUP A'
        else:
                #If vol is greater than 1000 cubic ft, assign SR to GROUP B and create worklog
                v_servicegroup = 'GROUP B'
                # Now add the MBO API code to create a new record in the work log for the SR
                worklogset = mbo.getMboSet ('WORKLOG')
                 worklog = worklogset.add()
                 worklog.setValue('clientviewable',1)
                 worklog.setValue('logtype','WORK')
                 worklog.setValue('description','System initiated processing-work assigned to GROUP B')
Lorsque l'escalade est exécutée, le script exécute la logique suivante :
  1. Vérifie si la demande de service possède une classification de type 'PIPE_LEAK'. Continue l'exécution en cas de correspondance.
  2. Calcule le volume du pipeline à l'aide d'une formule et enregistre le résultat dans une variable locale.
  3. Si le volume est inférieur à 1000 pieds cubes, affecte la demande de service à 'GROUP A'.
  4. Si le volume est supérieur à 1000 pieds cubes, affecte la demande de service à 'GROUP B'. Crée un journal de travaux pour indique que le traitement de la demande de service a démarré.
Le script indique lorsque les API MBO documentées doivent être utilisées. Pour les calculs, vous pouvez définir des variables d'entrée pour fournir les données dont le script a besoin. La formule pour le calcul du volume de pipeline est disponible sur de nombreux sites Web publics. Dans cet exemple, les variables d'entrée v_srclassif, v_srattrdiameter et v_srattrlen sont utilisées dans le script. Les variables d'entrée sont basées sur les liaisons des objets métier de demande service, TICKETSPECCLASS et CLASSSTRUCTURE.
Tableau 1. Variables utilisées dans l'exemple de script
Variable Liaison Comment est rétablie la liaison
v_srclassif CLASSSTRUCTURE.CLASSIFICATIONID L'infrastructure de script accède à la relation CLASSSTRUCTURE depuis l'objet de demande de service à l'objet CLASSSSTRUCTURE et extrait la valeur CLASSIFICATIONID qui correspond à une chaîne.
srattrdiamètre TICKETSPECCLASS[ASSETATTRID='DIAMETER'].NUMVALUE L'infrastructure de script accède à la relation TICKETSPECCLASS depuis l'objet de demande de service à l'objet TICKETSPECCLASS et extrait la valeur de l'attribut de diamètre. Pour extraire un attribut, la liaison spécifie un filtre entre les crochets [ASSETATTRID= 'DIAMETER'].
longueur_attr TICKETSPECCLASS[ASSETATTRID='LENGTH'].NUMVALUE L'infrastructure de script extrait une valeur unique pour l'attribut de longueur depuis la liaison et le filtre.

Lorsque le volume du pipeline est calculé, le script vérifie si la valeur est supérieure ou inférieure à 1000 pieds cubes. Selon le résultat de la condition if et else dans le script, la variable de sortie v_servicegroup est définie sur le groupe de service A ou le groupe de service B. Le script extrait la valeur depuis la variable v_servicegroup et saisit la valeur dans la demande de service.