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
Basic authentication
In the request header, specify Basic for authorization, add your credentials (Login and password of your SnapLogic user or service account), and specify application/json for content type.
For more details on accounts refer to Manage accounts.
Authorization: Basic {base64_encoded <email>:<password>}
Content-Type: application/json
Example of Basic authenthication using Postman
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. |