Reference
WP-CLI commands
Everything that matters operationally can be run and inspected from the command line. The initial import in particular is a CLI job rather than a web request, because a catalogue of tens of thousands of roles cannot be imported inside one HTTP request and pretending otherwise produces a half-built board.
wp w3rp sync
Job sync
| wp w3rp sync run | Run an incremental sync now, rather than waiting for the schedule |
|---|---|
| wp w3rp sync backfill | The full or initial import, in bounded chunks, safe to resume |
| wp w3rp sync reconcile [–dry-run] | Reconcile the site against Bullhorn. With –dry-run, report what would change and write nothing |
| wp w3rp sync status | The last run, the next run, and what moved |
Run the backfill first on a new site, then let the schedule take over. –dry-run on the reconcile reports exactly the decisions the real run would make, which is the safe way to find out whether a removal guard is about to stop you.
wp w3rp application-outbox
Applications
The outbox is the queue between a submitted form and a record in Bullhorn.
| wp w3rp application-outbox run | Deliver what is enqueued now |
|---|---|
| wp w3rp application-outbox status | What is waiting, held, delivered or failed |
| wp w3rp application-outbox sweep | Move stored applications into the delivery queue |
| wp w3rp application-outbox replay –id=<row> | Re-queue one application, including one held for review |
| wp w3rp application-outbox resolve –id=<row> –action=<dead_letter|purge|discard> | Close out a row that cannot be delivered |
| wp w3rp application-outbox list-unresolved | Everything still needing a decision |
replay is the route back for an application a recruiter has reviewed and accepted, within its retention window. resolve is the deliberate exit for one that will never be delivered: it is an explicit decision with an audit trail, not a silent deletion.
Everything else
Connection, queue and diagnostics
| wp w3rp bullhorn binding-state | The same connection report the admin screen shows |
|---|---|
| wp w3rp bullhorn drift-check [–accept] [–format=json] | Check now whether Bullhorn’s API has changed under you. Exits non-zero on a breaking verdict |
| wp w3rp queue run | Process the background queue |
| wp w3rp diagnostics | The diagnostic bundle: the same checks that appear in Site Health |
| wp w3rp migrate clear-uncertain | Clear migration records the importer could not decide about |
drift-check is the one to put in a monitor. It exits non-zero when the verdict is breaking or when the check could not be completed, so it works as a scheduled job without anybody having to parse its output.
In practice
Using them in cron and CI
# First import on a new site, then hand over to the schedule.
wp w3rp sync backfill
wp w3rp sync status
# See what a reconciliation would do before letting it.
wp w3rp sync reconcile --dry-run
# A monitor that fails loudly when Bullhorn's API moves.
wp w3rp bullhorn drift-check --format=json || echo 'drift check failed'
All of these run as the site, so they need the usual WP-CLI access to the install and a configured Bullhorn connection. A backfill without a connection stops early rather than producing an empty board.