atlass 2.0.0 → 2.2.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/README.md CHANGED
@@ -72,9 +72,10 @@ Writes `PROJ-123.md` or `123456-title-slug.md` to the current directory, with
72
72
  attachments in a sibling `<name>.assets/` folder. Pass `--out` with a directory
73
73
  or file path to write elsewhere. Existing files are overwritten.
74
74
 
75
- Each file has YAML frontmatter, an H1, the body as Markdown, a `## Comments`
76
- section, and an `## Attachments` section. Inline images link to the local copy
77
- when they can be matched to an attachment.
75
+ Each file has YAML frontmatter, an H1, the body as Markdown, then a
76
+ `<!-- atlass:generated -->` line followed by the `## Comments` and
77
+ `## Attachments` sections. Inline images link to the local copy when they can be
78
+ matched to an attachment.
78
79
 
79
80
  ## Update
80
81
 
@@ -88,8 +89,13 @@ atlass confluence update file.md --title # also push the H1 as the title
88
89
  atlass confluence update file.md -m "fix typo"
89
90
  ```
90
91
 
91
- Both accept `--dry-run` to preview and `--force` to skip the checks below. The
92
- body sent is everything between the H1 and `## Comments`.
92
+ Both accept `--dry-run` to preview and `--force` to skip the checks below. A
93
+ Confluence dry run also prints a diff of the body against the server. A dry run
94
+ exits 1 when the real update would refuse, or would need to ask and cannot
95
+ because there is no terminal or `--no-input` is set.
96
+
97
+ The body sent is everything between the H1 and the `<!-- atlass:generated -->`
98
+ line, or the first `## Comments` or `## Attachments` in older copies.
93
99
 
94
100
  - The update aborts if the issue or page changed on the server since the copy.
95
101
  - Panels, macros, expands, and layouts were flattened on copy and cannot be
@@ -97,6 +103,9 @@ body sent is everything between the H1 and `## Comments`.
97
103
  overwriting.
98
104
  - Confluence uploads local images referenced in the body as attachments. Jira
99
105
  update does not support image changes yet.
106
+ - After an update, the new `updated` (and for Confluence, `version`, and `title`
107
+ with `--title`) is written back to the frontmatter, so the file can be pushed
108
+ again without a fresh copy.
100
109
 
101
110
  ## Create
102
111
 
@@ -123,6 +132,18 @@ assignees take `me`, an account id, or a name matching one assignable user.
123
132
  `--dry-run` prints the resolved payload. `--json` prints the created key, id,
124
133
  and URL. `jira fields` shows what each field expects.
125
134
 
135
+ ```bash
136
+ atlass confluence create notes.md --space DEV
137
+ atlass confluence create notes.md --space DEV --parent 123456 --star
138
+ ```
139
+
140
+ `confluence create` publishes a Markdown file as a new page. The title is the
141
+ H1, or `title` in the frontmatter. The space comes from `--space` or `space` in
142
+ the frontmatter, and the page goes under the space homepage unless `--parent`
143
+ names another page. Local images are uploaded as attachments. The file then gets
144
+ the same frontmatter as a copy, so `update` works on it straight away.
145
+ `--dry-run` previews and exits 1 if the create would be refused.
146
+
126
147
  ## List
127
148
 
128
149
  ```bash
@@ -136,9 +157,12 @@ atlass confluence list --space DOCS
136
157
  `jira list` shows issues assigned to you as `KEY Status Age Summary`, with
137
158
  In Progress first, then To Do, and the most recently updated at the top of each
138
159
  group. Done issues are left out; `--all` adds those updated in the last 30 days.
160
+ `--limit` keeps the first rows of that order; without it, all are shown.
139
161
 
140
162
  `confluence list` shows the pages you starred as `ID SPACE Age Title`, most
141
- recently updated first. `--limit` works as for search.
163
+ recently updated first. `--limit` works as for search. Star or unstar a page
164
+ with `atlass confluence star <page>` or `unstar <page>`, where `<page>` is an
165
+ id, a URL, or a copied `.md` file.
142
166
 
143
167
  For both, `--json` and `--copy` work as for search.
144
168
 
@@ -152,10 +176,12 @@ atlass confluence search "onboarding" --space DOCS --label runbook
152
176
  ```
153
177
 
154
178
  Jira filters on `--project`, `--assignee`, `--reporter`, `--status`, `--type`,
155
- `--label`, `--updated` and `--open`; Confluence on `--space`, `--label`,
156
- `--updated` and `--starred`. Repeating a flag matches any of its values;
157
- different flags must all match. `--assignee` and `--reporter` take `me`, an
158
- account id, or a name to look up. `--updated` takes `7d`, `2w`, `3m` or
179
+ `--label`, `--sprint`, `--updated` and `--open`; Confluence on `--space`,
180
+ `--label`, `--updated` and `--starred`. Repeating a flag matches any of its
181
+ values; different flags must all match. `--assignee` and `--reporter` take `me`,
182
+ an account id, or a name to look up. `--sprint` takes `active`, `future`, a
183
+ sprint id, or a sprint name; names can repeat across boards, an id cannot.
184
+ `--updated` takes `7d`, `2w`, `3m` or
159
185
  `YYYY-MM-DD`. Results sort by most recently updated and use the same columns
160
186
  as `jira list` and `confluence list`.
161
187
 
@@ -170,6 +196,19 @@ atlass confluence cql "label = runbook AND creator = currentUser()"
170
196
  to pick results interactively and copy each one, with `--out` as the target
171
197
  directory. All four work on both search commands.
172
198
 
199
+ `--field` adds a field's value to each issue on `jira search`, `jira jql` and
200
+ `jira list`:
201
+
202
+ ```bash
203
+ atlass jira search --assignee me --status Closed --field "Story Points" --json
204
+ ```
205
+
206
+ It takes a field id or a name, ignoring case, and repeats for more fields. A
207
+ name several fields share fails and lists their ids; `atlass jira fields
208
+ --search` finds the one you want. Each field becomes a column after the status.
209
+ With `--json`, each issue gains a `fields` object of raw values keyed by the
210
+ name you passed.
211
+
173
212
  Discovery aids for the filters:
174
213
 
175
214
  ```bash
@@ -177,6 +216,42 @@ atlass jira projects [query]
177
216
  atlass jira statuses [query] [--project PROJ]
178
217
  ```
179
218
 
219
+ ## Boards
220
+
221
+ ```bash
222
+ atlass jira boards [query] [--project PROJ]
223
+ atlass jira board <id|url|name> [--json]
224
+ ```
225
+
226
+ `boards` lists every board as `ID Type Name Project`, filtered by name and
227
+ project key. Boards that span projects leave the project cell empty.
228
+
229
+ `board` shows one board: the field it estimates with, its filter JQL, and each
230
+ column's statuses with their categories. A name must match exactly, ignoring
231
+ case; if several boards share it, use the id.
232
+
233
+ ## Sprints
234
+
235
+ ```bash
236
+ atlass jira sprints <id|url|name> [--state active|future|closed ...] [--limit N] [--json]
237
+ ```
238
+
239
+ Lists a board's sprints as `ID State Name Start End`, active only unless
240
+ `--state` says otherwise. Active sprints come first, then future, then closed
241
+ newest first. The board takes the same forms as `board`.
242
+
243
+ ## Fields
244
+
245
+ ```bash
246
+ atlass jira fields [--search TEXT] [--json]
247
+ ```
248
+
249
+ With no project, `fields` lists every field on the site as `ID Name Type`,
250
+ sorted by name. `--search` filters by name or id, ignoring case. The type is the
251
+ custom field's plugin type, such as `float` or `gh-sprint`, or the schema type
252
+ for system fields. `--json` carries the full schema, plugin key included. With a
253
+ project, `fields` shows the create form instead (see Create).
254
+
180
255
  ## Bitbucket
181
256
 
182
257
  `--repo` takes `workspace/slug` or a bare slug under the configured workspace,
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { n as buildStandalone, r as fail } from "./build-DMLlCHdF.mjs";
2
+ import { n as buildStandalone, r as fail } from "./build-H7eTLrf3.mjs";
3
3
  //#region src/bitbucket.ts
4
4
  buildStandalone("bitbucket").parseAsync().catch(fail);
5
5
  //#endregion