Vai al contenuto principale

Comandi

Questo è il riferimento completo dei comandi di copera, raggruppati per dominio. Esegui copera <command> --help per l'elenco completo dei flag e gli esempi di qualsiasi comando.

suggerimento

La maggior parte dei comandi accetta --json per output leggibile dalle macchine, e la CLI passa automaticamente a JSON quando stdout è pipato o reindirizzato. Vedi Formati di output.

Flag globali disponibili su ogni comando: --token, --profile, --json, --output auto|json|table|plain, --quiet/-q, --no-input, --verbose.

Auth

copera auth login                   # guided browser flow
copera auth login --token=cp_pat_xxx # save a token directly
copera auth login --token # masked paste prompt, no browser
copera auth status # active profile + token source
copera auth whoami # who the token belongs to
copera auth logout # remove the stored credential

Vedi Autenticazione per i tipi di token e le modalità di login.

Boards

copera bases è un alias integrato di copera boards — usa quello che ti risulta più naturale.

copera boards list
copera boards list --query "roadmap" # search by name or description
copera boards get <board-id>

copera boards create --name "Q3 Roadmap"
copera boards create --name "CRM" --description "Sales pipeline" \
--table-name "Leads"

copera boards update <board-id> --name "Q3 Launch Plan"
copera boards update <board-id> --description "Updated plan" --icon "🚀"
copera boards delete <board-id> --force

copera boards participants add --board <board-id> \
--participant <user-or-team-id> --participant <another-id>
copera boards participants remove <participant-id> --board <board-id> --force
CLI attuale e blueprint di board

La CLI installata v0.15.0 crea una board con una table iniziale, ma il comando boards create non accetta un blueprint di colonne personalizzate. La Public API più recente, i tool MCP hostati e Ask Copera possono creare la board e fino a 32 colonne personalizzate in modo atomico e restituire i veri ID di colonna e opzione. L'input atomico di blueprint è un follow-up per una futura release della CLI; non c'è un flag --columns in v0.15.0.

[
{
"_id": "64a1b2c3d4e5f6a7b8c9d0e1",
"name": "Engineering Roadmap",
"description": "Track features, bugs, and milestones across the engineering team.",
"createdAt": "2025-03-10T09:15:42.301Z",
"updatedAt": "2026-02-18T11:30:05.128Z"
}
]

Tables

copera tables list --board <board-id>
copera tables list --board <board-id> --query "tasks"
copera tables get <table-id> --board <board-id>

copera tables create --board <board-id> --name "Campaigns"
copera tables update <table-id> --board <board-id> --name "Launch Campaigns"
copera tables delete <table-id> --board <board-id> --force

Ogni table include lo schema completo delle colonne — columnId, label e type, più options per le colonne STATUS e DROPDOWN. Usa tables get per scoprire gli ID di colonna e di opzione di cui hai bisogno prima di creare o aggiornare righe.

Columns

copera tables columns add --board <board-id> --table <table-id> \
--label "Priority" --type STATUS \
--option "Low:green" --option "High:red"

copera tables columns update <column-id> --board <board-id> --table <table-id> \
--label "Stage"
copera tables columns update <column-id> --board <board-id> --table <table-id> \
--add-option "Blocked:red"

Nella CLI v0.15.0, --option e --add-option sono ripetibili e accettano "Label" o "Label:color". La CLI attualmente elenca TEXT, PARAGRAPH, NUMBER, MONEY, DATE, EMAIL, PHONE, WEBSITE, CHECKBOX, STATUS, DROPDOWN, LABELS, USERS, LOCATION, DESCRIPTION e FILE per --type.

La Public API supporta inoltre colonne CHECKLIST e formati DATE DATE_ISO e DATE_TIME_ISO. Quegli input sono un follow-up della CLI: v0.15.0 non elenca CHECKLIST né espone un flag per il formato DATE.

Esportare una table

copera tables export <table-id> --board <board-id> --view <view-id> \
--format CSV -o out.csv

--view è obbligatorio ed esporta le righe nella stessa forma di una view salvata. --format accetta CSV, XLSX, JSON, MARKDOWN, HTML, PDF, ZIP e ICS. -o/--output-file scrive su un percorso (predefinito: stdout; - significa pure stdout).

Rows

La CLI espone l'intero ciclo di vita delle righe — list, get, create, update, delete — più commenti, allegati, celle rich-text e autenticazione di riga.

copera rows list   --board <board-id> --table <table-id>
copera rows list --board <board-id> --table <table-id> --query "oauth"
copera rows get <row-id> --board <board-id> --table <table-id>

copera rows create --board <board-id> --table <table-id> \
--data '{"columns":[{"columnId":"<column-id>","value":"Hello"}]}'

copera rows update <row-id> --board <board-id> --table <table-id> \
--data '{"columns":[{"columnId":"<column-id>","value":"Updated"}]}'

copera rows delete <row-id> --board <board-id> --table <table-id> --force

--query cerca nelle colonne visibili e non-password della table.

Descrizioni e celle rich-text

Le righe hanno due superfici distinte di testo lungo:

  • Descrizione legacy fissa della riga — mostrata da rows get come Description (legacy). Usa rows description per leggerla. Aggiornarla non è più supportato dalla CLI.
  • Celle di colonna RICH TEXT / DESCRIPTION — colonne moderne di testo lungo. Una table può averne diverse, quindi punta a una con --column <column-id>.
# Read the legacy row description
copera rows description <row-id> --board <board-id> --table <table-id>

# Read a RICH TEXT / DESCRIPTION column cell
copera rows column-content <row-id> --board <board-id> --table <table-id> \
--column <column-id>

# Write a RICH TEXT / DESCRIPTION column cell
copera rows update-column-content <row-id> --board <board-id> --table <table-id> \
--column <column-id> --content "# Notes"

update-column-content supporta --operation replace (predefinito), append o prepend. Per trovare l'ID di una colonna della table chiamata Description, esegui copera tables get <table-id> --board <board-id> --json.

Commenti

copera rows comment  <row-id> --board <board-id> --table <table-id> \
--content "Looks good"
copera rows comments <row-id> --board <board-id> --table <table-id>

Allegati

Scarica gli allegati dalle colonne FILE o dai commenti:

# From a FILE column
copera rows attachments download <row-id> --board <board-id> --table <table-id> \
--column <column-id> --file <file-id> -o ./contract.pdf

# From a comment
copera rows comments attachments download <row-id> --board <board-id> --table <table-id> \
--comment <comment-id> --file <file-id> -o ./contract.pdf

Autenticare una riga

Verifica una coppia identifier/password rispetto alle colonne corrispondenti di una riga (ad esempio, una table di credenziali):

copera rows authenticate --board <board-id> --table <table-id> \
--identifier-column <column-id> --identifier-value "[email protected]" \
--password-column <column-id> --password-value "secret"

Supporto stdin

rows create, rows comment e rows update-column-content leggono da stdin quando il flag di contenuto è omesso:

echo '{"columns":[{"columnId":"<column-id>","value":"Hello"}]}' \
| copera rows create --board <board-id> --table <table-id>

echo "Looks good" \
| copera rows comment <row-id> --board <board-id> --table <table-id>

echo "# Notes" \
| copera rows update-column-content <row-id> --board <board-id> --table <table-id> \
--column <column-id>

Docs

I comandi Docs richiedono un Personal Access Token (cp_pat_...).

copera docs tree
copera docs tree --parent <doc-id> # subtree under a doc
copera docs search "keyword"
copera docs get <doc-id> # metadata
copera docs content <doc-id> # body as Markdown
copera docs content <doc-id> --no-cache # bypass the local cache

copera docs create --title "New Doc" --content "Initial content"
copera docs update <doc-id> --content "Replacement content"
copera docs update <doc-id> --operation append --content "More content"
copera docs metadata <doc-id> --title "New title"
copera docs delete <doc-id> --force

docs update --operation accetta replace (predefinito), append o prepend. Gli aggiornamenti di contenuto sono elaborati in modo asincrono — l'API accetta la richiesta e la applica poco dopo. docs create e docs update leggono entrambi da stdin quando --content è omesso:

cat ./notes.md | copera docs create --title "Q2 Strategy"
cat ./report.md | copera docs update <doc-id>

Drive

I comandi Drive richiedono un Personal Access Token con accesso al drive.

copera drive tree
copera drive tree --parent <folder-id> # subtree under a folder
copera drive tree --depth 5 # control nesting depth (1-10, default 3)
copera drive search "quarterly report"
copera drive get <file-id>
copera drive download <file-id> -o report.pdf
copera drive upload ./report.pdf --parent <folder-id>
copera drive upload ./project/ --parent <folder-id> # recursive directory upload
copera drive mkdir "New Folder"
copera drive mkdir "Sub Folder" --parent <folder-id>

Gli upload supportano il trasferimento multipart, l'upload ricorsivo di directory (la struttura di cartelle corrispondente viene creata automaticamente) e una barra di avanzamento nei terminali interattivi. Regolali con --chunk-size <bytes> (predefinito 10 MB) e --concurrency <n> (predefinito 4). download scrive nella directory corrente a meno che non passi -o/--dest.

Channels

copera channels list
copera channels list --query "deploy" # name, description, or participant
copera channels list --type <type> # filter by channel type
copera channels list --kind dm --participant <user-id>

copera channels message send "Hello" --channel <channel-id>
copera channels message send "Hello" --user <user-id> # DM by user ID
echo "Deploy done" | copera channels message send --channel <channel-id>

channels list --kind accetta group o dm. Per inviare un messaggio diretto, usa channels message send con --user <user-id> invece di --channel — Copera riusa il channel DM esistente se ce n'è uno. I messaggi supportano Markdown (heading, grassetto/corsivo, liste, blocchi di codice, citazioni, link):

copera channels message send "## Build Report

* **Status:** Success
* **Duration:** 3m 42s

> All tests passed." --channel <channel-id>

Workspace

copera workspace info       # workspace metadata
copera workspace members # members of the workspace
copera workspace teams # teams in the workspace

Questi richiedono un Personal Access Token.

Cerca tra i tipi di risorsa. --type è ripetibile per restringere i risultati:

copera search "contract"
copera search "contract" --type document --type driveContent

Richiede un Personal Access Token.

Notifications

copera notifications list
copera notifications read <notification-id>
copera notifications unread <notification-id>
copera notifications delete <notification-id> --force

Richiede un Personal Access Token.

Cache

La CLI mette in cache localmente il contenuto dei documenti per letture più veloci.

copera cache status   # size, file count, and cache path
copera cache clean # clear the cache

Usa copera docs content <id> --no-cache per ignorare la cache per una singola lettura senza svuotarla.

Utilities

copera version
copera version --json
copera update # update to the latest version
copera update --version 1.2.0 # pin to a specific version
copera update --force # skip the confirmation prompt

copera completion bash
copera completion zsh
copera completion fish

Pipetta l'output di completion nel file di avvio della shell per abilitare il completamento con Tab:

copera completion zsh >> ~/.zshrc                                 # zsh
copera completion bash >> ~/.bashrc # bash
copera completion fish > ~/.config/fish/completions/copera.fish # fish

Riavvia la shell o esegui source ~/.zshrc (o equivalente) per attivarlo.

Correlati