API support for managing GitHub App IP allow list entries #195631
Replies: 1 comment
-
|
💬 Your Product Feedback Has Been Submitted 🎉 Thank you for taking the time to share your insights with us! Your feedback is invaluable as we build a better GitHub experience for all our users. Here's what you can expect moving forward ⏩
Where to look to see what's shipping 👀
What you can do in the meantime 💻
As a member of the GitHub community, your participation is essential. While we can't promise that every suggestion will be implemented, we want to emphasize that your feedback is instrumental in guiding our decisions and priorities. Thank you once again for your contribution to making GitHub even better! We're grateful for your ongoing support and collaboration in shaping the future of our platform. ⭐ |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
🏷️ Discussion Type
Product Feedback
💬 Feature/Topic Area
API
Body
Summary
There is currently no API (REST or GraphQL) to programmatically manage IP allow list entries on a GitHub App's own settings (docs
(https://docs.github.com/en/apps/maintaining-github-apps/managing-allowed-ip-addresses-for-a-github-app)). This can only be done through the UI at Settings > Developer settings > GitHub Apps > [App] > IP allow
list. We'd like an API to add, list, update, and delete CIDR entries on a GitHub App's IP allow list.
Current state
GitHub provides comprehensive GraphQL API support for the consumer side — organizations can manage their own IP allow lists (createIpAllowListEntry, updateIpAllowListEntry, deleteIpAllowListEntry) and toggle
whether to inherit IPs from installed apps (updateIpAllowListForInstalledAppsEnabledSetting).
However, the producer side — the GitHub App's own IP allow list, which is the source of entries that orgs inherit — can only be managed manually through the web UI. There is no REST endpoint or GraphQL mutation
for it.
This creates an asymmetry: organizations can programmatically control whether to consume app IPs, but app owners cannot programmatically manage the IPs they publish.
Problem
Organizations that enforce IP allow lists and manage their own GitHub Apps need to keep App-level IP entries in sync with their infrastructure. When IPs change (e.g., due to cloud infrastructure scaling, region
changes, or CI/CD runner IP rotations), updating these entries manually through the UI is error-prone and doesn't fit into infrastructure-as-code workflows.
This becomes especially painful at scale. Organizations managing multiple GitHub Apps across multiple orgs must manually update each app's IP allow list individually through the UI whenever infrastructure IPs
change.
Current workaround
There is none beyond manually navigating to each GitHub App's settings page and editing entries by hand. This is not auditable, not version-controlled, and doesn't scale.
Proposed solution
Add API support for managing a GitHub App's IP allow list entries, authenticated via the App's JWT (consistent with other /app/* endpoints).
REST:
Or GraphQL mutations analogous to the existing org-level ones, scoped to a GitHub App owner.
Use cases
Related discussions
Beta Was this translation helpful? Give feedback.
All reactions