Zabbix 7.4 compatibility tests (#2053)

* Resolves issue (#2051)
This commit is contained in:
Christos Diamantis
2025-07-09 16:44:17 +03:00
committed by GitHub
parent e65793f3be
commit 04ef3774b0
7 changed files with 1268 additions and 0 deletions

View File

@@ -0,0 +1,75 @@
import os
from zabbix_utils import ZabbixAPI
zabbix_url = os.environ['ZBX_API_URL']
zabbix_user = os.environ['ZBX_API_USER']
zabbix_password = os.environ['ZBX_API_PASSWORD']
print(zabbix_url, zabbix_user, zabbix_password)
zapi = ZabbixAPI(zabbix_url)
for i in range(10):
try:
zapi.login(user=zabbix_user, password=zabbix_password)
print("Connected to Zabbix API Version %s" % zapi.api_version())
break
except Exception as e:
print(e)
config_path = os.environ['ZBX_CONFIG']
import_rules = {
'discoveryRules': {
'createMissing': True,
'updateExisting': True
},
'graphs': {
'createMissing': True,
'updateExisting': True
},
'host_groups': {
'createMissing': True
},
'hosts': {
'createMissing': True,
'updateExisting': True
},
'images': {
'createMissing': True,
'updateExisting': True
},
'items': {
'createMissing': True,
'updateExisting': True
},
'maps': {
'createMissing': True,
'updateExisting': True
},
'templateLinkage': {
'createMissing': True,
},
'templates': {
'createMissing': True,
'updateExisting': True
},
'triggers': {
'createMissing': True,
'updateExisting': True
},
}
print("Importing Zabbix config from %s" % config_path)
with open(config_path, 'r') as f:
config = f.read()
try:
import_result = zapi.configuration.import_(source=config, format="json", rules=import_rules)
if import_result == True:
print("Zabbix config imported successfully")
else:
print("Failed to import Zabbix config")
except Exception as e:
print(e)
for h in zapi.host.get(output="extend"):
print(h['name'])