Check out project files from Git

POST /project/checkout/{project_path}

Overview

This API checks out the specified Git branch for the specified project. Equivalent to git checkout.

You can use Git APIs in Continuous Integration / Continuous Deployment (CI/CD) workflows to pull files from Git repositories. You can use this API to update a project to a newly tagged version or to revert to a previously stable tag.

Note:
  • The project must already exist.
  • You can track a maximum of 1000 assets per project. If a check-in would exceed 1000 assets in the repository or if you try to check out a project with more than 1000 assets, an error is thrown.

Prerequisites

  • Write access to the assets to be added or updated

Limitations

  • You cannot use SnapLogic service accounts to call any of the SnapLogic Git operation APIs.

Request

 POST https://{controlplane_path}/api/1/rest/public/project/checkout/{project_path}

Path Parameters

Key Description
controlplane_path Required. The path to the SnapLogic control plane.

Example: control-plane-name.snaplogic.com

Where control-plane-name is the control plane you are using. For example,
  • elastic
  • uat
  • emea
project_path
Required. The path to the SnapLogic project.

Format: /{env_org}/{project_space}/{project_name}

Important: The path comparison is case-sensitive.

Query Parameters

None.

Request Header

Specify Basic for authorization and application/json for content type.

 Authorization: Basic {your_encoded_security_credentials}
Content-Type: application/json

Request Body

 {
  "repo" : "git_repository",
  "ref" : "branch_name",
  "hard_reset" : true,
  "discard_untracked_file" : true
}
Key Type Description
repo string The Git repository to check out. If not specified, the repository that was previously associated with the project is used.

Default: None

ref string Required. The Git branch to check out.

Default: heads/main

hard_reset Boolean If true, modified assets are discarded and new assets are force-pulled from the repository.

Default: False

discard_untracked_file Boolean If true, untracked assets are discarded.

Default: False

Response

Response Body

 {
  "response_map": {
    "status": "",
    "overwritten": [ ... ],
    "updated": [ ... ],
    "error_msgs": [ ... ],
    "created": [ ... ],
    "ignored": [ ... ]
  },
  "http_status_code": 200
}
Key Type Description
status string The status of the process.
overwritten array The list of files that were overwritten.
updated array The list of files that were updated.
error_msgs array Any error messages that were thrown during the process.
created array Asset files that were copied from the Git repository into the project.
ignored array Asset files that exist in the Git repository but were not copied into the project.