Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/minvws/nl-rdo-zammad-api-export
This can be used to export tickets from Zammad to PDF. Each ticket will have its own PDF file.
https://github.com/minvws/nl-rdo-zammad-api-export
zammad
Last synced: about 2 months ago
JSON representation
This can be used to export tickets from Zammad to PDF. Each ticket will have its own PDF file.
- Host: GitHub
- URL: https://github.com/minvws/nl-rdo-zammad-api-export
- Owner: minvws
- License: eupl-1.2
- Created: 2022-06-13T13:17:50.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-14T14:09:40.000Z (about 2 months ago)
- Last Synced: 2024-11-14T15:21:25.488Z (about 2 months ago)
- Topics: zammad
- Language: PHP
- Homepage:
- Size: 1.01 MB
- Stars: 8
- Watchers: 13
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.TXT
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Zammad Ticket Export
This can be used to export tickets from [Zammad](https://zammad.org) to HTML.
Each ticket will have its own HTML file.This is not intended as a backup or restore solution only intended for archiving tickets.
You should not host this script at a location that is publicly available.
## Prereqs
- PHP 8.0+ (https://www.php.net/manual/en/install.php)
- Composer (https://getcomposer.org/download/)## Installation
- Clone or download this project
- Run composer install:
```
composer install --prefer-dist --no-interaction
```
Or for a local install:
```
php composer.phar install --prefer-dist --no-interaction
```
- Copy .env.example to .env```
cp .env.example .env
```
- Create personal access token with the following permissions in Zammad
- admin.group
- admin.ticket
- admin.tag
- ticket.agent or ticket.customer
- Set Zammad url and token in .env## Usage
Run:
php zamex.php export [--percentage|-p ] [--group|-g ] [--exclude-group|-x ] [--verbose|-v]
where `group` is the zammad group to export, or leave empty when all groups need to be exported.
You can use multiple groups. `--exclude-group` allows you to exclude certain groups (only makes sense
without a `--group` option). It is allowed to have multiple as well.`path` the actual path to store the ticket exports, and `--percentage` an optional value of how
many tickets to export. Note that ticket exports are deterministic (always the same tickets will
be exported), and defaults to 100%.Verbose option displays more info.
## Development
To work on this Zammad Export Tool, you'll need a Zammad instance for testing and development. You can connect the export script to any Zammad API of your choice. For local development, it is possible to run Zammad locally using Docker Compose. Full instructions can be found [here](https://docs.zammad.org/en/latest/install/docker-compose.html).
**Note:** This setup is supported on Docker for Windows and Linux (amd64 architecture). At the time of writing, MacOS under Apple Silicon is not officially supported.
**Important:** Zammad in Docker should only be used for development purposes. Avoid using this configuration in production environments.
## Contribution
If you plan to make non-trivial changes, we recommend to open an issue beforehand where we can discuss your planned changes. This increases the chance that we might be able to use your contribution (or it avoids doing work if there are reasons why we wouldn't be able to use it).
Git commits must be signed https://docs.github.com/en/github/authenticating-to-github/signing-commits
## License
This repository is released under the EUPL 1.2 license. [See LICENSE](LICENSE.TXT) for details.
## Part of iCore
This package is part of the iCore project.