zammad-service.py 959 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #!/usr/bin/env python3
  2. #zammad-service
  3. # -*- encoding: utf-8; py-indent-offset: 4 -*-
  4. import os
  5. import requests
  6. import sys
  7. def build_context():
  8. return {
  9. var[7:]: value
  10. for (var, value) in os.environ.items()
  11. if var.startswith("NOTIFY_")
  12. }
  13. def build_message(ctx):
  14. data = {
  15. 'event_id': (None, ctx.get('SERVICEPROBLEMID', '')),
  16. 'host': (None, ctx.get('HOSTNAME', '')),
  17. 'hostip': (None, ctx.get('HOSTADDRESS', '')),
  18. 'service': (None, ctx.get('SERVICEDESC', '')),
  19. 'state': (None, ctx.get('SERVICESTATE', '')),
  20. 'text': (None, ctx.get('SERVICEOUTPUT', '')),
  21. }
  22. return data
  23. def main():
  24. ctx = build_context()
  25. response = requests.post(ctx.get("PARAMETER_1"), files=build_message(ctx), verify=False)
  26. if __name__ == "__main__":
  27. try:
  28. main()
  29. except Exception as e:
  30. sys.stderr.write("Unhandled exception: %s\n" % e)
  31. sys.exit(2)