Skip to main content

Overview

The Niro GitHub integration uses a GitHub App to connect your repositories to your clusters. Once connected, you get:
  • Automatic manifest validation when PRs are opened
  • Advisory AI review posted as PR comments
  • Auto-apply to the cluster on merge
  • GitHub Deployment statuses on commits
  • Image Automation: auto-PR when new image versions are published

How it works

Niro creates a GitHub App on your behalf (via GitHub’s App manifest flow). This App:
  • Installs in your GitHub account or organization
  • Receives webhooks for PR and push events on repos you’ve granted access to
  • Posts review comments and check runs to PRs
  • Creates GitHub Deployment statuses when applies complete
  • (For image automation) reads package/release tags from the registry
The App’s private key and webhook secret are stored securely — you don’t need to manage them.

Setup

See Set Up GitOps for the full step-by-step walkthrough.

GitHub App permissions

The Niro GitHub App requests the following permissions: For Image Automation:

Webhook events

Niro subscribes to the following GitHub webhook events: Webhook delivery is idempotent — Niro deduplicates by GitHub’s delivery ID to prevent double-processing.

PR review behavior

When a PR is opened against a linked repo branch:
  1. Webhook received — Niro immediately returns 202 Accepted and enqueues the job
  2. Background job runs — parses manifests, runs policy checks, optionally runs AI review
  3. PR comment posted — a single comment per deployment lists all findings
  4. Check run created — shows pass/warn/fail in the PR checks section
The PR comment is updated (not duplicated) if you push more commits to the same PR.

Check run states

Check runs are never blocking — they don’t prevent merging regardless of findings. Each repo link has the following settings (editable on the Integrations page):

Multiple repos and clusters

You can link:
  • Multiple repos to the same cluster
  • The same repo to multiple clusters (e.g. deploy/production → prod cluster, deploy/staging → staging cluster)
  • Multiple folders in the same repo to different clusters or deployments
Each folder in the repo is an independent Niro deployment. Niro tracks which manifests it applied from each folder.

Uninstalling

To remove the GitHub integration:
  1. Go to Integrations → GitHub
  2. Click Uninstall App — this removes all repo links and the App installation from GitHub
If you only want to remove a specific repo link, click the three-dot menu next to the link and select Remove.
Last modified on June 10, 2026