pm-jira 2026.6.2 → 2026.6.4

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 CHANGED
@@ -1,6 +1,40 @@
1
1
  # Changelog
2
2
 
3
- ## 2026.6.2 - 2026-06-02
3
+ ## 2026.6.4 - 2026-06-04
4
+
5
+ ### Other
6
+
7
+ - Export --update-existing PUT + import progress and attachment/comment transparency ([pm-jira-yhm3](https://github.com/unbraind/pm-jira/blob/main/.agents/pm/tasks/pm-jira-yhm3.toon))
8
+
9
+ ## 2026.06.03 - 2026-06-03
10
+
11
+ ### Added
12
+
13
+ - pm-jira: deepen filters/dry-run/field-mapping/validate/hooks \(enhancement brief 2026-06-03\) ([pm-jira-i7fd](https://github.com/unbraind/pm-jira/blob/main/.agents/pm/features/pm-jira-i7fd.toon))
14
+ - pm-jira: domain-max SDK enhancement \(idempotent import, preflight, rate-limit backoff\) ([pm-jira-4804](https://github.com/unbraind/pm-jira/blob/main/.agents/pm/features/pm-jira-4804.toon))
15
+ - export-on-write hook \(opt-in\) + add 'hooks' capability ([pm-jira-65ao](https://github.com/unbraind/pm-jira/blob/main/.agents/pm/tasks/pm-jira-65ao.toon))
16
+
17
+ ### Changed
18
+
19
+ - Idempotent import: match on Jira key, update instead of duplicate; persist jira\_key/jira\_url ([pm-jira-3b0b](https://github.com/unbraind/pm-jira/blob/main/.agents/pm/tasks/pm-jira-3b0b.toon))
20
+
21
+ ### Other
22
+
23
+ - Production-readiness audit 2026-05-28 ([pm-jira-fc13](https://github.com/unbraind/pm-jira/blob/main/.agents/pm/tasks/pm-jira-fc13.toon))
24
+ - preflight capability: pm jira preflight command + registerPreflight guard ([pm-jira-vfb3](https://github.com/unbraind/pm-jira/blob/main/.agents/pm/tasks/pm-jira-vfb3.toon))
25
+ - Robustness: 429/503 rate-limit backoff + Retry-After on GET/POST ([pm-jira-2up8](https://github.com/unbraind/pm-jira/blob/main/.agents/pm/tasks/pm-jira-2up8.toon))
26
+ - manifest capabilities correctness + README + tests + functional verification ([pm-jira-lu1f](https://github.com/unbraind/pm-jira/blob/main/.agents/pm/tasks/pm-jira-lu1f.toon))
27
+ - Filters: --assignee augments default JQL ([pm-jira-ia8o](https://github.com/unbraind/pm-jira/blob/main/.agents/pm/tasks/pm-jira-ia8o.toon))
28
+ - Decision: what needs live Jira creds \(not exercisable here\) ([pm-jira-49oh](https://github.com/unbraind/pm-jira/blob/main/.agents/pm/tasks/pm-jira-49oh.toon))
29
+ - Decision: hook policy \(best-effort, opt-in, no auto-push\) ([pm-jira-h5wu](https://github.com/unbraind/pm-jira/blob/main/.agents/pm/tasks/pm-jira-h5wu.toon))
30
+ - Decision: field-mapping model ([pm-jira-7y1y](https://github.com/unbraind/pm-jira/blob/main/.agents/pm/tasks/pm-jira-7y1y.toon))
31
+ - Manifest capability correctness + README ([pm-jira-wsn0](https://github.com/unbraind/pm-jira/blob/main/.agents/pm/tasks/pm-jira-wsn0.toon))
32
+ - pm jira validate diagnostics \(--json, no secret leak\) ([pm-jira-4dfb](https://github.com/unbraind/pm-jira/blob/main/.agents/pm/tasks/pm-jira-4dfb.toon))
33
+ - Field-mapping depth + --map override \(both directions\) ([pm-jira-7bmf](https://github.com/unbraind/pm-jira/blob/main/.agents/pm/tasks/pm-jira-7bmf.toon))
34
+ - --dry-run on import AND export \(no-network\), with strace proof ([pm-jira-4r5q](https://github.com/unbraind/pm-jira/blob/main/.agents/pm/tasks/pm-jira-4r5q.toon))
35
+ - JQL builder + convenience filters \(--assignee/--issue-type/--label/--updated-since\) ([pm-jira-ko1c](https://github.com/unbraind/pm-jira/blob/main/.agents/pm/tasks/pm-jira-ko1c.toon))
36
+
37
+ ## 2026.06.02 - 2026-06-02
4
38
 
5
39
  ### Added
6
40
 
package/README.md CHANGED
@@ -6,13 +6,16 @@ A [pm-cli](https://github.com/unbraind/pm-cli) extension that syncs Jira issues
6
6
 
7
7
  - Pull issues from any Jira project into pm items via `pm jira import` or `pm jira sync`
8
8
  - Export pm items back out as Jira create payloads via `pm jira export` (preview, or `--push` to create issues)
9
- - Custom JQL support for fine-grained control over what gets pulled
10
- - Automatic mapping of Jira statuses and priorities to pm equivalents, with a `--status-map` override
11
- - Labels and fix versions mapped as pm tags
12
- - Jira provenance (key + browse URL) persisted in the item description and declared as `jira_key` / `jira_url` schema fields
13
- - Dry-run mode to preview changes before writing
9
+ - **Convenience JQL filters** `--project`, `--status`, `--assignee`, `--issue-type`, `--label`, `--updated-since` compose into a single JQL query (or pass full `--jql` to override)
10
+ - **Rich field mapping** Jira status (by name, with a `statusCategory` fallback for custom workflows), priority, issue type → pm type, labels/fix-versions → tags, assignee → tag; configurable with `--status-map` and a general `--map jiraField=pmField`
11
+ - **`--dry-run` everywhere** — both import and export print the exact request / mutations they *would* make and perform **no network call** (the offline-testable, creds-free path)
12
+ - **`pm jira validate`** report Jira credential/base-URL readiness without leaking any secret (hostname-only preview); `--json` aware
13
+ - Optional, opt-in **export-on-write hook** (`PM_JIRA_PUSH_ON_WRITE`) best-effort, never breaks your pm command, no-op without credentials
14
+ - Jira provenance (key + browse URL) persisted in the item description and declared as `jira_key` / `jira_url` schema fields; on export, items that already carry a Jira key become an `update` (PUT) instead of a duplicate create
14
15
  - Works as a `pm jira sync`/`pm jira import` command, a `pm jira export` exporter, and a config-driven `jira-sync` importer
15
16
 
17
+ > **Which features need live Jira credentials?** Everything except the actual network round-trip is usable and testable offline. Building JQL, previewing requests/mutations with `--dry-run`, field mapping in both directions, and `pm jira validate` all work with **no creds and no network**. You only need `JIRA_BASE_URL` / `JIRA_EMAIL` / `JIRA_API_TOKEN` for: a real import fetch, `pm jira export --push` (creating/updating issues), and live reachability.
18
+
16
19
  ## Installation
17
20
 
18
21
  Install with pm from GitHub:
@@ -96,13 +99,47 @@ pm jira import --project PROJ --status-map "QA=blocked,Done=closed"
96
99
 
97
100
  | Flag | Type | Default | Description |
98
101
  |---|---|---|---|
99
- | `--project` | string | — | Jira project key (e.g. `PROJ`). Used to build default JQL. |
100
- | `--jql` | string | — | Custom JQL query. Overrides `--project` default JQL. |
102
+ | `--project` | string | — | Jira project key (e.g. `PROJ`). Composed into JQL. |
103
+ | `--jql` | string | — | Custom JQL query. Used verbatim; overrides all convenience filters below. |
104
+ | `--status` | string | — | Filter by pm status (`open`/`in_progress`/`closed`/`blocked`, mapped to a `statusCategory` clause) or a raw Jira status name. Also filters imported items client-side. |
105
+ | `--assignee` | string | — | Filter by assignee (accountId, name, or a function like `currentUser()`). |
106
+ | `--issue-type` | string | — | Filter by Jira issue type (e.g. `Bug`). |
107
+ | `--label` | string | — | Filter by Jira label. |
108
+ | `--updated-since` | string | — | Filter by updated date, relative (`-7d`) or absolute (`2026-01-01`). |
109
+ | `--status-map` | string | — | Override status mapping, e.g. `"In Review=in_progress,QA=blocked"`. |
110
+ | `--map` | string | — | Override field mapping, e.g. `"issuetype=Task,assignee=skip"`. |
101
111
  | `--host` | string | `$JIRA_BASE_URL` | Jira base URL override. |
102
112
  | `--max-results` | number | `500` | Maximum number of issues to pull. |
103
- | `--status` | string | | Filter by mapped pm status (`open`, `in_progress`, `closed`, `blocked`). |
104
- | `--status-map` | string | — | Override mapping, e.g. `"In Review=in_progress,QA=blocked"`. |
105
- | `--dry-run` | boolean | `false` | Preview what would be created without writing. |
113
+ | `--dry-run` | boolean | `false` | Print the JQL + exact GET request that would run; **no network call**. |
114
+
115
+ When no `--jql` is given, the convenience filters are AND-combined; if you don't
116
+ filter on status, a `statusCategory != Done` clause is appended so an unscoped
117
+ pull stays focused on active work (the historical default).
118
+
119
+ #### `--map` field overrides
120
+
121
+ `--map` accepts a comma list of `jiraField=pmTarget` pairs. Recognized Jira-side
122
+ keys: `status`, `statuscategory`, `priority`, `issuetype` (alias `type`),
123
+ `labels`, `assignee`, `duedate`. Examples:
124
+
125
+ ```bash
126
+ # Pin every imported item's type, and skip the assignee tag
127
+ pm jira import --project PROJ --map "issuetype=Task,assignee=skip"
128
+
129
+ # Force a pm status regardless of the Jira workflow state
130
+ pm jira import --project PROJ --map "status=in_progress"
131
+ ```
132
+
133
+ #### Progress + transparency notes (STDERR)
134
+
135
+ For large paginated imports the importer prints `Fetched N/total...` progress to
136
+ **STDERR** after each page, so a multi-page pull surfaces feedback instead of
137
+ looking hung. This is additive and never touches the stdout / `--json` output.
138
+
139
+ If any fetched issue carries **attachments or comments**, the importer logs a
140
+ one-line note to STDERR that those are **not imported** (pm-jira imports
141
+ title / body / status / priority / labels / due-date only). This prevents a
142
+ silent expectation that attachment or comment data came across.
106
143
 
107
144
  ### Exporter: `pm jira export`
108
145
 
@@ -113,18 +150,62 @@ Render pm items as Jira create payloads. Prints JSON by default; with `--push`
113
150
  # Preview the Jira create payloads for all pm items (no network, no creds needed)
114
151
  pm jira export --project PROJ
115
152
 
153
+ # Print the exact mutations that WOULD run (create vs update), no network/creds
154
+ pm jira export --project PROJ --dry-run
155
+
156
+ # Derive Jira issuetype + priority from each pm item's type/priority
157
+ pm jira export --project PROJ --rich --dry-run
158
+
116
159
  # Actually create the issues in Jira (requires creds + --project)
117
160
  pm jira export --push --project PROJ
161
+
162
+ # Also PUT changed fields back to issues that already carry a Jira key
163
+ pm jira export --push --project PROJ --update-existing
164
+
165
+ # Preview exactly what --update-existing would do (no network)
166
+ pm jira export --project PROJ --update-existing --dry-run
118
167
  ```
119
168
 
120
169
  | Flag | Type | Default | Description |
121
170
  |---|---|---|---|
122
171
  | `--project` | string | — | Target Jira project key for created issues (required for `--push`). |
172
+ | `--map` | string | — | Override field mapping, e.g. `"issuetype=Story"`. |
173
+ | `--rich` | boolean | `false` | Derive Jira `issuetype` + `priority` from the pm item type/priority. |
174
+ | `--update-existing` | boolean | `false` | PUT changed fields to issues that already carry a Jira key. Without it, those items are skipped (no duplicate, no mutation). |
175
+ | `--dry-run` | boolean | `false` | Print the Jira POST/PUT mutations that would run; **no network call**. |
123
176
  | `--host` | string | `$JIRA_BASE_URL` | Jira base URL override. |
124
177
  | `--push` | boolean | `false` | POST payloads to Jira (requires credentials + `--project`). |
125
178
 
126
179
  Items whose description carries a `Jira <KEY>: <url>` provenance marker (added on
127
- import) can be matched back to their upstream issue.
180
+ import) are matched back to their upstream issue and become an `update` (PUT):
181
+
182
+ - **By default** (`--push` alone) those items are **skipped** so a re-export
183
+ never duplicates or unexpectedly mutates an existing Jira issue — only items
184
+ without a key are created. `--dry-run` shows them as `SKIP`.
185
+ - **With `--update-existing`** each matched item is PUT to Jira's edit-issue
186
+ endpoint (`/rest/api/3/issue/<KEY>`) with its changed fields (the immutable
187
+ `project` field is stripped, as Jira's edit API rejects it). `--dry-run` shows
188
+ them as `UPDATE PUT ...` so you can review the exact mutations offline first.
189
+
190
+ ### Command: `pm jira validate`
191
+
192
+ Report whether pm-jira has the credentials/base URL it needs — **without making
193
+ a network call and without leaking any secret value** (it prints a hostname-only
194
+ preview, never the token or email):
195
+
196
+ ```bash
197
+ pm jira validate # human-readable readiness summary
198
+ pm jira validate --json # structured object: { ready, baseUrlPresent, ... }
199
+ pm jira validate --host https://company.atlassian.net
200
+ ```
201
+
202
+ ### Export-on-write hook (opt-in)
203
+
204
+ Setting `PM_JIRA_PUSH_ON_WRITE=1` activates a best-effort `onWrite` hook. It is a
205
+ strict no-op unless both the env flag is truthy **and** Jira credentials are
206
+ present, and it can never fail your `pm` command (the pm hook runtime swallows
207
+ any error). It intentionally does **not** auto-POST on every write; use the
208
+ explicit, reviewable `pm jira export --push` to mirror items upstream.
128
209
 
129
210
  ### Importer: `jira-sync` (config-driven)
130
211
 
@@ -167,6 +248,22 @@ The default mapping (override per-status with `--status-map`):
167
248
  | Done, Resolved, Closed, Complete, Completed | `closed` |
168
249
  | Blocked | `blocked` |
169
250
 
251
+ When the Jira status *name* is unrecognized (custom workflows), pm-jira falls
252
+ back to the issue's `statusCategory` bucket: `new` → `open`, `indeterminate` →
253
+ `in_progress`, `done` → `closed`.
254
+
255
+ ### Issue type mapping
256
+
257
+ | Jira Issue Type | pm Type |
258
+ |---|---|
259
+ | Bug, Defect | `Bug` |
260
+ | Story, Epic | `Feature` |
261
+ | Task, Sub-task | `Task` |
262
+ | (any other) | `Issue` |
263
+
264
+ Override with `--map issuetype=<pmType>` (import) or `--map issuetype=<jiraType>`
265
+ (export, with `--rich`).
266
+
170
267
  ## Priority Mapping
171
268
 
172
269
  | Jira Priority | pm Priority |
@@ -230,9 +327,9 @@ npm run dev
230
327
 
231
328
  ## Requirements
232
329
 
233
- - Node.js 18+ (uses native `https` module and `Buffer`)
234
- - pm-cli `>=2026.5.0`
235
- - TypeScript 5.x (dev dependency)
330
+ - Node.js 20+ (uses native `https` module and `Buffer`)
331
+ - pm-cli `>=2026.5.31`
332
+ - TypeScript 6.x (dev dependency)
236
333
 
237
334
  ## License
238
335
 
package/dist/index.d.ts CHANGED
@@ -39,13 +39,38 @@ interface JiraIssue {
39
39
  fixVersions?: Array<{
40
40
  name: string;
41
41
  }>;
42
+ issuetype?: {
43
+ name: string;
44
+ } | null;
45
+ attachment?: Array<unknown> | null;
46
+ comment?: {
47
+ total?: number;
48
+ comments?: Array<unknown>;
49
+ } | null;
42
50
  };
43
51
  }
44
52
  type PmPriority = 1 | 2 | 3 | 4;
45
53
  type PmStatus = "open" | "in_progress" | "closed" | "blocked";
46
54
  export declare function mapJiraPriority(jiraPriority: string | undefined): PmPriority;
47
55
  export declare function mapJiraStatus(jiraStatus: string, statusMap?: Record<string, PmStatus>): PmStatus;
56
+ export declare function mapJiraStatusCategory(categoryKey: string | undefined): PmStatus;
57
+ export declare function mapJiraIssueType(jiraType: string | undefined): string;
58
+ export declare function mapPmPriorityToJira(priority: PmPriority | number | undefined): string;
59
+ export type FieldMap = Record<string, string>;
60
+ export declare function parseFieldMap(raw: string | undefined): FieldMap | undefined;
48
61
  export declare function parseStatusMap(raw: string | undefined): Record<string, PmStatus> | undefined;
62
+ export interface JqlFilters {
63
+ jql?: string;
64
+ project?: string;
65
+ status?: string;
66
+ assignee?: string;
67
+ issueType?: string;
68
+ label?: string;
69
+ updatedSince?: string;
70
+ }
71
+ export declare function jqlQuote(value: string): string;
72
+ export declare function buildJql(filters: JqlFilters): string;
73
+ export declare function readJqlFilters(options: Record<string, unknown>): JqlFilters;
49
74
  export declare function adfToPlainText(node: JiraIssue["fields"]["description"] | {
50
75
  type: string;
51
76
  content?: unknown[];
@@ -80,16 +105,46 @@ export interface JiraCreds {
80
105
  authHeader: string;
81
106
  }
82
107
  export declare function resolveCreds(options: Record<string, unknown>, envLike?: NodeJS.ProcessEnv): JiraCreds;
108
+ export interface CredDiagnostics {
109
+ ready: boolean;
110
+ baseUrlPresent: boolean;
111
+ emailPresent: boolean;
112
+ tokenPresent: boolean;
113
+ baseUrlSource: "option" | "env" | "none";
114
+ hostPreview?: string;
115
+ missing: string[];
116
+ }
117
+ export declare function diagnoseCreds(options: Record<string, unknown>, envLike?: NodeJS.ProcessEnv): CredDiagnostics;
118
+ export declare function formatImportProgress(fetched: number, jiraTotal: number, maxResults: number): string;
83
119
  export interface IssueToItem {
84
120
  title: string;
85
121
  status: PmStatus;
86
122
  priority: PmPriority;
123
+ type: string;
87
124
  body: string;
88
125
  tags: string[];
89
126
  deadline?: string;
90
127
  description: string;
128
+ jiraKey: string;
129
+ jiraUrl: string;
130
+ }
131
+ export interface IssueMapOptions {
132
+ statusMap?: Record<string, PmStatus>;
133
+ fieldMap?: FieldMap;
134
+ }
135
+ export declare function issueToItem(issue: JiraIssue, baseUrl: string, optionsOrStatusMap?: IssueMapOptions | Record<string, PmStatus>): IssueToItem;
136
+ export interface JiraSearchRequest {
137
+ method: "GET";
138
+ url: string;
139
+ fields: string;
91
140
  }
92
- export declare function issueToItem(issue: JiraIssue, baseUrl: string, statusMap?: Record<string, PmStatus>): IssueToItem;
141
+ export interface IssueExtras {
142
+ attachments: number;
143
+ comments: number;
144
+ hasExtras: boolean;
145
+ }
146
+ export declare function countIssueExtras(issue: JiraIssue): IssueExtras;
147
+ export declare function buildSearchRequest(baseUrl: string, jql: string, startAt: number, maxResults: number): JiraSearchRequest;
93
148
  interface PmItem {
94
149
  id?: string;
95
150
  title?: string;
@@ -97,7 +152,10 @@ interface PmItem {
97
152
  body?: string;
98
153
  description?: string;
99
154
  tags?: string[];
155
+ priority?: number;
156
+ type?: string;
100
157
  }
158
+ export declare function mapPmTypeToJira(pmType: string | undefined, override?: string): string;
101
159
  export interface JiraCreatePayload {
102
160
  fields: {
103
161
  project?: {
@@ -109,9 +167,44 @@ export interface JiraCreatePayload {
109
167
  name: string;
110
168
  };
111
169
  labels: string[];
170
+ priority?: {
171
+ name: string;
172
+ };
112
173
  };
113
174
  }
114
- export declare function itemToJiraPayload(item: PmItem, projectKey?: string): JiraCreatePayload;
175
+ export interface PayloadOptions {
176
+ projectKey?: string;
177
+ fieldMap?: FieldMap;
178
+ richMapping?: boolean;
179
+ }
180
+ export declare function itemToJiraPayload(item: PmItem, projectKeyOrOptions?: string | PayloadOptions): JiraCreatePayload;
181
+ export interface ExportPlanEntry {
182
+ op: "create" | "update";
183
+ itemId?: string;
184
+ existingKey?: string;
185
+ method: "POST" | "PUT";
186
+ endpoint: string;
187
+ payload: JiraCreatePayload;
188
+ }
189
+ export interface ExportPlan {
190
+ baseUrl: string;
191
+ project?: string;
192
+ entries: ExportPlanEntry[];
193
+ }
194
+ export declare function buildExportPlan(items: PmItem[], baseUrl: string, opts?: {
195
+ projectKey?: string;
196
+ fieldMap?: FieldMap;
197
+ richMapping?: boolean;
198
+ }): ExportPlan;
199
+ export interface PushOnWriteDecision {
200
+ shouldPush: boolean;
201
+ reason: string;
202
+ }
203
+ export declare function decidePushOnWrite(hookCtx: {
204
+ path?: string;
205
+ scope?: string;
206
+ op?: string;
207
+ } | undefined, envLike?: NodeJS.ProcessEnv): PushOnWriteDecision;
115
208
  declare const _default: {
116
209
  name: string;
117
210
  version: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}