From 33f54d2bc511bb5f3a19a342742de42a882e0a37 Mon Sep 17 00:00:00 2001 From: Julien Danjou Date: Fri, 14 Aug 2026 11:15:18 +0200 Subject: [PATCH] docs(enterprise): tell self-hosted admins to upload the App logo The GitHub App the Enterprise installer creates has no logo, so Mergify's check runs render with GitHub's default placeholder on every pull request of every self-hosted install. Nothing in the Enterprise guide mentioned it, so admins had no reason to know it was theirs to fix. Add a "Set the GitHub App Logo" section to the installation guide, right after the App is created and installed, plus a pointer to it from the legacy manual-installation page. It covers where an org-owned App's settings page lives on either github.com or a GHES host, the Display information -> Upload a logo -> crop -> Set new avatar flow, the file constraints, and the Badge background color field that only shows up once a logo is uploaded. The section says in one sentence why this is manual, so nobody goes looking for an API: GitHub's App manifest rejects any image field, and an App registration cannot be modified through the API after creation. Ship a square asset for admins to upload: public/mergify-github-app-logo.png, a 200x200 PNG of the Mergify mark matching the one the hosted App uses, so self-hosted checks look like the hosted ones. The installer's vendored wordmark is 1024x275 and crops badly, so it is not usable here. MRGFY-418 Change-Id: Ia11c411bad8e7bab1e7ae933961e751e70099fd9 --- public/mergify-github-app-logo.png | Bin 0 -> 10230 bytes src/content/docs/enterprise/installation.mdx | 29 ++++++++++++++++++ .../enterprise/manual-installation-legacy.mdx | 3 ++ 3 files changed, 32 insertions(+) create mode 100644 public/mergify-github-app-logo.png diff --git a/public/mergify-github-app-logo.png b/public/mergify-github-app-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3e8a231917ce6f1ff47d219987d3a2d6cdfe2b3c GIT binary patch literal 10230 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 U3>~=%@H`(NC#5V|^}#scf0&}0r~m)} literal 0 HcmV?d00001 diff --git a/src/content/docs/enterprise/installation.mdx b/src/content/docs/enterprise/installation.mdx index c2660836f1..6f45086313 100644 --- a/src/content/docs/enterprise/installation.mdx +++ b/src/content/docs/enterprise/installation.mdx @@ -4,6 +4,7 @@ description: 'Step-by-step process for deploying the on-premise image and wiring --- import { Image } from "astro:assets" +import DownloadLink from "../../../components/DownloadLink.astro" import installerScreen from "../../images/enterprise/installer.png" import createGitHubAppScreen from "../../images/enterprise/create-github-app.png" import installerEnvScreen from "../../images/enterprise/installer-env.png" @@ -108,6 +109,34 @@ The GitHub App creation and installation is finished. Mergify App Installation Success +## Set the GitHub App Logo + +The App you just created has no logo, so its check runs show GitHub's default +placeholder image on every pull request. Uploading a logo is a manual step: the +manifest the installer submits refuses any image field, and GitHub offers no API +to change an App registration once it exists. You only have to do it once, and it +applies to everything the App posts from then on. + +Download the Mergify +logo, or use your own image. GitHub accepts a PNG, JPG, or GIF +under 1 MB, and recommends 200 by 200 pixels. + +Then: + +1. Open your organization's **Settings → Developer settings → GitHub Apps** and + click **Edit** next to the App. The direct URL is + `https:///organizations//settings/apps/`, + where `` is `github.com` or your GitHub Enterprise Server + host. + +2. Under **Display information**, drag the image onto the logo area or click + **Upload a logo**. + +3. Adjust the crop if you need to, then click **Set new avatar**. + +A **Badge background color** field appears under the logo once one is uploaded. +It fills the background of the App's badge; `#000000` matches the Mergify logo. + ## Stop the Installer You can now stop the installer container: diff --git a/src/content/docs/enterprise/manual-installation-legacy.mdx b/src/content/docs/enterprise/manual-installation-legacy.mdx index ff28d32e7e..4d82b7b318 100644 --- a/src/content/docs/enterprise/manual-installation-legacy.mdx +++ b/src/content/docs/enterprise/manual-installation-legacy.mdx @@ -84,6 +84,9 @@ description: 'Legacy process for provisioning the Mergify GitHub App and engine From the GitHub App page, click **Install App**, pick your organization, choose the repositories to manage, and complete the installation. +The App has no logo at this point, so its check runs show GitHub's default placeholder image. See +[Set the GitHub App Logo](/enterprise/installation/#set-the-github-app-logo) to upload one. + ## 3. Build `mergify.env` Create a file named `mergify.env` with at least: