Deploy from CLI

The sling project command helps you manage projects on the Sling Data Platform. It provides several subcommands for project management and job operations.

$ sling project
project - Manage a project on the Sling Data Platform

See more details at https://docs.slingdata.io/

  Usage:
    project [init|status|jobs|sync]

  Subcommands: 
    init     create or link to a sling project
    status   see project status
    jobs     manage project jobs
    sync     Push local file changes

  Flags: 
    --version   Displays the program version string.
    -h --help      Displays help with available flag, subcommand, and positional value parameters.

Prerequisites

  • A valid Sling Project Token (SLING_PROJECT_TOKEN environment variable, obtained from the Settings section)

Commands

Initialize Project

Links your local directory to a Sling project:

# navigate to the root folder of your project first
$ sling project init

This command will:

  • Create or link to an existing Sling project

  • Generate a .sling.json file in your project directory

  • Configure project settings like paths and ID

Project File (.sling.json)

The project configuration is stored in .sling.json:

{
  "id": "project_id",
  "paths": ["subfolder1", "subfolder2"]
}
  • id: The Sling project ID

  • paths: Array of subfolders to monitor for files (relative to project root). This is optional. If not provided, the root directory will be used.

Check Project Status

View the current project status and configuration:

$ sling project status

This displays:

  • Project ID and name

  • Organization details

  • Owner information

  • Project folder location

  • Configured project paths

  • Additional project status details

Manage Jobs

List Jobs

View all jobs in the project:

$ sling project jobs list

Shows a table with:

  • Job ID

  • Name

  • File Name

  • Status

  • Active status

  • Schedule information

View Job History

See run history for project jobs:

$ sling project jobs history

Trigger Job

Run a specific job by its ID:

$ sling project jobs trigger job_123456

Sync Files

Push local file changes to the Sling platform (one way sync):

$ sling project sync [--force]

The sync command:

  • Compares local files with remote versions

  • Identifies new and modified files

  • Prompts for confirmation before pushing changes (unless --force is used)

  • Shows a summary of synced files

Options

  • --force: Skip confirmation prompt and push changes immediately

Examples

# Initialize a new project
$ sling project init

# Check project status
$ sling project status

# List all jobs
$ sling project jobs list

# Trigger a specific job
$ sling project jobs trigger job_abc123

# Sync local changes
$ sling project sync

# Force sync without confirmation
$ sling project sync --force

Notes

  • The project token must be valid and have appropriate permissions

  • File syncing only pushes changes from local to remote (not from remote to local)

  • Jobs can be managed through both CLI and the Sling Platform interface

  • Project paths are relative to the project root directory

Last updated