# Live Pull Request Status on GitHub Oneboxes ✨

**URL:** https://meta.discourse.org/t/live-pull-request-status-on-github-oneboxes/390900
**Category:** Announcements
**Created:** [December 11, 2025, 9:46am UTC](https://meta.discourse.org/t/live-pull-request-status-on-github-oneboxes/390900 "2025-12-11T09:46:22Z")
**Posts on this page:** 15
**Page:** 1

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [December 11, 2025, 9:46am UTC](https://meta.discourse.org/t/live-pull-request-status-on-github-oneboxes/390900/1 "2025-12-11T09:46:22Z")

</div>

We’re excited to announce a new feature for the **[discourse-github](https://github.com/discourse/discourse/tree/main/plugins/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:**

 ![DRAFT PR](https://global.discourse-cdn.com/meta/original/4X/d/0/c/d0c52ab727b81841f3a2656627abb413f6cc4a89.png)

**Open PR:**

 ![OPEN PR](https://global.discourse-cdn.com/meta/original/4X/a/9/7/a9771fc13c6ebfd52dcf8d2e58c6d41c61976c22.png)

**Approved PR:**

 ![APPROVED PR](https://global.discourse-cdn.com/meta/original/4X/4/5/6/4563d6aeb0975e097b738ae99396353b536b0d4d.png)

**Changes Requested:**

 ![CHANGE REQUESTED](https://global.discourse-cdn.com/meta/original/4X/4/5/6/45605dfd6e16c1cd4ed378384bd9675056f970e9.png)

**Merged PR:**

 ![MERGED PR](https://global.discourse-cdn.com/meta/original/4X/3/2/2/322fa8c1e6ebf507cd9075087a1f595c7c1406d3.png)

**Closed PR:**

 ![CLOSED PR](https://global.discourse-cdn.com/meta/original/4X/6/2/a/62a8743a1891e3f7602ccc7508c37bbb9bd4a460.png)

## 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:**

 ![CleanShot 2025-12-10 at 13.50.37](https://global.discourse-cdn.com/meta/original/4X/1/7/f/17fd1c25607263541daf48fe377d93aadd17dcf5.png)

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](https://meta.discourse.org/t/github-status-indicators/130471) 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](https://meta.discourse.org/t/discourse-github/99895).

## 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. 🙏

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [December 11, 2025, 2:48pm UTC](https://meta.discourse.org/t/live-pull-request-status-on-github-oneboxes/390900/2 "2025-12-11T14:48:09Z")

</div>

Wow! I love this! 🤩 The only feedback I have is that I miss the spelling out of the status in words that we used to have previously. The colored icons are cool but I don’t recognize what they mean immediately because I don’t spend alot of time in github.

Time will tell, but I think others who are looking for the status of bug fixes or new features might have the same problem and think something has changed in Discourse that has not been.

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [December 11, 2025, 3:01pm UTC](https://meta.discourse.org/t/live-pull-request-status-on-github-oneboxes/390900/3 "2025-12-11T15:01:33Z")

</div>

The icons do have a title on mouse hover, but that only works on desktop.

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [December 11, 2025, 5:26pm UTC](https://meta.discourse.org/t/live-pull-request-status-on-github-oneboxes/390900/6 "2025-12-11T17:26:17Z")

</div>

> [@tobiaseigen](#):
>
> I miss the spelling out of the status in words that we used to have previously.

This made me realize we could have both worlds 😉

[https://github.com/discourse/discourse/pull/36637](https://github.com/discourse/discourse/pull/36637)

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [December 11, 2025, 8:00pm UTC](https://meta.discourse.org/t/live-pull-request-status-on-github-oneboxes/390900/7 "2025-12-11T20:00:46Z")

</div>

Should this one say ‘merged’ now? It’s still showing as ‘opened’ for me:

 ![IMG_4370](https://global.discourse-cdn.com/meta/original/4X/7/e/b/7ebe753a91da1bfb1a0f63346df3d351baf8a031.jpeg)

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [December 11, 2025, 8:14pm UTC](https://meta.discourse.org/t/live-pull-request-status-on-github-oneboxes/390900/8 "2025-12-11T20:14:38Z")

</div>

We haven’t rebaked any of the oneboxes on meta just yet.

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [December 11, 2025, 8:24pm UTC](https://meta.discourse.org/t/live-pull-request-status-on-github-oneboxes/390900/9 "2025-12-11T20:24:14Z")

</div>

Ah, my bad. I was expecting too much magic 🪄🙂

---

<div class="post-metadata">

### Author: ![fzngagan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fzngagan/32/259349_2.png) [@fzngagan](https://meta.discourse.org/u/fzngagan)
#### Post date: [December 12, 2025, 2:43pm UTC](https://meta.discourse.org/t/live-pull-request-status-on-github-oneboxes/390900/10 "2025-12-12T14:43:26Z")

</div>

I rebaked the one you referenced. Does it look correct now?

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [December 16, 2025, 6:37pm UTC](https://meta.discourse.org/t/live-pull-request-status-on-github-oneboxes/390900/11 "2025-12-16T18:37:58Z")

</div>

I noticed that I can only see the status as long as I don’t read the topic in another language. Is that a known trade-off?

 ![image](https://global.discourse-cdn.com/meta/original/4X/8/d/3/8d3b12bce9bc952e6afe4ed3a1ca6b5b68f810d4.png)

 ![image](https://global.discourse-cdn.com/meta/original/4X/f/e/8/fe8ebe15ae70a5d06207e4e573f68f6f370605aa.png)

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [December 16, 2025, 6:41pm UTC](https://meta.discourse.org/t/live-pull-request-status-on-github-oneboxes/390900/12 "2025-12-16T18:41:44Z")

</div>

The oneboxes aren’t part of the raw content of the posts so they aren’t translated.

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [December 16, 2025, 6:43pm UTC](https://meta.discourse.org/t/live-pull-request-status-on-github-oneboxes/390900/13 "2025-12-16T18:43:04Z")

</div>

My question was not about translation, but about the status icon. I wonder why it doesn’t work the same way in the translated post.

The theme component worked in both

 ![image](https://global.discourse-cdn.com/meta/original/4X/5/f/6/5f690ce44b054933b3b2ca884fe223ee3e7d9ca1.png)  
 ![image](https://global.discourse-cdn.com/meta/original/4X/2/b/0/2b0d475ffccd8ade642c118df03c4a9c07969d15.png)

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [December 16, 2025, 6:44pm UTC](https://meta.discourse.org/t/live-pull-request-status-on-github-oneboxes/390900/14 "2025-12-16T18:44:23Z")

</div>

Oh right. Not sure why. I’ll have a look 👀

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [February 11, 2026, 4:30pm UTC](https://meta.discourse.org/t/live-pull-request-status-on-github-oneboxes/390900/19 "2026-02-11T16:30:35Z")

</div>

Is there any news on updating the onebox in the translated version of the post?

---

<div class="post-metadata">

### Author: ![rishabh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rishabh/32/179446_2.png) [@rishabh](https://meta.discourse.org/u/rishabh)
#### Post date: [May 26, 2026, 6:55am UTC](https://meta.discourse.org/t/live-pull-request-status-on-github-oneboxes/390900/21 "2026-05-26T06:55:25Z")

</div>

Excited to share that we now support PR statuses on inline oneboxes:

 ![587181867-10a379d2-78a9-4987-8f56-1df854fe33fa](https://global.discourse-cdn.com/meta/original/4X/9/1/b/91bf12386e652d51b059fc31e396552f26910371.png)

> <https://github.com/discourse/discourse/pull/39649>
>
> Extends the live PR status indicator (#36313) to inline oneboxes
> 
> \<img width="…759" height="308" alt="image" src="https://github.com/user-attachments/assets/10a379d2-78a9-4987-8f56-1df854fe33fa" /\>

---

<div class="post-metadata">

### Author: ![bird](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bird/32/552706_2.png) [@bird](https://meta.discourse.org/u/bird)
#### Post date: [May 28, 2026, 8:40pm UTC](https://meta.discourse.org/t/live-pull-request-status-on-github-oneboxes/390900/22 "2026-05-28T20:40:42Z")

</div>

Has the community considered supporting Gitea? 😀 Due to some special reasons, GitHub is either inaccessible or very slow.
