zabbix-graphql-api/docs/howtos
Andreas Hilbig 14a0df4c18 feat: verify and enhance compatibility with Zabbix 6.0, 6.2, 6.4, and 7.0
This commit comprehensive updates the API to ensure full compatibility across all major Zabbix versions (6.0 LTS, 6.2, 6.4, and 7.0 LTS) and introduces a local development environment for multi-version testing.

Verified Zabbix Versions:
- Zabbix 7.0 (LTS): Full support, including native `history.push` for telemetry.
- Zabbix 6.4: Supported (excluding `history.push`); uses `hostgroup.propagate` and UUID-based matching.
- Zabbix 6.2: Supported (excluding `history.push`); uses `hostgroup.propagate` and `templategroup.*` methods.
- Zabbix 6.0 (LTS): Supported (excluding `history.push`); includes specific fallbacks:
    - JSON-RPC: Restored `auth` field in request body for versions lacking Bearer token support.
    - Permissions: Implemented name-based fallback for host/template groups (no UUIDs in 6.0).
    - Group Expansion: Automatic manual expansion of group rights during import.
    - API Methods: Fallback from `templategroup.*` to `hostgroup.*` methods.

Key Technical Changes:
- Local Development: Added `zabbix-local` Docker Compose profile to launch a complete Zabbix stack (Server, Web, Postgres) from scratch with dynamic versioning via `ZABBIX_VERSION`.
- Query Optimization: Refined dynamic field selection to handle implied fields and ensure consistent output regardless of initial Zabbix parameters.
- Documentation:
    - New `local_development.md` HOWTO guide.
    - Updated `README.md` with detailed version compatibility matrix.
    - Expanded `roadmap.md` with achieved milestones.
- Testing:
    - Updated entire Jest test suite (23 suites, 96 tests) to be version-aware and robust against naming collisions.
    - Enhanced Smoketest and Regression Test executors with better cleanup and error reporting.
2026-02-04 04:41:36 +01:00
..
cookbook.md feat: implement history push mutation and enhanced MCP logging 2026-02-03 13:29:42 +01:00
hierarchical_data_mapping.md chore: add MCP integration and refactor documentation into modular how-to guides 2026-01-30 00:47:02 +01:00
local_development.md feat: verify and enhance compatibility with Zabbix 6.0, 6.2, 6.4, and 7.0 2026-02-04 04:41:36 +01:00
maintenance.md feat: verify and enhance compatibility with Zabbix 6.0, 6.2, 6.4, and 7.0 2026-02-04 04:41:36 +01:00
mcp.md feat: implement history push mutation and enhanced MCP logging 2026-02-03 13:29:42 +01:00
permissions.md docs: refactor documentation and upgrade to Node.js 24 2026-01-30 14:35:31 +01:00
query_optimization.md feat: optimize Zabbix queries and enhance specialized device support 2026-02-02 13:20:06 +01:00
README.md feat: verify and enhance compatibility with Zabbix 6.0, 6.2, 6.4, and 7.0 2026-02-04 04:41:36 +01:00
schema.md feat: optimize Zabbix queries and enhance specialized device support 2026-02-02 13:20:06 +01:00
tags.md docs: refactor documentation and upgrade to Node.js 24 2026-01-30 14:35:31 +01:00

How-To Guides

This directory contains detailed guides on how to use and extend the Zabbix GraphQL API.

Available Guides

🍳 Cookbook

Practical, step-by-step recipes for common tasks, designed for both humans and AI-based test generation.

Query Optimization

Learn how the API optimizes Zabbix requests by reducing output fields and skipping unnecessary parameters based on the GraphQL query.

📊 Schema and Schema Extension

Learn about the GraphQL schema structure, how Zabbix entities map to GraphQL types, and how to use the dynamic schema extension system.

🗂️ Hierarchical Data Mapping

Understand how the API automatically maps flat Zabbix item keys into nested GraphQL objects using hierarchical resolvers and type hinting.

🔐 Roles and Permissions Extension

Discover how the permission system works, how to define permission levels using Zabbix template groups, and how to query user permissions.

🛠️ Technical Maintenance

Guide on code generation (GraphQL Codegen), running Jest tests, and local Docker builds.

💻 Local Development Environment

Detailed instructions for setting up a fully isolated local development environment with Zabbix using Docker Compose.

🧪 Test Specification

Detailed list of test cases, categories (Unit, Integration, E2E), and coverage checklist.

🤖 MCP & Agent Integration

Discover how to integrate with the Model Context Protocol (MCP) to enable LLMs and autonomous agents to interact with Zabbix efficiently.


🔍 Additional Resources

  • Sample Queries: Categorized list of practical GraphQL operation examples.
  • Main README: Technical reference, configuration, and environment setup.