spatie/there-there-cli
There There CLI lets you interact with the There There support API from your terminal. Authenticate with workspace profiles, list and search tickets, view details, reply/forward, add notes, and update status or assignee via simple commands.
data-wrapped responses in v0.5.0).ThereThereTicketProcessed::dispatch()) when tickets are updated via CLI commands.there-there use profile=acme-eu).composer global require.shell_exec('there-there list-tickets')).ThereThereService) to abstract commands into Laravel methods (e.g., service->replyToTicket($ticketId, $body)).json_decode(shell_exec('there-there list-tickets'), true))..env for tokens and profile switching (there-there use profile=prod) to avoid token leakage.there-there list-tickets --page=1 → page=2 in a delayed job).Log::error()..env, Vault, or profile-based CLI switching?)there-there use profile=staging in CI/CD?)there-there update-ticket-status calls to a database?)download_url and store in S3?)shell_exec or use a test profile?)there-there update-ticket-status in deploy scripts or CI/CD pipelines).| Phase | Action | Tools/Libraries | Laravel Integration |
|---|---|---|---|
| Assessment | Audit current There There API usage (manual scripts, third-party tools). | Postman, OpenAPI spec | None |
| Pilot | Replace 1–2 manual scripts with CLI (e.g., there-there list-tickets). |
Composer, Artisan | Artisan::call('there-there list-tickets') |
| Wrapper | Create a ThereThereService class to abstract CLI commands. |
Laravel Facades, DTOs | app(ThereThereService)->replyToTicket($ticketId) |
| Queue | Offload CLI calls to Laravel queues for rate limiting. | Laravel Queues, Horizon | ThereThereJob::dispatch($ticketId) |
| Monitor | Log CLI actions to Laravel’s logs table for auditing. |
Laravel Logging, Database | Log::info('Ticket updated', ['ticket' => $data]) |
| Extend | Build custom Laravel commands (e.g., php artisan there-there:sync). |
Artisan Commands | php artisan there-there:sync --profile=prod |
| Optimize | Cache frequent CLI outputs (e.g., ticket lists) in Laravel’s cache. | Laravel Cache | Cache::remember('tickets', 60, fn() => ...) |
data-wrapped responses). Monitor There There’s changelog for breaking changes.- run: composer global require spatie/there-there-cli
- run: there-there --version
/settings/account/api-tokens)..env or profile-based CLI switching.there-there list-tickets, reply-to-ticket).How can I help you explore Laravel packages today?