Skip to main content

Importing an Application from Git in Syntasa

Syntasa enables teams to import complete application definitions (Dataflows) directly from an external Git repository. This capability is critical for promoting applications across environments—such as Development, UAT, and Production—and for restoring applications from a version-controlled source.

When importing an application from Git, Syntasa reads the application’s JSON definition from the selected repository and reconstructs the workflow canvas. This includes all processors, configurations, metadata, and node mappings, ensuring the application is recreated accurately in the target environment.


Prerequisites

Before importing an application, ensure the following prerequisites are met:

  1. A Git Repository Connection is configured in Syntasa.

  2. Navigate to Resources → Connections and verify that:

    • A connection exists for the repository containing the application.
    • The connection status is Verified.
  3. Use the Test Repo option to confirm access to repository branches and file paths.

Note: Importing will fail if the Git connection cannot access the repository or branch.


Importing an Application from Git

Step 1: Initiate the Import

  1. Navigate to the Apps Creation Screen

  2. Fill all mandatory and required field e.g. Name

  3. Enable Import App Toggle.

  4. Select Import from Git Repo.


Step 2: Select the Source Repository

  1. Git Connection
    Choose a verified Git Repository Connection.

  2. Branch
    Select the branch containing the application definition.

    • The default branch configured in the connection is preselected.
    • Any accessible branch can be selected.
  3. Base Path (Optional)
    Specify a subdirectory if applications are stored in a specific folder (for example, /deployments/apps/).


Step 3: Select the Application Definition

  1. Click Scan Repository (or allow the list to auto-populate).
  2. Syntasa scans the selected branch and path for valid .json application definitions.
  3. Select the application you want to import from the discovered list.

Step 4: Configure Import Settings

  1. App Name
    Retain the original name or provide a new name for the application in the target environment.

  2. Project Assignment
    Assign the imported application to an existing Syntasa Project.

  3. Conflict Resolution
    If an application with the same name already exists:

    • Overwrite the existing application, or
    • Create a new version.

Step 5: Finalize the Import

Click Import to complete the process.
Syntasa retrieves the application definition, validates it against the target environment, and opens the application on the Workflow Canvas.


What Happens During the Import?

  • Resource Mapping
    Syntasa attempts to automatically map resources defined in Git (such as compute clusters or data connections) to resources available in the target environment. Exact name matches are linked automatically.
  • Validation Checks
    Each processor is validated. If required configurations are missing or incompatible, affected nodes are flagged with warning indicators on the canvas.
  • Metadata Preservation
    Documentation notes, node positions, custom labels, and canvas layout are preserved during the import.

Troubleshooting

IssuePossible CauseResolution
No applications foundIncorrect branch or base pathVerify the .json application file exists in the selected branch and directory
Import fails with “Resource Not Found”Missing connection or resource in target environmentCreate the required connection or resource before importing
“Invalid Connection” errorExpired or invalid Git tokenUpdate the token under Resources → Connections and re-run Test Repo
Nodes show errors after importEnvironment configuration mismatchOpen affected nodes and update configurations to match the target environment

Best Practices

  • Standardize Repository Structure
    Use consistent folder paths such as /apps/dev/ and /apps/prod/ to simplify imports and reduce errors.
  • Use Version Tags
    Tag stable releases (for example, v1.0.2) and import from tagged versions rather than directly from the main branch for production deployments.
  • Review Changes Before Overwriting
    When replacing an existing application, review differences using the comparison feature (if available) to avoid unintended changes.