linear-sdk-cli 0.8.2 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -15
- package/COVERAGE.md +26 -25
- package/MIGRATING.md +1 -1
- package/README.md +170 -9
- package/package.json +6 -6
- package/skills/linear-sdk-cli/SKILL.md +98 -0
- package/skills/linear-sdk-cli/references/auth.md +31 -0
- package/skills/linear-sdk-cli/references/config.md +13 -9
- package/skills/linear-sdk-cli/references/issue.md +3 -2
- package/skills/linear-sdk-cli/references/release-note.md +148 -0
- package/skills/linear-sdk-cli/references/release-pipeline.md +137 -0
- package/skills/linear-sdk-cli/references/release-stage.md +121 -0
- package/skills/linear-sdk-cli/references/release.md +348 -0
- package/src/cli.ts +8 -0
- package/src/commands/issue.ts +9 -3
- package/src/commands/meta.ts +82 -2
- package/src/commands/release-note.ts +90 -0
- package/src/commands/release-pipeline.ts +122 -0
- package/src/commands/release-stage.ts +100 -0
- package/src/commands/release.ts +254 -0
- package/src/config.ts +254 -6
- package/src/lib/keyring.ts +28 -0
- package/src/lib/options.ts +18 -0
- package/src/lib/output-shapes.ts +68 -1
- package/src/lib/release-input.ts +138 -0
- package/src/services/issue.ts +12 -3
- package/src/services/release.ts +691 -0
|
@@ -122,6 +122,23 @@ The CLI supports distinct human, hosted-app, and personal-key lifecycles:
|
|
|
122
122
|
|
|
123
123
|
Login associates the authenticated workspace with the discovered project config, or creates `.linear.toml` at the Git root (cwd outside Git). Use `--no-project` for credential-only login; JSON reports `projectConfigPath` or null. Credentials stay global. Workspace selection is `--workspace` → `LINEAR_WORKSPACE` → project config → optional global default. A sole stored workspace is automatic; multiple unselected workspaces prompt only interactively and fail in JSON/noninteractive mode. Login/adoption/logout never assign a new default. Existing legacy defaults remain valid because their original intent is unknown; `auth default` is an explicit convenience.
|
|
124
124
|
|
|
125
|
+
When a workspace URL slug changes, use `linear auth rename <old-slug> <new-slug> --json`
|
|
126
|
+
for an existing API-key profile. It validates the exact stored key's current organization/slug,
|
|
127
|
+
ignores environment credentials, preserves storage/team/default metadata, and refuses destination
|
|
128
|
+
collisions (including unlisted keyring records). Keyring moves require atomic create-only support
|
|
129
|
+
(macOS Keychain). Linux Secret Service keyring entries are refused before changes; file-only profiles
|
|
130
|
+
remain supported. API-key profiles have no historical organization ID; the unchanged stored key proves
|
|
131
|
+
its organization, returned in `organization`. Never export the key or
|
|
132
|
+
combine login/logout to rename it. If interrupted, repeat the same command to resume its non-secret
|
|
133
|
+
recovery marker; do not log out, replace, or migrate either profile while recovery is pending.
|
|
134
|
+
Project files stay unchanged: inspect `checkedProjectConfigs`, `projectConfigUpdates`, and
|
|
135
|
+
`globalConfigUpdates`, then update the authorized selectors separately. Supply
|
|
136
|
+
`--project-config /absolute/path/.linear.toml` to inspect additional known configs. Other repositories
|
|
137
|
+
and `LINEAR_WORKSPACE` overrides require a separate check; discovery is not machine-wide.
|
|
138
|
+
OAuth user/app profiles and dormant OAuth records are explicitly unsupported and left untouched:
|
|
139
|
+
user refresh-token rotation needs coordination, and app token exchange has scope/revocation effects.
|
|
140
|
+
The command performs no OAuth refresh, exchange, browser authorization, or revocation.
|
|
141
|
+
|
|
125
142
|
An explicit credential flag overrides environment credentials. If both credential kinds occur at
|
|
126
143
|
the same precedence level, the CLI fails rather than silently choosing an actor. Inspect resolution
|
|
127
144
|
with `linear auth status`. `linear auth token` exports stored API keys only and never OAuth tokens.
|
|
@@ -135,6 +152,16 @@ forbidden errors include stable `error.details` with the required scope and reme
|
|
|
135
152
|
|
|
136
153
|
## Agent best practices
|
|
137
154
|
|
|
155
|
+
Folder defaults: `linear config set project "My Project" --path .linear.toml` associates the
|
|
156
|
+
current folder and descendants with a Linear project (name or UUID). Include `team` and
|
|
157
|
+
`workspace` in that file when needed; discovery reads the nearest config without merging
|
|
158
|
+
ancestor files. Omit `--path` to edit the discovered config, or create one at the Git root
|
|
159
|
+
(cwd outside Git). `linear config show --json` reports `project` and `origins.project`.
|
|
160
|
+
`issue create` / `issue new` uses the default; `--project` overrides it, a parent's project
|
|
161
|
+
takes precedence over it, and `--no-project` suppresses config, parent, and template defaults.
|
|
162
|
+
`LINEAR_PROJECT` overrides file defaults. List/search/update commands do not inherit this
|
|
163
|
+
project selection. Remove the config's `project` line to clear the association.
|
|
164
|
+
|
|
138
165
|
This CLI is built for non-interactive use. Follow these and it will never hang and
|
|
139
166
|
always emit parseable output.
|
|
140
167
|
|
|
@@ -318,6 +345,40 @@ Lead with these two machine-readable commands:
|
|
|
318
345
|
grep -n 'type Issue ' "${TMPDIR:-/tmp}/linear.graphql"
|
|
319
346
|
```
|
|
320
347
|
|
|
348
|
+
### Releases and CI
|
|
349
|
+
|
|
350
|
+
Use `release-pipeline list`, `release-stage list <pipeline>`, and `release list --pipeline <id|slug>`
|
|
351
|
+
to inspect releases. Pipeline/release lookups accept UUIDs or API slugs, not display names.
|
|
352
|
+
Releases require Business/Enterprise; successful schema introspection or an empty list does not
|
|
353
|
+
prove mutation permission or plan eligibility. Preserve `feature_not_accessible`/`forbidden` errors.
|
|
354
|
+
|
|
355
|
+
Native commands use ordinary CLI OAuth/API credentials. Pipeline access keys and
|
|
356
|
+
`LINEAR_ACCESS_KEY` belong to the official [linear-release](https://github.com/linear/linear-release)
|
|
357
|
+
CI tool; this CLI does not consume them or install/invoke that tool. Use the official tool for Git
|
|
358
|
+
scanning, path filtering, revert handling and PR attribution. Native `release sync` takes explicit
|
|
359
|
+
`--issue KEY-123[=FULL_SHA]` references and never scans the checkout.
|
|
360
|
+
|
|
361
|
+
For scheduled releases, prepare with `release create --pipeline <id> --name <name>
|
|
362
|
+
--release-version <version> --commit-sha <full-sha> --stage <planned-stage-id>`. Set exact membership
|
|
363
|
+
with `release add-issue <release-id> <issue>`. `release update <id> --stage <stage-id>` edits an exact
|
|
364
|
+
release; `release update-version --pipeline <id> --release-version <version> --stage <name>` can
|
|
365
|
+
also attach repeated `--link Label=URL`. Freeze a started stage with `release-stage update <id>
|
|
366
|
+
--frozen true` to exclude its releases from automated sync, while keeping one started stage unfrozen.
|
|
367
|
+
|
|
368
|
+
`sync`, `update-version` and `complete` require a pipeline AND version; no latest fallback is used.
|
|
369
|
+
Scheduled sync can label an unversioned started release or create a release; continuous sync creates
|
|
370
|
+
a completed release immediately. Synced references accumulate; omission does not remove issues.
|
|
371
|
+
Use `--reverted-issue` or `release remove-issue <id> <issue> --yes` for explicit removal.
|
|
372
|
+
Complete only after separately authorized deployment/verification/observation gates pass. Completion
|
|
373
|
+
and transitions to a completed stage may move open issues into another release according to the
|
|
374
|
+
pipeline's rollover setting. `complete --commit-sha` preserves an existing SHA when targeting a
|
|
375
|
+
version: set/verify it using create/update first. No command deploys code or proves verification.
|
|
376
|
+
|
|
377
|
+
`release-note create --pipeline <id> --release <id> --body-file <path>` supports repeated release
|
|
378
|
+
IDs or a paired `--from-release`/`--to-release` inclusive createdAt range, all in the same pipeline.
|
|
379
|
+
Use file/stdin body input, inspect `release-note view`, and keep release-note deletion confirmation
|
|
380
|
+
and exact membership removal explicit. Archive/trash and advanced operations remain under `api`.
|
|
381
|
+
|
|
321
382
|
## Available commands
|
|
322
383
|
|
|
323
384
|
Generated from `linear commands --json` (run `bun run skill:docs` to refresh):
|
|
@@ -339,6 +400,7 @@ linear auth list
|
|
|
339
400
|
linear auth login
|
|
340
401
|
linear auth logout
|
|
341
402
|
linear auth migrate
|
|
403
|
+
linear auth rename
|
|
342
404
|
linear auth status
|
|
343
405
|
linear auth token
|
|
344
406
|
linear auth whoami
|
|
@@ -498,6 +560,38 @@ linear project-update
|
|
|
498
560
|
linear project-update create
|
|
499
561
|
linear project-update list
|
|
500
562
|
|
|
563
|
+
linear release
|
|
564
|
+
linear release add-issue
|
|
565
|
+
linear release complete
|
|
566
|
+
linear release create
|
|
567
|
+
linear release issues
|
|
568
|
+
linear release links
|
|
569
|
+
linear release list
|
|
570
|
+
linear release remove-issue
|
|
571
|
+
linear release sync
|
|
572
|
+
linear release update
|
|
573
|
+
linear release update-version
|
|
574
|
+
linear release view
|
|
575
|
+
|
|
576
|
+
linear release-note
|
|
577
|
+
linear release-note create
|
|
578
|
+
linear release-note delete
|
|
579
|
+
linear release-note list
|
|
580
|
+
linear release-note update
|
|
581
|
+
linear release-note view
|
|
582
|
+
|
|
583
|
+
linear release-pipeline
|
|
584
|
+
linear release-pipeline create
|
|
585
|
+
linear release-pipeline list
|
|
586
|
+
linear release-pipeline update
|
|
587
|
+
linear release-pipeline view
|
|
588
|
+
|
|
589
|
+
linear release-stage
|
|
590
|
+
linear release-stage create
|
|
591
|
+
linear release-stage list
|
|
592
|
+
linear release-stage update
|
|
593
|
+
linear release-stage view
|
|
594
|
+
|
|
501
595
|
linear roadmap
|
|
502
596
|
linear roadmap create
|
|
503
597
|
linear roadmap delete
|
|
@@ -570,6 +664,10 @@ prints the same). These are supplementary — `--help` on any command is authori
|
|
|
570
664
|
- [project-label](references/project-label.md) — Manage project labels (distinct from issue labels)
|
|
571
665
|
- [project-status](references/project-status.md) — Manage workspace project-status definitions
|
|
572
666
|
- [project-update](references/project-update.md) — Post and list project status updates
|
|
667
|
+
- [release](references/release.md) — Track releases, lifecycle and issue membership
|
|
668
|
+
- [release-pipeline](references/release-pipeline.md) — Manage release pipelines
|
|
669
|
+
- [release-stage](references/release-stage.md) — Manage release stages and freezing
|
|
670
|
+
- [release-note](references/release-note.md) — Manage Markdown release notes
|
|
573
671
|
- [roadmap](references/roadmap.md) — Work with roadmaps
|
|
574
672
|
- [schema](references/schema.md) — Print the Linear GraphQL schema as SDL
|
|
575
673
|
- [state](references/state.md) — Inspect workflow states
|
|
@@ -144,6 +144,37 @@ migrated: string[]
|
|
|
144
144
|
path: string
|
|
145
145
|
```
|
|
146
146
|
|
|
147
|
+
### `linear auth rename`
|
|
148
|
+
|
|
149
|
+
Rename a stored API-key profile after its Linear workspace URL slug changes
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
linear auth rename [options] <old-slug> <new-slug>
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
| Option | Description |
|
|
156
|
+
| ----------------------------- | -------------------------------------------------------------------------- |
|
|
157
|
+
| `--project-config <paths...>` | also inspect these project configs for old workspace selectors (read-only) |
|
|
158
|
+
|
|
159
|
+
**Output (`--json`)**: a receipt object
|
|
160
|
+
|
|
161
|
+
```text
|
|
162
|
+
success: boolean
|
|
163
|
+
from: string
|
|
164
|
+
workspace: string
|
|
165
|
+
credentialType: string
|
|
166
|
+
organization: {id: string, name: string, urlKey: string}
|
|
167
|
+
path: string
|
|
168
|
+
storage: string
|
|
169
|
+
team: string | null
|
|
170
|
+
defaultWorkspace: string | null
|
|
171
|
+
referenceCredentialsPath: string | null
|
|
172
|
+
checkedProjectConfigs: string[]
|
|
173
|
+
projectConfigUpdates: Array<{path: string, key: string, from: string, to: string}>
|
|
174
|
+
globalConfigUpdates: Array<{path: string, key: string, from: string, to: string}>
|
|
175
|
+
otherProjects: string
|
|
176
|
+
```
|
|
177
|
+
|
|
147
178
|
### `linear auth status`
|
|
148
179
|
|
|
149
180
|
Show where the active credential is resolved from (value redacted)
|
|
@@ -25,8 +25,9 @@ credentialWorkspace: string | null
|
|
|
25
25
|
workspaceProfile: string | null
|
|
26
26
|
team: string | null
|
|
27
27
|
workspace: string | null
|
|
28
|
+
project: string | null
|
|
28
29
|
sort: string
|
|
29
|
-
origins: {team: {source: string, path?: string, key?: string, workspace?: string}, workspace: {source: string, path?: string, key?: string, workspace?: string}, sort: {source: string, path?: string, key?: string, workspace?: string}}
|
|
30
|
+
origins: {team: {source: string, path?: string, key?: string, workspace?: string}, workspace: {source: string, path?: string, key?: string, workspace?: string}, project: {source: string, path?: string, key?: string, workspace?: string}, sort: {source: string, path?: string, key?: string, workspace?: string}}
|
|
30
31
|
userConfigPath: string
|
|
31
32
|
projectConfigPath: string | null
|
|
32
33
|
globalConfigPath: string | null
|
|
@@ -40,12 +41,13 @@ Write a project .linear.toml (at the git root, or here outside a repository)
|
|
|
40
41
|
linear config init [options]
|
|
41
42
|
```
|
|
42
43
|
|
|
43
|
-
| Option
|
|
44
|
-
|
|
|
45
|
-
| `--team <key>`
|
|
46
|
-
| `--
|
|
47
|
-
| `--
|
|
48
|
-
| `--
|
|
44
|
+
| Option | Description |
|
|
45
|
+
| ---------------------- | ------------------------------------------------------------------ |
|
|
46
|
+
| `--team <key>` | default team key (otherwise chosen from a list) |
|
|
47
|
+
| `--project <name\|id>` | default Linear project for new issues |
|
|
48
|
+
| `--sort <order>` | default issue-list sort (priority \| manual \| updated \| created) |
|
|
49
|
+
| `--path <file>` | write this file instead of <git root>/.linear.toml |
|
|
50
|
+
| `--force` | overwrite an existing file |
|
|
49
51
|
|
|
50
52
|
**Output (`--json`)**: a receipt object
|
|
51
53
|
|
|
@@ -54,11 +56,12 @@ success: boolean
|
|
|
54
56
|
path: string
|
|
55
57
|
team: string
|
|
56
58
|
sort?: string
|
|
59
|
+
project?: string
|
|
57
60
|
```
|
|
58
61
|
|
|
59
62
|
### `linear config set`
|
|
60
63
|
|
|
61
|
-
Set one project or user setting (team, workspace, sort)
|
|
64
|
+
Set one project or user setting (team, workspace, sort, project)
|
|
62
65
|
|
|
63
66
|
```
|
|
64
67
|
linear config set [options] <key> <value>
|
|
@@ -98,8 +101,9 @@ credentialWorkspace: string | null
|
|
|
98
101
|
workspaceProfile: string | null
|
|
99
102
|
team: string | null
|
|
100
103
|
workspace: string | null
|
|
104
|
+
project: string | null
|
|
101
105
|
sort: string
|
|
102
|
-
origins: {team: {source: string, path?: string, key?: string, workspace?: string}, workspace: {source: string, path?: string, key?: string, workspace?: string}, sort: {source: string, path?: string, key?: string, workspace?: string}}
|
|
106
|
+
origins: {team: {source: string, path?: string, key?: string, workspace?: string}, workspace: {source: string, path?: string, key?: string, workspace?: string}, project: {source: string, path?: string, key?: string, workspace?: string}, sort: {source: string, path?: string, key?: string, workspace?: string}}
|
|
103
107
|
userConfigPath: string
|
|
104
108
|
projectConfigPath: string | null
|
|
105
109
|
globalConfigPath: string | null
|
|
@@ -378,8 +378,9 @@ linear issue create [options]
|
|
|
378
378
|
| `-s, --state <name>` | workflow state name or type |
|
|
379
379
|
| `-P, --priority <0-4>` | priority |
|
|
380
380
|
| `-l, --label <name>` | label (repeatable / comma-separated) |
|
|
381
|
-
| `-p, --project <name>` | project name or id
|
|
382
|
-
| `--
|
|
381
|
+
| `-p, --project <name>` | project name or id (overrides the configured default) |
|
|
382
|
+
| `--no-project` | create outside any project, ignoring configured and parent defaults |
|
|
383
|
+
| `--milestone <name>` | project milestone (requires an explicit, configured, or parent project) |
|
|
383
384
|
| `--cycle <n>` | cycle number, name, id, or 'current' |
|
|
384
385
|
| `--estimate <n>` | estimate points |
|
|
385
386
|
| `--parent <id>` | parent issue id (the sub-issue joins the parent's project unless --project says otherwise) |
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# linear release-note
|
|
2
|
+
|
|
3
|
+
> Manage Markdown notes covering one or more releases
|
|
4
|
+
|
|
5
|
+
_Generated from `linear commands --json`. `linear release-note --help` (or `<subcommand> --help`) is authoritative._
|
|
6
|
+
|
|
7
|
+
Every command also accepts the global flags `-j/--json`, `--no-input`, `-y/--yes`, `-q/--quiet`, `--workspace <slug>`, `--api-key <key>`, `--access-token <token>`, `-t/--team <key>`, `-n/--limit <n>`, `--all`, `-f/--fields <a,b,c>`, `--no-ansi` (alias `--no-color`), and `--debug`. Only command-specific options are listed below.
|
|
8
|
+
|
|
9
|
+
### `linear release-note`
|
|
10
|
+
|
|
11
|
+
Manage Markdown notes covering one or more releases
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
linear release-note [options]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### `linear release-note create`
|
|
18
|
+
|
|
19
|
+
Create a note for explicit releases or an inclusive createdAt range
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
linear release-note create [options]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
| Option | Description |
|
|
26
|
+
| ----------------------- | ---------------------------------------------- |
|
|
27
|
+
| `--title <title>` | release note title |
|
|
28
|
+
| `--body <text>` | release note body (Markdown) |
|
|
29
|
+
| `--body-file <path>` | read Markdown from file ('-' for stdin) |
|
|
30
|
+
| `--release <id>` | covered release UUID or slug (repeatable) |
|
|
31
|
+
| `--from-release <id>` | oldest release in an inclusive createdAt range |
|
|
32
|
+
| `--to-release <id>` | newest release in the inclusive range |
|
|
33
|
+
| `--pipeline <id\|slug>` | pipeline UUID or slug |
|
|
34
|
+
|
|
35
|
+
**Output (`--json`)**: a receipt object
|
|
36
|
+
|
|
37
|
+
```text
|
|
38
|
+
id: string
|
|
39
|
+
title: string | null
|
|
40
|
+
url: string
|
|
41
|
+
pipeline: {id: string, name: string}
|
|
42
|
+
releaseCount: number
|
|
43
|
+
firstRelease: {id: string, name: string} | null
|
|
44
|
+
lastRelease: {id: string, name: string} | null
|
|
45
|
+
generationStatus: string | null
|
|
46
|
+
archivedAt: string | null
|
|
47
|
+
content: string | null
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### `linear release-note delete`
|
|
51
|
+
|
|
52
|
+
Delete a release note by UUID or slug
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
linear release-note delete [options] <id>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**Output (`--json`)**: a receipt object
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
id: string
|
|
62
|
+
deleted: boolean
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### `linear release-note list`
|
|
66
|
+
|
|
67
|
+
List release notes with optional pipeline/release filters
|
|
68
|
+
|
|
69
|
+
Aliases: `ls`
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
linear release-note list [options]
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
| Option | Description |
|
|
76
|
+
| ----------------------- | -------------------------------------- |
|
|
77
|
+
| `--pipeline <id\|slug>` | filter by pipeline UUID or slug |
|
|
78
|
+
| `--release <id>` | filter by covered release UUID or slug |
|
|
79
|
+
| `--include-archived` | include archived notes |
|
|
80
|
+
|
|
81
|
+
**Output (`--json`)**: a bare array of objects
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
id: string
|
|
85
|
+
title: string | null
|
|
86
|
+
url: string
|
|
87
|
+
pipeline: {id: string, name: string}
|
|
88
|
+
releaseCount: number
|
|
89
|
+
firstRelease: {id: string, name: string} | null
|
|
90
|
+
lastRelease: {id: string, name: string} | null
|
|
91
|
+
generationStatus: string | null
|
|
92
|
+
archivedAt: string | null
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### `linear release-note update`
|
|
96
|
+
|
|
97
|
+
Update a note's title, Markdown, or covered releases
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
linear release-note update [options] <id>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
| Option | Description |
|
|
104
|
+
| --------------------- | ---------------------------------------------- |
|
|
105
|
+
| `--title <title>` | release note title |
|
|
106
|
+
| `--body <text>` | release note body (Markdown) |
|
|
107
|
+
| `--body-file <path>` | read Markdown from file ('-' for stdin) |
|
|
108
|
+
| `--release <id>` | covered release UUID or slug (repeatable) |
|
|
109
|
+
| `--from-release <id>` | oldest release in an inclusive createdAt range |
|
|
110
|
+
| `--to-release <id>` | newest release in the inclusive range |
|
|
111
|
+
|
|
112
|
+
**Output (`--json`)**: a receipt object
|
|
113
|
+
|
|
114
|
+
```text
|
|
115
|
+
id: string
|
|
116
|
+
title: string | null
|
|
117
|
+
url: string
|
|
118
|
+
pipeline: {id: string, name: string}
|
|
119
|
+
releaseCount: number
|
|
120
|
+
firstRelease: {id: string, name: string} | null
|
|
121
|
+
lastRelease: {id: string, name: string} | null
|
|
122
|
+
generationStatus: string | null
|
|
123
|
+
archivedAt: string | null
|
|
124
|
+
content: string | null
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### `linear release-note view`
|
|
128
|
+
|
|
129
|
+
Show a release note and its Markdown body by UUID or slug
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
linear release-note view [options] <id>
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
**Output (`--json`)**: a bare object
|
|
136
|
+
|
|
137
|
+
```text
|
|
138
|
+
id: string
|
|
139
|
+
title: string | null
|
|
140
|
+
url: string
|
|
141
|
+
pipeline: {id: string, name: string}
|
|
142
|
+
releaseCount: number
|
|
143
|
+
firstRelease: {id: string, name: string} | null
|
|
144
|
+
lastRelease: {id: string, name: string} | null
|
|
145
|
+
generationStatus: string | null
|
|
146
|
+
archivedAt: string | null
|
|
147
|
+
content: string | null
|
|
148
|
+
```
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# linear release-pipeline
|
|
2
|
+
|
|
3
|
+
> Manage release pipelines (Business/Enterprise)
|
|
4
|
+
|
|
5
|
+
_Generated from `linear commands --json`. `linear release-pipeline --help` (or `<subcommand> --help`) is authoritative._
|
|
6
|
+
|
|
7
|
+
Every command also accepts the global flags `-j/--json`, `--no-input`, `-y/--yes`, `-q/--quiet`, `--workspace <slug>`, `--api-key <key>`, `--access-token <token>`, `-t/--team <key>`, `-n/--limit <n>`, `--all`, `-f/--fields <a,b,c>`, `--no-ansi` (alias `--no-color`), and `--debug`. Only command-specific options are listed below.
|
|
8
|
+
|
|
9
|
+
### `linear release-pipeline`
|
|
10
|
+
|
|
11
|
+
Manage release pipelines (Business/Enterprise)
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
linear release-pipeline [options]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### `linear release-pipeline create`
|
|
18
|
+
|
|
19
|
+
Create a pipeline with default stages
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
linear release-pipeline create [options]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
| Option | Description |
|
|
26
|
+
| -------------------------------- | -------------------------------------------------------------------------- |
|
|
27
|
+
| `--name <name>` | pipeline name |
|
|
28
|
+
| `--type <type>` | pipeline type |
|
|
29
|
+
| `--production <boolean>` | whether pipeline targets production (true\|false) |
|
|
30
|
+
| `--auto-release-notes <boolean>` | automatically generate notes on completion (true\|false) |
|
|
31
|
+
| `--rollover-issues <boolean>` | move open issues to the next scheduled release on completion (true\|false) |
|
|
32
|
+
| `--include-path <glob>` | replace path patterns with these globs (repeatable) |
|
|
33
|
+
| `--clear-paths` | clear all path filters |
|
|
34
|
+
| `--team-id <uuid>` | replace associated teams with these UUIDs (repeatable) |
|
|
35
|
+
| `--clear-teams` | clear team associations |
|
|
36
|
+
|
|
37
|
+
**Output (`--json`)**: a receipt object
|
|
38
|
+
|
|
39
|
+
```text
|
|
40
|
+
id: string
|
|
41
|
+
name: string
|
|
42
|
+
slugId: string
|
|
43
|
+
type: string
|
|
44
|
+
url: string
|
|
45
|
+
isProduction: boolean
|
|
46
|
+
autoGenerateReleaseNotesOnCompletion: boolean
|
|
47
|
+
rolloverIssuesOnCompletion: boolean
|
|
48
|
+
includePathPatterns: string[]
|
|
49
|
+
archivedAt: string | null
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### `linear release-pipeline list`
|
|
53
|
+
|
|
54
|
+
List workspace release pipelines
|
|
55
|
+
|
|
56
|
+
Aliases: `ls`
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
linear release-pipeline list [options]
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
| Option | Description |
|
|
63
|
+
| -------------------- | -------------------------- |
|
|
64
|
+
| `--include-archived` | include archived pipelines |
|
|
65
|
+
|
|
66
|
+
**Output (`--json`)**: a bare array of objects
|
|
67
|
+
|
|
68
|
+
```text
|
|
69
|
+
id: string
|
|
70
|
+
name: string
|
|
71
|
+
slugId: string
|
|
72
|
+
type: string
|
|
73
|
+
url: string
|
|
74
|
+
isProduction: boolean
|
|
75
|
+
autoGenerateReleaseNotesOnCompletion: boolean
|
|
76
|
+
rolloverIssuesOnCompletion: boolean
|
|
77
|
+
includePathPatterns: string[]
|
|
78
|
+
archivedAt: string | null
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### `linear release-pipeline update`
|
|
82
|
+
|
|
83
|
+
Update pipeline settings by UUID or slug
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
linear release-pipeline update [options] <id>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
| Option | Description |
|
|
90
|
+
| -------------------------------- | -------------------------------------------------------------------------- |
|
|
91
|
+
| `--name <name>` | pipeline name |
|
|
92
|
+
| `--type <type>` | pipeline type |
|
|
93
|
+
| `--production <boolean>` | whether pipeline targets production (true\|false) |
|
|
94
|
+
| `--auto-release-notes <boolean>` | automatically generate notes on completion (true\|false) |
|
|
95
|
+
| `--rollover-issues <boolean>` | move open issues to the next scheduled release on completion (true\|false) |
|
|
96
|
+
| `--include-path <glob>` | replace path patterns with these globs (repeatable) |
|
|
97
|
+
| `--clear-paths` | clear all path filters |
|
|
98
|
+
| `--team-id <uuid>` | replace associated teams with these UUIDs (repeatable) |
|
|
99
|
+
| `--clear-teams` | clear team associations |
|
|
100
|
+
|
|
101
|
+
**Output (`--json`)**: a receipt object
|
|
102
|
+
|
|
103
|
+
```text
|
|
104
|
+
id: string
|
|
105
|
+
name: string
|
|
106
|
+
slugId: string
|
|
107
|
+
type: string
|
|
108
|
+
url: string
|
|
109
|
+
isProduction: boolean
|
|
110
|
+
autoGenerateReleaseNotesOnCompletion: boolean
|
|
111
|
+
rolloverIssuesOnCompletion: boolean
|
|
112
|
+
includePathPatterns: string[]
|
|
113
|
+
archivedAt: string | null
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### `linear release-pipeline view`
|
|
117
|
+
|
|
118
|
+
Show pipeline settings by UUID or slug
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
linear release-pipeline view [options] <id>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**Output (`--json`)**: a bare object
|
|
125
|
+
|
|
126
|
+
```text
|
|
127
|
+
id: string
|
|
128
|
+
name: string
|
|
129
|
+
slugId: string
|
|
130
|
+
type: string
|
|
131
|
+
url: string
|
|
132
|
+
isProduction: boolean
|
|
133
|
+
autoGenerateReleaseNotesOnCompletion: boolean
|
|
134
|
+
rolloverIssuesOnCompletion: boolean
|
|
135
|
+
includePathPatterns: string[]
|
|
136
|
+
archivedAt: string | null
|
|
137
|
+
```
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# linear release-stage
|
|
2
|
+
|
|
3
|
+
> Manage release stages and freeze scheduled release scope
|
|
4
|
+
|
|
5
|
+
_Generated from `linear commands --json`. `linear release-stage --help` (or `<subcommand> --help`) is authoritative._
|
|
6
|
+
|
|
7
|
+
Every command also accepts the global flags `-j/--json`, `--no-input`, `-y/--yes`, `-q/--quiet`, `--workspace <slug>`, `--api-key <key>`, `--access-token <token>`, `-t/--team <key>`, `-n/--limit <n>`, `--all`, `-f/--fields <a,b,c>`, `--no-ansi` (alias `--no-color`), and `--debug`. Only command-specific options are listed below.
|
|
8
|
+
|
|
9
|
+
### `linear release-stage`
|
|
10
|
+
|
|
11
|
+
Manage release stages and freeze scheduled release scope
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
linear release-stage [options]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### `linear release-stage create`
|
|
18
|
+
|
|
19
|
+
Create a stage in a release pipeline
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
linear release-stage create [options]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
| Option | Description |
|
|
26
|
+
| ----------------------- | ------------------------------------------------------------ |
|
|
27
|
+
| `--name <name>` | stage name |
|
|
28
|
+
| `--color <hex>` | six-digit HEX color |
|
|
29
|
+
| `--position <number>` | stage ordering position |
|
|
30
|
+
| `--frozen <boolean>` | exclude this started stage from automated sync (true\|false) |
|
|
31
|
+
| `--pipeline <id\|slug>` | pipeline UUID or slug |
|
|
32
|
+
| `--type <type>` | lifecycle stage type |
|
|
33
|
+
|
|
34
|
+
**Output (`--json`)**: a receipt object
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
id: string
|
|
38
|
+
name: string
|
|
39
|
+
type: string
|
|
40
|
+
color: string
|
|
41
|
+
position: number
|
|
42
|
+
frozen: boolean
|
|
43
|
+
pipeline: {id: string, name: string}
|
|
44
|
+
archivedAt: string | null
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### `linear release-stage list`
|
|
48
|
+
|
|
49
|
+
List stages for a pipeline UUID or slug
|
|
50
|
+
|
|
51
|
+
Aliases: `ls`
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
linear release-stage list [options] <pipeline>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
| Option | Description |
|
|
58
|
+
| -------------------- | ----------------------- |
|
|
59
|
+
| `--include-archived` | include archived stages |
|
|
60
|
+
|
|
61
|
+
**Output (`--json`)**: a bare array of objects
|
|
62
|
+
|
|
63
|
+
```text
|
|
64
|
+
id: string
|
|
65
|
+
name: string
|
|
66
|
+
type: string
|
|
67
|
+
color: string
|
|
68
|
+
position: number
|
|
69
|
+
frozen: boolean
|
|
70
|
+
pipeline: {id: string, name: string}
|
|
71
|
+
archivedAt: string | null
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### `linear release-stage update`
|
|
75
|
+
|
|
76
|
+
Update name, color, order, or frozen state by stage UUID
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
linear release-stage update [options] <id>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
| Option | Description |
|
|
83
|
+
| --------------------- | ------------------------------------------------------------ |
|
|
84
|
+
| `--name <name>` | stage name |
|
|
85
|
+
| `--color <hex>` | six-digit HEX color |
|
|
86
|
+
| `--position <number>` | stage ordering position |
|
|
87
|
+
| `--frozen <boolean>` | exclude this started stage from automated sync (true\|false) |
|
|
88
|
+
|
|
89
|
+
**Output (`--json`)**: a receipt object
|
|
90
|
+
|
|
91
|
+
```text
|
|
92
|
+
id: string
|
|
93
|
+
name: string
|
|
94
|
+
type: string
|
|
95
|
+
color: string
|
|
96
|
+
position: number
|
|
97
|
+
frozen: boolean
|
|
98
|
+
pipeline: {id: string, name: string}
|
|
99
|
+
archivedAt: string | null
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### `linear release-stage view`
|
|
103
|
+
|
|
104
|
+
Show a release stage by UUID
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
linear release-stage view [options] <id>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Output (`--json`)**: a bare object
|
|
111
|
+
|
|
112
|
+
```text
|
|
113
|
+
id: string
|
|
114
|
+
name: string
|
|
115
|
+
type: string
|
|
116
|
+
color: string
|
|
117
|
+
position: number
|
|
118
|
+
frozen: boolean
|
|
119
|
+
pipeline: {id: string, name: string}
|
|
120
|
+
archivedAt: string | null
|
|
121
|
+
```
|