| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Caution
Pre-release, very early in development. Iterative changes to be expected. Use only if you know what you're doing.
# Clone the repository
git clone https://github.com/jsade/domo-query-cli.git
cd domo-query-cli
# Standard installation (copies binary)
./install.sh
# OR for developers (creates auto-updating symlink)
./install.sh --symlink
# or
yarn install:devThe installation script will:
Symlink mode (recommended for developers):
If you prefer to build from source:
# Clone the repository
git clone https://github.com/jsade/domo-query-cli.git
cd domo-query-cli
# Enable Corepack for Yarn 4
corepack enable
# Install dependencies
yarn install
# Build standalone executable
yarn build:dist
# The executable will be in release/domo-query-cli
# Copy it to a directory in your PATH
cp release/domo-query-cli /usr/local/bin/
# Copy environment variables template
cp .env.example ~/.domo-cli/.envFor active development, install the CLI in symlink mode for automatic updates:
# Install as symlink (auto-updates on rebuild)
yarn install:dev
# Build the executable
yarn build:dist
# CLI is now globally available and automatically updated!
domo-query-cli --versionUninstall:
yarn uninstall# Build TypeScript for development
yarn build
# Run development mode (watch for changes)
yarn dev
# Run the CLI locally without building
yarn start
# or
yarn shell# Build distributable executable for current platform
yarn build:dist
# Executable will be in release/domo-query-cli
# Archive will be in release/domo-query-cli-<platform>.zip# Run tests
yarn test
yarn test:watch # Watch mode
yarn test:coverage # With coverage
# Code quality
yarn check # Run all checks (format, lint, types)
yarn format # Format code
yarn lint # Lint code
yarn lint:fix # Fix linting issues
yarn typecheck # TypeScript type checking
# Generate API types from OpenAPI specs
yarn generate:typesEdit the .env file in the project root:
# Your Domo instance
DOMO_API_HOST=yourcompany.domo.com
# Authentication
# API Token
DOMO_API_TOKEN=your-api-token-here
# OAuth
DOMO_CLIENT_ID=your-client-id
DOMO_CLIENT_SECRET=your-client-secret
# Optional settings
DOMO_EXPORT_PATH=./exports
LOG_PATH=./logsAPI Token:
OAuth Credentials:
Note: Some operations require specific authentication methods. API tokens provide broader permissions than OAuth for write operations.
For corporate proxies, add to .env:
HTTPS_PROXY=http://proxy.company.com:8080
HTTP_PROXY=http://proxy.company.com:8080
NO_PROXY=localhost,127.0.0.1,*.internal.company.com
# For self-signed certificates (development only)
NODE_TLS_REJECT_UNAUTHORIZED=0Start the interactive CLI:
# If installed via install.sh
domo-query-cli
# Or run directly from release directory
./release/domo-query-cli
# Or for development
yarn startType help to see all available commands
Begin exploring your data!
For non-interactive usage (scripts, automation, CI/CD), see CLI.md for comprehensive documentation.
Contributions are welcome! See CONTRIBUTING.md for setup, workflow, tests, and release process.
📚 For comprehensive command documentation and non-interactive usage, see CLI.md
All commands support unified output flags:
See CLI.md for complete documentation and examples.
| Command | Description |
|---|---|
| list-datasets [search] | List all datasets with filtering and search |
| get-dataset <id> | Get detailed dataset information |
| get-dataset-parents <id> | Get immediate parents for a dataset (API-required); returns parent nodes keyed like DATAFLOW24 |
| get-dataset-children <id> | Get immediate children for a dataset (API-required); returns child nodes keyed like CARD123 |
| update-dataset-properties <id> | Update dataset name, description, tags (requires API token) |
| list-dataflows [search] | List or search dataflows |
| get-dataflow <id> | Get dataflow details and execution history |
| execute-dataflow <id> | Trigger a dataflow to run |
| show-lineage <id> | Visualize data lineage with Mermaid diagrams |
| list-cards | List all accessible Domo cards |
| list-users [search] | List all users with optional search and role filtering |
| get-user <id> | Get detailed user information including group memberships |
| list-groups [search] | List all groups with optional search and type filtering |
| get-group <id> | Get group details with member information |
| cache-status | View or clear cache |
| help | Show all available commands |
# Start the interactive shell
domo-query-cli
# Inside the shell:
> list-datasets sales # Search for sales datasets
> get-dataset abc-123-def # Get specific dataset details
> execute-dataflow 12345 # Run a dataflow
> show-lineage abc-123 --diagram # Visualize data lineage
> help # See all commandsdomo-query-cli get-dataset-parents <dataset-id> --format=jsonReturns a JSON parents array of full nodes and a keyed map (<TYPE><ID>, e.g., DATAFLOW24) for O(1) lookup. Parent nodes include a name field when available (e.g., dataflow or dataset names).
domo-query-cli get-dataset-children <dataset-id> --format=jsonReturns a JSON children array of full nodes and a keyed map (<TYPE><ID>, e.g., CARD1213...) for O(1) lookup. Child nodes include a name field when available (e.g., card title, dataset name, or dataflow name).
# List datasets with pagination
domo-query-cli list-datasets --limit 10 --offset 20
# Get JSON output for processing
domo-query-cli list-datasets --format=json | jq '.data[]'
# Export to timestamped JSON file
domo-query-cli list-datasets --export
# Export both JSON and Markdown
domo-query-cli get-dataflow 12345 --export=both
# Export to custom location
domo-query-cli show-lineage abc-123 --export-path=/path/to/exports
# Write to specific file
domo-query-cli list-users --output=users.json
# Update dataset properties
domo-query-cli update-dataset-properties abc-123 \
--name "Q4 Sales Data" \
--tags "sales,q4,2024" \
--no-confirm
# Execute dataflow with authentication
domo-query-cli --token YOUR_API_TOKEN execute-dataflow 12345
# Run in read-only mode (prevents destructive operations)
domo-query-cli --read-only list-dataflows#!/bin/bash
# Monitor dataflow execution status
FLOW_ID="12345"
if domo-query-cli execute-dataflow "$FLOW_ID"; then
echo "Dataflow started successfully"
# Check execution status
domo-query-cli list-dataflow-executions "$FLOW_ID" --limit 1
else
echo "Failed to start dataflow"
exit 1
fi# List users by role with JSON output
domo-query-cli list-users --role Admin --format=json
# Get user details and export to file
domo-query-cli get-user 871428330 --export
# Find groups and export results
domo-query-cli list-groups "engineering" --export=both
domo-query-cli get-group 1324037627 --format=json
# Use offline mode with cached data
domo-query-cli get-user 871428330 --offline
domo-query-cli get-group 1324037627 --offline --export"Permission Denied"
chmod +x domo-query-cli"Developer cannot be verified"
Built with ❤️ for the Domo community
| Back | FazBrowse Home | New Git URL |