[!WARNING] This project is under active development, the code in the main branch should be relatively stable but things might break every now and then. The releases that can be installed with
pipare currently stable enough for testing. If you run into unexpected bugs, please create an issue. For questions about usage, please start a discussion.
ZabbixCI
ZabbixCI is a tool that adds continuous integration to Zabbix, allowing you to synchronize Zabbix assets with a Git repository. By using the Zabbix API, ZabbixCI can create, update, and delete assets across multiple Zabbix servers.
[!NOTE] ZabbixCI has no affiliation with Zabbix SIA.
Features
ZabbixCI provides the following features:
- Easily installable through pip or run it as a container image
- Fully configurable through cli arguments, config file and/or environment variables
- Supports HTTP(S) and SSH auth for Git
- Export assets from Zabbix and push them to Git
- Pull assets from Git and import them in Zabbix
- Only changed or new assets will be processed during Git push or Zabbix import actions
- Removes deleted assets automatically (unless black- or whitelisting is used)
- Use dry-run to verify behavior without changes to Zabbix or Git
- Build with parallelization in mind to speed up the process (can be scaled for your needs)
- (Optional) Support for private CA servers to verify certificates
- (Optional) Allow black-/whitelisting of assets (supports regexp)
- (Optional) Use separate branches for push and pull transactions
Additional template features
- Sync your templates with Git
- Built-in Zabbix version compatibility checking
- (Optional) Automatically populate empty vendor field with your own string
- (Optional) Allow automatic versioning of exported templates based on timestamps
Additional image (icons and backgrounds) features
- Sync your map images with Git
- Sync your icon-maps with Git
- Dynamically generate icons and backgrounds in predefined sizes
- Use
.pngor.svgfiles as sources for image generation
Installation
ZabbixCI is available on PyPI and can be installed using pip:
pip install zabbixci
Alternatively, you can use a container image to run ZabbixCI, see the available container images. See the Containerized Deployment documentation for more information.
Configuration
ZabbixCI requires parameters to be set as command line arguments, a yaml configuration or as environment variables. See the example configuration file.
We recommend passing environment variables when using the container image. Feel free to use the method that best suits your workflow.
Usage
We have a quickstart tutorial for first time users. Please see the Docs for extended details if needed.
License
This project is licensed under AGPL-3.0, see LICENSE for more information.
Contributing
Contributions are welcome! Please take a look at the following guidelines:
- It is best to create a issue before submitting a PR, this way we can determine the correct base for a PR, allowing for easier merges and consistency in versions releases.
- New features will always be added to the next minor update, instead of a patch update. For this, new features should always be based of the develop branch instead of the main branch.
- Commit messages should follow the Gitmoji convention or prefix with types (feat:, fix:, style:, etc.).
- The codebase uses ruff for formatting and linting. As well as ty for type checking.
Star History
[!NOTE] If you like this project, please consider starring it on GitHub. ❤️
Metadata
Release files for zabbixci 0.3.14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| zabbixci-0.3.14.tar.gz | 288.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zabbixci-0.3.14-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 339.5 kB
Release files / zabbixci-0.3.14.tar.gz
| Download URL | zabbixci-0.3.14.tar.gz |
|---|---|
| Size | 288.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a98d6880661b2c869f669a8e6e80b30720a887bdce2436e156967551de1d0c2f
|
|
BLAKE2b-256 checksum How to use checksums |
7417ea0c995a2af01c7ac896ce210018a9daa87ea7e1a75690e62ac49b00b8ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 26, 2026.
Transparency logRelease files / zabbixci-0.3.14-py3-none-any.whl
| Download URL | zabbixci-0.3.14-py3-none-any.whl |
|---|---|
| Size | 50.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4d4cb989bd8f8d38ff93387238dbe166f7be149f4f7a2f72062b68f910ff5e70
|
|
BLAKE2b-256 checksum How to use checksums |
b22c2e6c62e570aea7f4cf72838fe3bc705cda3c1e517fb2d48db9fbbafd13f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 26, 2026.
Transparency log