How are you running Flagsmith
Describe the bug
The GitHub integration behaves as an organisation-wide integration, but it is configured and managed from the project integrations page. It does not appear on the organisation integrations page at all. This is
confusing, inconsistent with other integrations, and a permissions issue.
Some of our integrations (e.g. analytics providers) exist at the org level but can be overridden per project
— a project-level configuration takes precedence over the org-level one. That model works because each project can legitimately point at a different destination.
GitHub does not work this way. Flagsmith's access to a GitHub organisation's repositories is granted once,
globally, via the GitHub App installation. There is no meaningful per-project override — the connection itself
must live at the org level. The only project-scoped concern is which GitHub repositories a given Flagsmith
project maps to (1:many).
Steps To Reproduce
- Create a new Flagsmith project in an organisation where GitHub has previously been set up on another project.
- Navigate to Organisation Settings → Integrations.
- Navigate to Project Settings → Integrations.
- GitHub is not listed on the organisation integrations page.
- GitHub is listed on the project integrations page, and shows as already set up — even though the
integration was never configured for this specific project.
- A user with project-level permissions can modify or remove the GitHub integration, which affects the entire
organisation and all its projects.
Expected behavior
Users spend far more time in projects than in organisation settings, so moving GitHub out of the project
integrations page risks users assuming the integration doesn't exist. To mitigate this, the project integrations
page should:
- Add a field to remote config to denote that GitHub is not
- Keep the GitHub tile visible on the project integrations page so it remains findable from where users
actually work. Do this by setting
"project": false,
"organisation": true,
In the remote config integration_data
- For integrations connected at a different level Show connection status clearly (e.g. "Connected via organisation" / "Not configured — set up at
organisation level").
- Replace the configure CTA with a link to the organisation integrations page. The CTA should respect
org-level permissions — users without them see a read-only state and a hint about who to contact. Wrap this cta in the relevant renderWithPermissions util.
- Keep project-scoped controls (Flagsmith-project ↔ GitHub-repo mapping, which is 1:many) on the project page, since those genuinely belong at project level.
- Cross-link from the org page back to project repo mapping, so an admin setting up the integration for the first time is guided to the next step.
- Empty-state messaging on the project page when no org-level integration exists should explain that GitHub is set up at the organisation level, and link there.
Screenshots
No response
How are you running Flagsmith
Describe the bug
The GitHub integration behaves as an organisation-wide integration, but it is configured and managed from the project integrations page. It does not appear on the organisation integrations page at all. This is
confusing, inconsistent with other integrations, and a permissions issue.
Some of our integrations (e.g. analytics providers) exist at the org level but can be overridden per project
— a project-level configuration takes precedence over the org-level one. That model works because each project can legitimately point at a different destination.
GitHub does not work this way. Flagsmith's access to a GitHub organisation's repositories is granted once,
globally, via the GitHub App installation. There is no meaningful per-project override — the connection itself
must live at the org level. The only project-scoped concern is which GitHub repositories a given Flagsmith
project maps to (1:many).
Steps To Reproduce
integration was never configured for this specific project.
organisation and all its projects.
Expected behavior
Users spend far more time in projects than in organisation settings, so moving GitHub out of the project
integrations page risks users assuming the integration doesn't exist. To mitigate this, the project integrations
page should:
actually work. Do this by setting
In the remote config
integration_dataorganisation level").
org-level permissions — users without them see a read-only state and a hint about who to contact. Wrap this cta in the relevant renderWithPermissions util.
Screenshots
No response