[12.x] Add --json option to ScheduleListCommand #57006
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a
--jsonflag to theschedule:listcommand to allow programmatic consumption of scheduled task data for monitoring and integration purposes. This is implemented in a way that aligns with other Laravel commands likeroute:list,model:show,event:list, anddb:table.JSON Output
[ { "expression": "0 0 15 * *", "repeat_seconds": null, "command": "php artisan backup:run", "description": "Run daily backup process", "next_due_date": "2025-09-15 00:00:00 +00:00", "next_due_date_human": "5 days from now", "timezone": "UTC", "has_mutex": false } ]Example Use Cases
php artisan schedule:list --json | jq 'length'php artisan schedule:list --json | jq '.[] | select(.command | contains("backup"))'@foreach($schedules as $schedule) <tr> <td>{{ $schedule['command'] }}</td> <td><code>{{ $schedule['expression'] }}</code></td> <td>{{ $schedule['next_due_date_human'] }}</td> </tr> @endforeach