Skip to main content

tvlabs projects

The tvlabs projects command group provides tools for discovering and managing TV Labs automation projects from the CLI.

Available Commands​


tvlabs projects list​

Overview​

List all automation projects accessible to your account, including both your own projects and public projects from your organization.

tvlabs projects list

Output Information​

The command displays comprehensive information about each project:

  • Project ID - The unique identifier for use with other commands
  • Project Name - Human-readable project name
  • Owner - The project creator/owner
  • Status - draft or published
  • Privacy - team (organization-only) or public
  • Description - Project description (if provided)
  • Targets - Number of configured app/device combinations
  • Updated - Last modification timestamp

Example Output​

Available projects:

38b7f95e-5bc7-4c86-b5a8-19ce713813c0 - My TV Automation
Owner: John Doe
Status: published, Privacy: team
Description: Automated testing for our streaming app
Targets: 3, Updated: 2025-04-27 00:20:59

22c545a0-25d6-4cfa-b675-ff1fad55471e - Partner Integration Tests
Owner: Jane Smith
Status: draft, Privacy: team
Targets: 1, Updated: 2025-03-20 19:25:34

Example usage:
tvlabs projects targets --project 38b7f95e-5bc7-4c86-b5a8-19ce713813c0
tvlabs run --project 38b7f95e-5bc7-4c86-b5a8-19ce713813c0 --app <app-id> --device <device-id>

Discovery Workflow​

  1. List projects using tvlabs projects list
  2. Discover targets using tvlabs projects targets --project <id>
  3. Run automation using tvlabs run --project <id> --app <app-id> --device <device-id>

tvlabs projects targets​

Overview​

Discover available app and device combinations for a specific automation project. This command is essential for understanding what --app and --device values you can use with tvlabs run.

tvlabs projects targets --project 123e4567-e89b-12d3-a456-426614174000

Output Information​

The command displays three key sections:

Apps​

Lists all applications configured in the project with:

  • ID - The identifier to use with --app
  • Name - Human-readable application name
  • Build permissions - Whether you can upload builds for this app

Devices​

Lists all devices configured in the project with:

  • ID - The identifier to use with --device
  • Name - Human-readable device description (make, model, year)
  • Platform - The device platform (webOS, Tizen, Android TV, etc.)

Summary​

  • Example usage - Ready-to-use command template

Example Output​

Available targets for project:

Apps:
- ID: 456, Name: My TV App (builds allowed)
- ID: 789, Name: Partner App
- ID: 101, Name: Streaming Service

Devices:
- ID: 201, Name: LG C2 OLED (2022), Platform: web_os
- ID: 202, Name: Samsung QN90A (2021), Platform: tizen
- ID: 203, Name: Sony X90J (2021), Platform: android_tv

Example usage:
tvlabs run --project 123e4567-e89b-12d3-a456-426614174000 --app 456 --device 201

Access Control​

Both projects commands respect the same access controls as the web interface:

  • Private projects - Only accessible to project owners and collaborators
  • Public projects - Accessible to all organization members
  • Build permissions - Indicated in the app listings

If you don't have access to a project, you'll receive an appropriate error message.

Error Handling​

The commands provide error messages for common issues:

  • Invalid project ID format: Invalid project ID format. Project ID must be a valid UUID. Please verify that the project id is correct with tvlabs projects list
  • Project not found: Project not found. Please verify that the project id is correct with tvlabs projects list
  • Access denied: You do not have access to this project
  • tvlabs run - Execute project automations using the discovered targets