This commit introduces two new device types, GroundValueChecker and WeatherSensorDevice, which leverage public APIs (BORIS NRW and Open-Meteo) for real-time data collection. It also includes several API enhancements and fixes to support these new integrations. Detailed changes: - **New Device Types**: - Added GroundValueChecker schema and integration with BORIS NRW WMS via Zabbix Script items. - Added WeatherSensorDevice schema and integration with Open-Meteo via Zabbix HTTP Agent items. - **API Enhancements**: - Added error field to ZabbixItem for item-level error reporting. - Updated CreateTemplateItem mutation input to support params (for Script items) and timeout. - Registered missing scalar resolvers: JSONObject, DateTime, and Time. - **Performance & Reliability**: - Implemented batch fetching for item preprocessing in both host and template queries to reduce Zabbix API calls and ensure data visibility. - Updated template_importer.ts to correctly handle Script item parameters. - **Documentation**: - Consolidated public API device recipes in docs/howtos/cookbook.md. - Added guidance on analyzing data update frequency and setting reasonable update intervals (e.g., 1h for weather, 1d for ground values). - **Testing**: - Added new regression test REG-ITEM-META to verify item metadata (units, description, error, preprocessing) and JSONObject scalar support. - Enhanced RegressionTestExecutor with more detailed host-item relationship verification. |
||
|---|---|---|
| .. | ||
| from_zabbix_docs | ||
| README.md | ||
| sample_all_devices_query.graphql | ||
| sample_all_host_groups_query.graphql | ||
| sample_all_hosts_query.graphql | ||
| sample_all_template_groups_query.graphql | ||
| sample_delete_template_groups_mutation.graphql | ||
| sample_delete_templates_mutation.graphql | ||
| sample_export_user_rights_query.graphql | ||
| sample_import_distance_tracker_template.graphql | ||
| sample_import_ground_value_checker_template.graphql | ||
| sample_import_host_groups_mutation.graphql | ||
| sample_import_host_template_groups_mutation.graphql | ||
| sample_import_hosts_mutation.graphql | ||
| sample_import_permissions_template_groups_mutation.graphql | ||
| sample_import_templates_mutation.graphql | ||
| sample_import_user_rights_mutation.graphql | ||
| sample_import_weather_sensor_template.graphql | ||
| sample_templates_query.graphql | ||
Sample Queries & Mutations
This directory contains practical examples of GraphQL operations for the Zabbix GraphQL API. You can use these as templates for your own automation or integration tasks.
📁 Available Samples
🖥️ Hosts
- Query All Hosts: Retrieve basic host information and inventory.
- Import Hosts: Create or update multiple hosts with tags and group assignments.
- Query All Devices: Query specialized devices using the
allDevicesquery.
📄 Templates
- Query Templates: List available templates and their items.
- Import Templates: Create or update complex templates with item definitions and preprocessing.
- Import Distance Tracker Template: Example of importing a template for a schema extension.
- Delete Templates: Remove templates by ID or name pattern.
📂 Template Groups
- Import Host Template Groups: Create groups specifically for host templates.
- Import Permissions Template Groups: Create groups for the permission system.
- Delete Template Groups: Remove template groups by ID or name pattern.
🔐 User Rights
- Export User Rights: Export existing user roles and groups for auditing or migration.
- Import User Rights: Provision user roles and group permissions at scale.
🍳 Related Recipes
For step-by-step guides on how to use these operations in common scenarios, see the Cookbook.