MiteBundle

Symfony-Bundle für die Zeiterfassung mite: typisierte Services und DTOs für jede Ressource der API, konfiguriert mit zwei Umgebungsvariablen.

Release v1.0.0 · zuletzt aktiv am 10.10.2026

Quelle: GitHub-API, Stand 24.10.2026, 14:15

Was das Bundle löst

MiteBundle ist ein Symfony-Bundle für die API der Zeiterfassung mite. Es bietet autowirebare Services auf Basis des Symfony-HttpClient und schreibgeschützte DTOs und Enums statt Arrays.

Abgedeckt sind alle Ressourcen der mite-API: Konto, Zeiteinträge (auch gruppierte Auswertungen), Tracker, Lesezeichen, Kunden, Projekte, Leistungen, Benutzer und der Änderungs-Feed. Zeiteinträge, Kunden, Projekte und Leistungen lassen sich auch anlegen, ändern und löschen.

Für jeden mite-Fehler (401, 403, 404, 422, 423, 5xx) gibt es eine eigene Exception. Alle lassen sich über MiteExceptionInterface abfangen. Die Konfiguration besteht aus einer Datei, und der API-Schlüssel wird nur als Header an Ihre mite-Domain gesendet.

Im Einsatz auf jacomeit.de

jacomeit.de nutzt das Bundle produktiv für die Anbindung an mite, statt einen eigenen mite-Client zu pflegen.

Ein Import-Job liest über TimeEntriesApi die Zeiteinträge des Benutzers zum konfigurierten API-Schlüssel seitenweise aus und übernimmt sie in die eigene Datenbank. Er läuft zweimal täglich.

Installation

Installieren Sie das Bundle mit composer require stejac/mite-bundle. Mit Symfony Flex wird es automatisch registriert, andernfalls tragen Sie es in config/bundles.php ein.

Setzen Sie die beiden Umgebungsvariablen MITE_DOMAIN und MITE_API_KEY. MITE_DOMAIN ist der Subdomain-Name Ihres Kontos, also acme für acme.mite.de. Den API-Schlüssel erzeugen Sie in Ihren mite-Benutzereinstellungen unter „API-Zugriff erlauben“.

Anschließend tragen Sie in config/packages/mite.yaml die Schlüssel domain und api_key mit den beiden Variablen ein.