Opened 5 months ago
#8064 new feature request
Create an endpoint to gather plugin author details.
| Reported by: |
|
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:
emailuser email required.ticket_idorticket_numberoptional (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/blockeduser_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"]
}
]
}
Note: See
TracTickets for help on using
tickets.