Making WordPress.org

Opened 5 months ago

#8064 new feature request

Create an endpoint to gather plugin author details.

Reported by: frantorres's profile frantorres Owned by:
Milestone: Priority: high
Component: Plugin Directory Keywords:
Cc:

Description

The plugin team is developing an AI system that is processing incoming emails and help volunteers respond, or even reply directly in some cases.

In order to perform certain tasks independently and accurate, the AI needs some information about the plugin author and their plugins.

This information is similar to the information that the team's volunteers can currently see on the HelpScout sidebar, which comes from a custom HelpScout App that reaches and endpoint.

The idea is to create an authenticated endpoint that retrieves some user and plugin information.

Input:

  • email user email required.
  • ticket_id or ticket_number optional (one or the another depending on what's easier for the implementation).

Response Body (JSON Object)

  • user_exists (boolean)
  • user_pending_signup (boolean)
  • username (string)
  • first_name (string | null)
  • last_name (string | null)
  • user_status (string). Status of the account: participant/spectator/blocked
  • user_creation (date). When the account was created.
  • plugins_mentioned (array of plugin objects) List of plugins detected from the given ticket_id or ticket_number.
  • plugins_related (array of plugin objects) List of plugins to which this person is related (owner, committer, support_rep).

Each plugin object contains:

  • display_name (string)
  • slug (string)
  • status (string, enum): Current status of the plugin. Possible values: , pending_initial_review, pending, closed, disabled, rejected, approved, published.
  • status_reason (string | null): Explanation of the plugin’s current status, if applicable. For example when closed: Guideline violation.
  • submitted_date (date)
  • updated_date (date)
  • download_link (URL)
  • owner (string): Username of the plugin owner.
  • committers (array of strings): List of usernames with commit access.
  • support_reps (array of strings): List of usernames assigned as support representatives.

Example:

{
  "user_exists": true,
  "user_pending_signup": false,
  "username": "wordpressdotorg",
  "first_name": "WordPress.org",
  "last_name": "",
  "user_status": "participant"
  "user_creation": "2025-08-01T12:00:00Z",
  "plugins_mentioned": [
    {
      "display_name": "Plugin Check",
      "slug": "plugin-check",
      "status": "closed",
      "status_reason": "Guideline Violation",
      "submitted_date": "2025-08-01T12:00:00Z",
      "updated_date": "2025-08-10T15:45:00Z",
      "download_link": "https://downloads.wordpress.org/plugin/plugin-check.1.6.0.zip",
      "owner": "wordpressdotorg",
      "committers": ["davidperez", "rabmalin"],
      "support_reps": ["frantorres"]
    }
  ],
  "plugins_owned": [
    {
      "display_name": "Plugin Check",
      "slug": "plugin-check",
      "status": "closed",
      "status_reason": "Guideline Violation",
      "submitted_date": "2025-08-01T12:00:00Z",
      "updated_date": "2025-08-10T15:45:00Z",
      "download_link": "https://downloads.wordpress.org/plugin/plugin-check.1.6.0.zip",
      "owner": "wordpressdotorg",
      "committers": ["davidperez", "rabmalin"],
      "support_reps": ["frantorres"]
    }
  ]
}

Change History (0)

Note: See TracTickets for help on using tickets.