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 :
- Vérifie si la demande de service possède une classification de type 'PIPE_LEAK'. Continue l'exécution en cas de correspondance.
- Calcule le volume du pipeline à l'aide d'une formule et enregistre le résultat dans une variable locale.
- Si le volume est inférieur à 1000 pieds cubes, affecte la demande de service à 'GROUP A'.
- 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é.
| 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.