Skip to main content

GitVerse integration

Connect GitVerse repositories, webhooks, synchronization and review publication. The page explains the purpose, usage steps, and result checks.

Integrations

GitVerse has the broadest provider-specific CodeGraph surface: repository onboarding, webhook reconciliation, manual synchronization, workflow dispatch, and pull-request review publication. Use this page for those differences; use Project import for the shared repository lifecycle.

Supported contract

Supported contract
Capability Current support
Repository metadata through provider API Yes
Branch HEAD lookup Yes
Namespace repository listing Yes
Inbound push and pull-request webhook Yes
Provider-specific review publication and republish Yes

The adapter is implemented in src/project_import/repository_suite/repository_provider_adapters.py. The publication routes are GitVerse-specific and must not be copied into GitHub, GitLab, or SourceCraft instructions.

Connect and import

python -m src.cli repos connect-provider --name gitverse-main --provider gitverse --base-url https://api.gitverse.ru --host gitverse.ru
python -m src.cli repos provider-health --connection gitverse-main
python -m src.cli repos import --connection gitverse-main --repo OWNER/REPOSITORY
python -m src.cli repos status

Private repositories require a token supplied through the customer’s protected secret channel. Do not place it in configuration committed to Git. Keep TLS verification enabled; provide --ca-bundle-path only when the deployment uses a private CA.

Configure the webhook

Send push and pull-request events to:

POST /api/v1/webhooks/gitverse

Configure GITVERSE_WEBHOOK_SECRET. CodeGraph accepts the primary X-GitVerse-Signature header and documented compatibility signature headers. When X-GitVerse-Timestamp is present, its age is validated against the configured replay window.

The receiver returns 202 Accepted for asynchronous intake. Use the returned job ID and repository status to follow accepted, deduplicated, or skipped work through completion of the resulting CPG update.

GitVerse operations

Shared bindings and jobs remain under:

/api/v1/integrations/repositories
POST /api/v1/integrations/repositories/review-snapshots/{snapshot_id}/rerun

The generic rerun path publishes only when publish_review is requested. The dedicated GitVerse routes below provide the provider-specific operator workflow and republish action.

GitVerse adds the following current route family:

GET  /api/v1/integrations/repositories/gitverse/overview
POST /api/v1/integrations/repositories/gitverse/projects/{project_name}/validate
POST /api/v1/integrations/repositories/gitverse/projects/{project_name}/reconcile-webhook
POST /api/v1/integrations/repositories/gitverse/projects/{project_name}/sync-now
POST /api/v1/integrations/repositories/gitverse/projects/{project_name}/pull-requests/{pr_number}/review
POST /api/v1/integrations/repositories/gitverse/projects/{project_name}/pull-requests/{pr_number}/republish

Review publication is an explicit action with its own recorded status. Confirm that status and the review on the target pull request.

Recovery and rollback

Start with provider-health, then validate the project and reconcile the webhook. Use sync-now only for the intended project. Failed generic sync or review jobs can be inspected and replayed through the shared repository suite. If publication must stop, pause the binding or remove the GitVerse binding through the current API while preserving evidence already recorded.

Security boundary

  • Scope the provider token and rotate it independently of the webhook secret.
  • Restrict validation, sync, dispatch, retry, review, and republish routes to authorized operators.
  • Keep signature headers out of logs and keep TLS verification enabled.
  • Treat pull-request payloads and provider responses as untrusted data.

Source of truth

  • Provider adapter: src/project_import/repository_suite/repository_provider_adapters.py
  • GitVerse client: src/api/services/repo_sync_services/gitverse_api.py
  • Provider routes: src/api/routers/dashboard_domains/dashboard_v2_gitverse.py
  • Current routes: REST API