Skip to content

Accounts

An organization’s accounts are what its cards’ links, its tickets, its CI and its alerts go through. They live in the organization’s desk.toml, and you can edit them in Settings or by hand. An organization can have any number of each kind.

Acme’s settings page with its GitHub and Jira accounts

  1. Open Settings and pick the organization in the nav.
  2. Click + GitHub (or Jira, Bitbucket, GitLab, Nagios). A new card opens with its fields.
  3. Fill them in, and pick where its token comes from (below).
  4. Save (Ctrl+S).

desk rechecks the organization’s links and tickets right after saving.

Field Key
Name name optional
Host host github.com (the default), or your Enterprise host
Owners owners the users or organizations it answers for; empty: all
Token see Tokens

Two more keys are only in the file: repo = "owner/name", where cards create their issues when the organization has no Jira, and sync = false, so cards’ column moves don’t close or reopen its issues.

[[github]]
name = "globex"
owners = ["globex-org"]
# repo = "globex-org/api"
token_env = "GITHUB_GLOBEX_TOKEN"

The desk.toml reference has every key.

Every account’s token (Nagios: its password) comes from one of these. In Settings, pick it on the account’s card:

The API token’s sources: None, Vault item, Environment variable (picked), Command and In desk.toml, with DESK_DEMO_TOKEN in the field

Where the token comes from, and its field.
Source Keys
Vault item vault, item, field an item of one of the organization’s vaults, by name or id; field is password (the default), username, notes, totp or a custom field
Environment variable token_env the variable’s name; desk says so when it isn’t set
Command token_cmd a command that prints it (run with sh -c, at most 20 seconds)
In desk.toml token the value itself, in plain text
None no token: desk asks this provider nothing
[[github]]
owners = ["globex-org"]
vault = "globex" # a [[vault]] of this organization
item = "GitHub token"
# or: token_env = "GITHUB_TOKEN"
# or: token_cmd = "pass github/globex"
# or: token = "…"

A link goes through the organization’s account that matches it: for GitHub, the host and the repository’s owner (an account with no owners answers for all); for GitLab and Bitbucket, the group or workspace. Links refresh every 3 minutes, and so do the tickets, CI and alerts.

desk only asks a provider through an account with a token. A link whose organization has no matching account, or whose token comes out empty, is never fetched: its chip says no GitHub account (or GitLab, Bitbucket), its CI stays out of the CI view, and moving its card doesn’t move the ticket.

A card of Initech with the chip “PR #14 · no GitHub account”

Initech’s GitHub account answers for the owner initech, not initech-labs: this PR is never asked about.

This is on purpose: anonymous API calls see no private repositories and run out fast (GitHub allows 60 an hour per address). To fix it, add an account for that owner, or add the owner to an account’s Owners.

A link whose token is in a locked vault says locked: unlock <vault> until you unlock it: see Vaults.