We’re excited to announce a new feature for the discourse-github plugin: live pull request status indicators on GitHub PR oneboxes! ![]()
When you paste a GitHub pull request URL in a post or chat message, Discourse now displays a visual status icon that shows the current state of the PR — and keeps it up-to-date automatically via webhooks. ![]()
What It Does
GitHub PR oneboxes now display a status icon that reflects the current state of the pull request:
| Status | Color | Description |
|---|---|---|
| Gray | PR is marked as draft | |
| Gray | PR is open and awaiting review | |
| Green | PR has been approved by reviewers | |
| Orange | Reviewers have requested changes | |
| Purple | PR has been merged | |
| Red | PR was closed without merging |
The icons use GitHub’s native iconography and color scheme, so they’ll feel familiar to anyone who uses GitHub regularly. ![]()
Examples
Here’s what the different statuses look like in action:
Draft PR:
Open PR:
Approved PR:
Changes Requested:
Merged PR:
Closed PR:
Where It Works 
The live status appears on:
- Forum posts — Any post containing a GitHub PR onebox
- Chat messages — If you have the Chat plugin enabled, PR oneboxes in chat also display live status

Chat example:
Note: Inline oneboxes (when a link appears inline in text rather than as a full preview) do not display status icons.
Real-Time Updates via Webhooks 
The most powerful aspect of this feature is that PR statuses update automatically when changes occur on GitHub. When a PR is opened, closed, merged, converted to/from draft, or receives a review, Discourse automatically updates any posts or chat messages containing that PR’s onebox.
Smart Review Status 
The feature doesn’t just show basic open/closed status — it also fetches review information to determine if a PR has been approved or has changes requested. It intelligently handles multiple reviewers by:
- Taking the latest review from each reviewer
- Showing “changes requested” if any reviewer has requested changes
- Showing “approved” only if reviews exist and none request changes
Migrating from the GitHub Status Theme Component 
This feature replaces the GitHub Status Indicators theme component. The two are not compatible and should not be used together.
If you’re currently using the theme component, you should:
- Disable and remove the
github-status-themetheme component - Enable this new built-in feature via site settings
The new implementation offers several advantages over the theme component:
Works with private repositories (via API authentication)
Includes approval/changes requested status from reviews
Real-time updates via webhooks
Works in chat messages
No theme component maintenance required
Getting Started 
For setup instructions, configuration options, and technical details, see the discourse-github plugin documentation.
Feedback 
We’d love to hear your feedback on this feature! If you encounter any issues or have suggestions for improvements, please let us know in the replies below. ![]()






