spatie/there-there-cli
There There CLI is a command-line tool to interact with the There There API from your terminal. Log in with workspace profiles, switch defaults, and run commands for tickets: list/search, show, reply/forward, add notes, and update status, assignee, or team.
there-there <command>) from PHP (e.g., via exec(), symfony/process, or Laravel’s Artisan::call()).ticket.created).~/.config/there-there-cli (or custom paths) may require secure handling (e.g., environment variables for sensitive profiles).there-there tickets:list --status=open).composer global require spatie/there-there-cli.there-there login, there-there tickets:list) in a non-production environment.ThereThereService) to abstract CLI calls:
class ThereThereService {
public function listTickets(string $status) {
$command = "there-there tickets:list --status={$status}";
$output = shell_exec($command);
return json_decode($output, true);
}
}
symfony/process for better error handling:
use Symfony\Component\Process\Process;
$process = new Process(['there-there', 'tickets:list']);
$process->run();
if (!$process->isSuccessful()) throw new \RuntimeException($process->getErrorOutput());
.env (e.g., THERE_THERE_PROFILE=production).there-there login --profile=staging).symfony/process).there-there --version).spatie/there-there-cli for breaking changes (check releases).composer global update spatie/there-there-cli.\Log::info('There There CLI output', ['output' => $process->getOutput()]);
there-there --verbose or stderr redirection.--profile=prod for production tickets").there-there logout if tokens fail").| Failure Scenario | Impact | Mitigation |
|---|---|---|
| CLI command hangs/fails | Workflow interruption | Timeouts ($process->setTimeout(30)), retries. |
| API rate limits | Partial data sync | Batch processing, delay between calls. |
| Credential expiration | Auth failures | Automated re-authentication (cron job). |
| API schema changes | Broken CLI responses | Version pinning, backward-compatible wrappers. |
| Global Composer path issues | CLI unavailable | Local install (composer require --dev) or Docker. |
sync-laravel-errors-to-there-there.php).How can I help you explore Laravel packages today?