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.
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
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": "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. |
- 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. |