Platform

Platform overviewArchitectureWorkflow orchestrationGitOps configurationGovernance and AAAAI and MCPKnowledge and contextRuntime and executionEvidence and monitoring

Use cases

All use casesProduction incidentRelease preparationHotfix to productionSecurity scan triage
Why NopsAIIntegrationsSecurity

Resources

All resourcesAI agent governanceMCP governanceMCP securitySelf-hosted platforms
PricingGitHub

Company

How a run worksAboutContactBook a demo

Connect a Git repository

Give NopsAI access to a repository so it can read pipelines, knowledge, and trigger manifests.

TutorialNew userDeveloperAdministrator

What you will do

  • GitHub uses one GitHub App per NopsAI installation, installed on as many organizations and personal accounts as you need. It is stored in setting/git-apps/github.yaml.
  • NopsAI creates the App and stores its App ID, private key, and webhook secret itself. There is nothing to copy by hand.
  • GitLab, Bitbucket, Gitea, and generic providers use managed Git Webhook Sources instead.
  • Repository access is what lets a run check out code and read repo-local Knowledge Context at the run commit.

Before you start

Provider
A repository on GitHub, GitLab, Bitbucket, or Gitea
Permission
Administrator access to configure Git Apps or webhook sources
Reachability
The provider must be able to reach your NopsAI webhook endpoint
Credentials
None for GitHub — GitHub issues them and NopsAI stores them. A webhook signing secret for other providers.

Steps

  1. 01

    Register the App or webhook source

    For GitHub, use Connect GitHub in System > Git Apps, or the GitHub step of the first-install wizard: it creates the App on GitHub, stores the credentials it issues, and sends you on to pick the account and repositories. For other providers, create a Git Webhook Source and copy its signing secret into the provider.

    Verify
    • Use the installation Verify action, or check recent deliveries on the webhook source.
  2. 02

    Confirm repository visibility

    List the repositories the installation can reach.

    List installation repositoriesbash
    curl -s localhost:8080/v1/git-apps/github/installations/$INSTALLATION_ID/repositories \
      -H "Authorization: Bearer $NOPSAI_TOKEN"
    Replace before running
    • $INSTALLATION_ID — from the installations list.
  3. 03

    Send a test event

    Push a commit, then check that the delivery arrived and was accepted.

    Verify
    • The delivery appears with a success status under the webhook source or App installation.

How it works

One GitHub App serves every account: install it again on each further organization rather than registering a second App. An installation from an account other than the one that owns the App is held as Pending approval until an operator accepts it.

The App private key and webhook secret are stored as credential references, which is what the connect flow writes. The legacy inline environment variables remain only for migration.

Internal service URLs such as git_bot_api_url stay in system configuration and do not belong in the app-scoped Git App file.

Implementation evidence

  • doc/git-apps.md

    Connect flow, multi-installation management, GitOps schema, and git-bot routing.

  • doc/git-webhook-sources.md

    Non-GitHub provider configuration and security.