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
| 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