Ein Open-Source-Tool zur automatischen Erfassung deiner PC-Aktivitäten und zur nahtlosen Zuweisung von Zeit auf deine Projekte.
TimelineTracker läuft im Hintergrund und zeichnet alle 5 Minuten das aktive Fenster auf. So geht keine Minute verloren.
Zwei parallele Timelines zeigen dir übersichtlich deine automatisch erfassten Aktivitäten und deine manuell zugewiesenen Zeitblöcke.
Ziehe einfach mit der Maus einen Zeitblock auf der manuellen Timeline auf, um Zeit zu buchen.
Verbinde den Tracker über eine simple JSON-Konfiguration mit deinem Projektmanagement-Tool (z.B. Redmine, Jira).
Verbinde den Tracker über eine simple JSON-Konfiguration mit deinem Projektmanagement-Tool (z.B. Redmine, Jira).
Der gesamte Quellcode ist auf GitHub verfügbar. Passe den Tracker an deine Bedürfnisse an oder hilf mit, ihn zu verbessern!
.exe
-Datei aus und folge den Anweisungen.api_config.json
an, um den Tracker mit deinem System zu verbinden.C:\Benutzer\DeinName\TimelineTracker\api_config.json
.api_config.json
{
"api_base_url": "https://dein-system.com/",
"api_headers": {
"Content-Type": "application/json",
"X-Redmine-API-Key": "DEIN_API_SCHLÜSSEL"
},
"endpoints": {
"log_time": {
"method": "POST",
"path": "time_entries.json",
"body": {
"time_entry": {
"issue_id": "{issue_id}",
"hours": "{time_decimal}",
"comments": "{comment}"
}
},
"response_mapping": {
"results_path": "time_entry",
"id_field": "id"
}
},
"search_issue": {
"method": "GET",
"path": "issues.json",
"params": {
"subject": "~{query}"
},
"response_mapping": {
"results_path": "issues",
"display_field": "subject",
"id_field": "id"
}
},
"delete_time_entry": {
"method": "DELETE",
"path": "time_entries/{time_entry_id}.json"
}
}
}
api_base_url
Die Basis-URL deiner API, z.B. https://dein-system.de/
.api_headers
endpoints
log_time
), Aufgaben suchen (search_issue
) und Zeitbuchungen löschen (delete_time_entry
).GET
, POST
, DELETE
).api_base_url
angehängt wird. Platzhalter wie {time_entry_id}
werden automatisch ersetzt.POST
-Requests. Platzhalter wie {issue_id}
, {time_decimal}
und {comment}
werden vom Tracker gefüllt.{query}
wird durch deine Sucheingabe ersetzt.results_path
: Der Pfad zum Array mit den Suchergebnissen (z.B. issues
) oder zum Objekt der Zeitbuchung.display_field
: Das Feld, das in der Suchergebnisliste angezeigt werden soll (z.B.
subject
).
id_field
: Das Feld, das die eindeutige ID eines Objekts enthält (z.B.
id
).