Skip to content

Repository files navigation

10 Degrees Support

Management and reporting WordPress plugin for 10 Degrees Support and maintenance clients.

Functionality

  • Provides a Dashboard widget to show plugin updates, website performance
  • A report of the above can be emailed to one address
  • Disables plugin and theme auto-update UI
  • Disables full site editing

Development

Run composer install to install dependencies.

REST API: Queueing Updates

The plugin provides token-protected endpoints under 10d-support/v1.

Authentication:

  • Header: X-API-Key: <td_rest_api_key>
  • Or query param: api_key=<td_rest_api_key>

Queue all pending plugin updates

POST /wp-json/10d-support/v1/updates/plugins/queue

Body params:

  • webhook_url (optional): URL to receive async completion payload
  • webhook_token (optional): sent as X-Webhook-Token on webhook request

Success response (202):

  • success: true
  • summary: Plugin updates queued.
  • job_id: <uuid>

Notes:

  • Runs asynchronously via WP-Cron.
  • If one plugin fails, remaining plugins still continue.
  • Concurrent runs are blocked for 15 minutes.

Queue WordPress core update

POST /wp-json/10d-support/v1/updates/core/queue

Body params:

  • allow_major (optional boolean): set true to allow major core updates
  • webhook_url (optional): URL to receive async completion payload
  • webhook_token (optional): sent as X-Webhook-Token on webhook request

Success response (202):

  • success: true
  • summary: Core update queued.
  • job_id: <uuid>
  • allow_major: <bool>

Shared safety checks

Queue and worker execution are blocked when:

  • WordPress is currently in maintenance mode (.maintenance present)
  • Filesystem method is not direct (credentials would be required)
  • Filesystem API initialization fails

Optional async webhook payload

When webhook_url is provided, the plugin sends:

  • success (bool)
  • job_id (string)
  • type (plugins or core)
  • updated (int)
  • failed (int)
  • summary (string)
  • site_url (string)
  • timestamp (mysql datetime)

Pushing a plugin update to clients

  1. Increment the Version in 10d-support-report.php. Please use semantic versioning.
  2. Tag a new Release on Github. See Tagging. You can tag within git but it's preferable if you create a new Tag and Release on Github.

To Do

TBC.

About

Management and reporting WordPress plugin for 10 Degrees support clients.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages