Live Pull Request Status on GitHub Oneboxes ✨

zogstrip
Thu, 11 Dec 2025 09:46:22 +0000
Announcements

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
Draft | Gray | PR is marked as draft
Open | Gray | PR is open and awaiting review
Approved | Green | PR has been approved by reviewers
Changes Requested | Orange | Reviewers have requested changes
Merged | Purple | PR has been merged
Closed | 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:

1. Disable and remove the github-status-theme theme component

2. 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.

13 сообщений - 5 участников