From 8e698cfc49111345613ac582cd74fcb326b13e99 Mon Sep 17 00:00:00 2001 From: Jason SECULA Date: Thu, 23 Oct 2025 17:50:03 +0200 Subject: [PATCH] Ajout du lien vers la page Airwatch de l'appareil sur la fiche GLPI --- scripts/functions.py | 1 + scripts/includes/GLPIAPI.py | 11 +++++++++++ scripts/syncGLPI.py | 9 +++++++-- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/scripts/functions.py b/scripts/functions.py index 6d670e2..fe40a9c 100644 --- a/scripts/functions.py +++ b/scripts/functions.py @@ -5,6 +5,7 @@ def getSettings(settingsPath): settingsDefault =""" [AIRWATCH] Server = "https://airwatchServer" +ConsoleURI = "https://airwatchConsole" APIKey = "APIKEY" # Méthode d'authentification (CMSURL or PASSWORD) diff --git a/scripts/includes/GLPIAPI.py b/scripts/includes/GLPIAPI.py index f8d3dae..1b34137 100644 --- a/scripts/includes/GLPIAPI.py +++ b/scripts/includes/GLPIAPI.py @@ -110,7 +110,18 @@ class GLPIAPI: } uri = f"{self.Server}/apirest.php/Computer/" return requests.put(uri, headers=self.Headers, json=body) + + def UpdateAirwatchLink(self, deviceid, airwatchlink): + body = { + "input": { + "id": deviceid, + "appareilsurmagentafield": airwatchlink + } + } + uri = f"{self.Server}/apirest.php/Computer/" + return requests.put(uri, headers=self.Headers, json=body) + def CreateInventoryForAirwatchDevice(self, device, deviceName, apps=None): platforms = { 2:"Apple iOS", diff --git a/scripts/syncGLPI.py b/scripts/syncGLPI.py index ecb861c..8787a7c 100644 --- a/scripts/syncGLPI.py +++ b/scripts/syncGLPI.py @@ -22,7 +22,7 @@ args = parser.parse_args() if(args.configpath != None and args.configpath != ''): settings = getSettings(args.configpath) else: - settings = getSettings("{os.path.realpath(os.path.dirname(__file__))}/conf/settings.conf") + settings = getSettings(f"{os.path.realpath(os.path.dirname(__file__))}/conf/settings.conf") #=========== Configuration des logs ===========# @@ -221,7 +221,12 @@ for device in devices: newFriendlyName = f"{data['1']} {platformName} {osVersion} - {device.User}" logger.info(f"Updating device friendlyname to {newFriendlyName}") airwatch.SetDeviceFriendlyName(device, newFriendlyName) - + + # Mise à jour de l'url vers la page airwatch de l'appareil sur GLPI + airwatchlink = f"{settings['AIRWATCH']['ConsoleURI']}/AirWatch/#/AirWatch/Device/Details/Summary/{device.Id}" + if(data['76689'] != airwatchlink): + glpiapi.UpdateAirwatchLink(deviceID, airwatchlink) + # filtre des plateformes if(platformFilterEnabled): if device.PlatformId in platformFilterOut: