GitHub Discord Bot

BETA

Real-time GitHub notifications delivered to your Discord channels. Connect a repository once and choose which events to surface — commits, pull requests, releases, issues, workflow runs, stars, and forks. Persistent embeds for issue boards and project trackers update in place rather than flooding the channel.

Add GitHub Discord Bot to your server

Free to use — connect your first repository in minutes.

Add to Discord

Getting Started

All tracking commands require Administrator permission in your Discord server. Responses are ephemeral — only you can see them.

  1. 1.Run /linkgithub — install the GitHub App on your account or organization to link your server.
  2. 2.Run /trackrepo — register a repository (autocomplete searches your linked repos and public GitHub).
  3. 3.Enable whichever trackers you need using the commands below. Each takes a repo and an optional channel.

What You Can Track

📝
Commits

Push an embed to a channel for every commit pushed to a branch, with author info and a list of changes.

⚙️
Workflow Runs

Get notified when GitHub Actions workflow runs complete. Optionally show individual job results.

🐛
Issues

Persistent issue board embed that lists open issues and recently resolved items, updating automatically in place.

🔀
Pull Requests

Notifications for PR opens, closes, merges, and reopens. Optionally track reviewer approvals and change requests.

🚀
Releases

Announce new releases with the release name, tag, author, and release notes.

Stars & Forks

Celebrate every new star and optionally post when the repo is forked.

📊
Project Boards

Persistent progress-tracking embed with status labels and a visual progress bar. Edits in place as projects advance.

📬
Issue Submission

Let community members submit GitHub issues directly from Discord without needing a GitHub account.

Plans

All servers are currently on the Free plan (1 repo). Premium is coming soon — join the Discord to stay updated.
Free
1 repo

Unlimited tracking features on your one registered repository.

PremiumComing Soon
10 repos

Track up to 10 repositories, all with unlimited trackers per repo.

Only the number of tracked repositories is gated by plan. All tracking features (commits, workflows, issues, PRs, releases, stars) are available regardless of plan.

Required Permissions

PermissionWhy it's needed
View ChannelsSee the channels it's supposed to post in.
Send MessagesPost all embeds and command replies.
Embed LinksRender rich embeds — required separately from Send Messages.
Read Message HistoryFetch existing issue board and project board messages to edit them in place.
Mention EveryonePing roles in rate limit alerts. Roles that aren't publicly mentionable require this permission.

Command Reference

GitHub Account Setup

/linkgithub

Links this Discord server to a GitHub account or organization. The bot generates a GitHub App install URL — after you install the app, the link is saved automatically. Only needs to be done once per server.

/unlinkgithub

Removes the GitHub App link from this server.

Repository Management

/trackrepo

Registers a GitHub repository for tracking. All other trackers require a repo to be registered here first.

repo_url*owner/repo, full GitHub URL, or type to search — autocomplete shows your linked GitHub App repos first, then public search results
branch*Default branch for this repo entry (e.g. main)
friendly_nameoptionalShort display name shown in embeds and autocomplete
/listrepos

Lists all tracked repositories for this server, including your current plan and repo limit.

/untrackrepo

Removes a repository from the tracked list. Remove any active trackers with their respective /remove* commands first.

/trackingstatus

Shows a summary of which trackers are enabled for each tracked repo: commits, workflows, issues, PRs, releases, stars, and project boards.

Commit Tracking

/postcommits

Posts an embed to your chosen channel whenever commits are pushed to the tracked branch. Each embed shows the commit list and author.

repo*Tracked repository (autocomplete)
channeloptionalChannel to post embeds (defaults to current channel)
/removecommits

Removes a commit tracker.

Workflow Tracking

/postworkflows

Posts an embed whenever a workflow run on the tracked branch completes.

repo*Tracked repository (autocomplete)
channeloptionalChannel to post workflow notifications
detailed_embedoptionalShow individual job results in the embed (default: off)
/removeworkflows

Removes a workflow tracker.

Issue Tracking

/trackissues

Creates a persistent issue board embed in a channel. Lists open issues and recently resolved items, and updates automatically when GitHub sends an issue event.

repo*Tracked repository (autocomplete)
channeloptionalChannel to post and maintain the issue board
resolved_embedoptionalPost a separate digest embed when issues are closed (default: on)
/removeissues

Removes an issue tracker.

tracker*Issue tracker to remove (autocomplete)
delete_messageoptionalAlso delete the posted board embed from the channel
/allow_role_submit_issue

Grants or revokes a role's permission to use /submitissue, allowing non-admin members to submit GitHub issues from Discord.

role*The Discord role to allow or revoke
allow*true to allow, false to revoke
/submitissue

Opens a form where the user can enter a title and description. On submit, the bot creates a GitHub issue and posts a receipt embed. Requires an allowed role.

tracker*Repository to submit to (autocomplete)
status*Issue label/status
imageoptionalOptional screenshot or reference image
/set_issue_receipt_channel

Sets the channel where submission receipts are posted after a GitHub issue is created.

/set_issue_resolved_channel

Sets the channel where resolved-issue digest embeds are posted when issues are closed.

Pull Request Tracking

/trackprs

Posts an embed whenever a pull request targeting the tracked base branch is opened, closed, merged, or reopened. Optionally tracks reviewer decisions.

repo*Tracked repository (autocomplete)
channeloptionalChannel to post PR notifications
track_reviewsoptionalPost review decisions (approvals / change requests) — default: off
/removeprs

Removes a PR tracker.

Release Tracking

/trackreleases

Posts an embed whenever a new release is published on GitHub. Includes the release name, tag, author, and release notes.

repo*Tracked repository (autocomplete)
channeloptionalChannel to post release notifications
/removereleases

Removes a release tracker.

Star & Fork Tracking

/trackstars

Posts an embed whenever someone stars the repository. Optionally also posts when the repository is forked. Great for a community recognition channel.

repo*Tracked repository (autocomplete)
channeloptionalChannel to post star/fork notifications
track_forksoptionalAlso post fork notifications — default: off
/removestars

Removes a star/fork tracker.

Project Boards

/createprojecttrack

Creates a persistent project board embed in a channel. The board tracks status and progress for multiple projects in a single Discord message, editing in place whenever entries are updated.

channeloptionalChannel to post the board (defaults to current channel)
titleoptionalBoard title (default: "Project Tracker")
/setprojecttrack

Adds or updates a repo entry in an existing project board.

board_id*Project board to update (autocomplete)
repo*Tracked repository (autocomplete)
status*Planned / Alpha / Beta / Live
percent*Progress 0–100
summaryoptionalShort one-or-two sentence description
websiteoptionalCanonical project URL
/setprogress

Updates the status and completion percentage for a single project entry.

project*Project entry to update (autocomplete)
status*Planned / Alpha / Beta / Live
percent*Progress 0–100
/setallprogress

Sets all entries in a project board to the same status and percent. Useful for bulk status updates.

board_id*Project board (autocomplete)
status*Planned / Alpha / Beta / Live
percent*Progress 0–100
/removeprojecttrack

Deletes a project board and its Discord embed.

Alerts

/set_rate_alerts

Configures GitHub API rate limit alerts. When remaining API requests drop below the threshold, the bot posts an alert and pings the specified roles.

channeloptionalChannel to post rate alerts
thresholdoptionalAlert when remaining requests fall below this number (default: 50)
role_1 – role_5optionalUp to 5 roles to ping

General

/help

Shows the full command reference as a private embed. Available to all server members — no admin required.

* Required option