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.
- 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:
elastic.snaplogic.com
For the UAT or EMEA control plane, substitute the name for elastic . For
example:
|
project_path |
Required. The path to the SnapLogic project.
Format: Important: The path comparison is case-sensitive.
|
Query Parameters
None.
Request Header
In the request header, specify Basic
for authorization, add your credentials, and specify 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: |
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. |