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:
  • uat.snaplogic.com
  • emea.snaplogic.com
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

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: repository/mainbranch

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.