Rust-CLI zum Erfassen lokaler Zeiteinträge und zur Synchronisation mit Microsoft Dynamics 365 Project Operations (Dataverse).
Nach einem GitHub Release wird die Binary ohne Klonen des Repositories und ohne Cargo global über mise installiert:
mise use -g github:klab365/psa-tool@latest
psa --helpFalls der Eintrag bereits in der globalen mise-Konfiguration steht, installiert folgender Befehl die konfigurierte Version:
mise install github:klab365/psa-tool@latestDanach die eigene Dataverse-Organisation konfigurieren und anmelden:
psa config set environmentUrl https://<eureorg>.crm4.dynamics.com
psa login
psa config set mapping.timezone Europe/Zurich # oder eure IANA-Zeitzone
psa config showDanach können Einträge abgerufen und erfasst werden:
psa pull
psa add
psa edit 3 # Eintrag interaktiv bearbeiten
psa history # letzten Eintrag als Vorlage wählen
psa week
psa sync --dry-runpsa list und psa week geben eine Tabelle aus, die sich an die Breite des
Terminals anpasst und die neuesten Einträge zuerst zeigt. Datumsargumente wie
bei psa add --date, psa week oder psa pull akzeptieren neben
YYYY-MM-DD auch Kurzformen wie 01.09., gestern, Montag oder +2.
mise trust
mise install
cargo run -- --helpDie Binary heißt psa:
cargo run -- config set environmentUrl https://<eureorg>.crm4.dynamics.com
cargo run -- login
cargo run -- week
cargo run -- sync --dry-runFür einen Release-Build:
cargo build --release
./target/release/psa --helpLokale Nutzerdaten bleiben kompatibel unter ~/.psa-tool/:
config.json– Konfigurationpsa.sqlite3– Zeiteinträgetoken_cache.json– Rust OAuth-Token-Cache (Dateirechte0600)
Jeder Pull Request führt die Rust-Prüfung aus. Lokal entspricht das:
mise run checkDies prüft Formatierung, Clippy, Tests, Release-Build und Whitespace im Diff.