Create project from Git files
POST /project/create-project/{project_path}
Overview
This API creates a project using the files in the specified Git repository and branch.
Note:
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
- Environment (Org) admin permissions
- Git hosting provider requirements:
- The environment (Org) must be correctly configured to use a Git hosting provider supported by SnapLogic.
- The user must have an authenticated account with the Git hosting provider.
Learn more: SnapLogic - Git Integration
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/create-project/{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": "abc/Testing",
"ref": "testbranch"
}
Key | Type | Description |
---|---|---|
repo |
string | The Git repository containing the files to use with the new
project. Format: |
ref |
string | The name of the branch containing the files to use with the new project. |
Note:
- If a SnapLogic project is not linked to a Git repository, you can pull assets from Azure by checking out the repository into the project folder without a hard reset. This retains existing assets while adding new ones from Azure.
- Only top-level folders will be checked out, subfolders are excluded.
Response
Response body
{
"response_map": [
{
"snaplogic/Test_Project_Git/test-git": {
"status": "updated",
"overwritten": [],
"ignored": [],
"updated": [],
"created": [
"README.md",
"Test.docx",
"books_pipeline_2024_09_21",
"testoas-2.0.json"
],
"error_msgs": []
}
}
],
"http_status_code": 200
}
Key | Type | Description |
---|---|---|
status |
string | The status of the process. |
overwritten |
array | An empty list. No files are overwritten, because the project is new. |
updated |
array | An empty list. No files are updated, because the project is new. |
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. |