Files
ss-tools/specs/011-git-integration-dashboard/contracts/api.md
2026-01-22 23:59:16 +03:00

1.6 KiB

API Contracts: Git Integration Plugin

Git Configuration

GET /api/git/config

List all Git server configurations.

POST /api/git/config

Create a new Git server configuration.

  • Body: GitServerConfig (Pydantic model)

POST /api/git/config/test

Test connection to a Git server.

  • Body: GitServerConfig
  • Response: {"status": "success" | "error", "message": String}

Repository & Branch Management

GET /api/git/repositories/{dashboard_id}/branches

List all branches for a dashboard's repository.

POST /api/git/repositories/{dashboard_id}/branches

Create a new branch.

  • Body: {"name": String, "from_branch": String}

POST /api/git/repositories/{dashboard_id}/checkout

Switch to a specific branch.

  • Body: {"name": String}

Git Operations

POST /api/git/repositories/{dashboard_id}/commit

Commit changes to the current branch.

  • Body: {"message": String, "files": List[String]}

POST /api/git/repositories/{dashboard_id}/push

Push local commits to remote.

POST /api/git/repositories/{dashboard_id}/pull

Pull changes from remote.

Conflict Resolution

GET /api/git/repositories/{dashboard_id}/conflicts

List active conflicts for a repository.

POST /api/git/repositories/{dashboard_id}/resolve

Resolve a conflict for a specific file.

  • Body: {"file_path": String, "resolution": "mine" | "theirs" | "manual", "content": Optional[String]}

Deployment

GET /api/git/environments

List deployment environments.

POST /api/git/repositories/{dashboard_id}/deploy

Deploy dashboard from current branch to target environment.

  • Body: {"environment_id": UUID}