@specship/specship-win32-arm64 0.21.2 → 0.23.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/lib/dist/activation/search-intercept.d.ts +59 -0
- package/lib/dist/activation/search-intercept.d.ts.map +1 -0
- package/lib/dist/activation/search-intercept.js +195 -0
- package/lib/dist/activation/search-intercept.js.map +1 -0
- package/lib/dist/bin/specship.js +372 -11
- package/lib/dist/bin/specship.js.map +1 -1
- package/lib/dist/bin/uninstall.d.ts +4 -3
- package/lib/dist/bin/uninstall.d.ts.map +1 -1
- package/lib/dist/bin/uninstall.js +4 -3
- package/lib/dist/bin/uninstall.js.map +1 -1
- package/lib/dist/commands/specship/jira.md +74 -0
- package/lib/dist/commands/specship/spec.md +61 -1
- package/lib/dist/extraction/index.d.ts +6 -0
- package/lib/dist/extraction/index.d.ts.map +1 -1
- package/lib/dist/extraction/index.js.map +1 -1
- package/lib/dist/extraction/specs/markdown-spec-extractor.d.ts.map +1 -1
- package/lib/dist/extraction/specs/markdown-spec-extractor.js +8 -1
- package/lib/dist/extraction/specs/markdown-spec-extractor.js.map +1 -1
- package/lib/dist/index.d.ts +7 -0
- package/lib/dist/index.d.ts.map +1 -1
- package/lib/dist/index.js +45 -18
- package/lib/dist/index.js.map +1 -1
- package/lib/dist/installer/index.d.ts +20 -6
- package/lib/dist/installer/index.d.ts.map +1 -1
- package/lib/dist/installer/index.js +123 -63
- package/lib/dist/installer/index.js.map +1 -1
- package/lib/dist/installer/targets/claude.d.ts +9 -0
- package/lib/dist/installer/targets/claude.d.ts.map +1 -1
- package/lib/dist/installer/targets/claude.js +46 -0
- package/lib/dist/installer/targets/claude.js.map +1 -1
- package/lib/dist/installer/targets/gemini.d.ts +78 -0
- package/lib/dist/installer/targets/gemini.d.ts.map +1 -0
- package/lib/dist/installer/targets/gemini.js +200 -0
- package/lib/dist/installer/targets/gemini.js.map +1 -0
- package/lib/dist/installer/targets/registry.d.ts +5 -2
- package/lib/dist/installer/targets/registry.d.ts.map +1 -1
- package/lib/dist/installer/targets/registry.js +7 -3
- package/lib/dist/installer/targets/registry.js.map +1 -1
- package/lib/dist/installer/targets/types.d.ts +6 -2
- package/lib/dist/installer/targets/types.d.ts.map +1 -1
- package/lib/dist/jira/auto-publish.d.ts +67 -0
- package/lib/dist/jira/auto-publish.d.ts.map +1 -0
- package/lib/dist/jira/auto-publish.js +256 -0
- package/lib/dist/jira/auto-publish.js.map +1 -0
- package/lib/dist/jira/board-first.d.ts +64 -0
- package/lib/dist/jira/board-first.d.ts.map +1 -0
- package/lib/dist/jira/board-first.js +91 -0
- package/lib/dist/jira/board-first.js.map +1 -0
- package/lib/dist/jira/client.d.ts +87 -1
- package/lib/dist/jira/client.d.ts.map +1 -1
- package/lib/dist/jira/client.js +249 -2
- package/lib/dist/jira/client.js.map +1 -1
- package/lib/dist/jira/config.d.ts +1 -1
- package/lib/dist/jira/config.d.ts.map +1 -1
- package/lib/dist/jira/config.js +14 -3
- package/lib/dist/jira/config.js.map +1 -1
- package/lib/dist/jira/coverage.d.ts +105 -0
- package/lib/dist/jira/coverage.d.ts.map +1 -0
- package/lib/dist/jira/coverage.js +170 -0
- package/lib/dist/jira/coverage.js.map +1 -0
- package/lib/dist/jira/index.d.ts +1 -0
- package/lib/dist/jira/index.d.ts.map +1 -1
- package/lib/dist/jira/index.js +1 -0
- package/lib/dist/jira/index.js.map +1 -1
- package/lib/dist/jira/milestone-comment.d.ts +95 -0
- package/lib/dist/jira/milestone-comment.d.ts.map +1 -0
- package/lib/dist/jira/milestone-comment.js +271 -0
- package/lib/dist/jira/milestone-comment.js.map +1 -0
- package/lib/dist/jira/publish.d.ts +86 -2
- package/lib/dist/jira/publish.d.ts.map +1 -1
- package/lib/dist/jira/publish.js +0 -0
- package/lib/dist/jira/publish.js.map +1 -1
- package/lib/dist/jira/published-specs.d.ts +29 -0
- package/lib/dist/jira/published-specs.d.ts.map +1 -0
- package/lib/dist/jira/published-specs.js +147 -0
- package/lib/dist/jira/published-specs.js.map +1 -0
- package/lib/dist/jira/reconcile.d.ts +81 -0
- package/lib/dist/jira/reconcile.d.ts.map +1 -0
- package/lib/dist/jira/reconcile.js +111 -0
- package/lib/dist/jira/reconcile.js.map +1 -0
- package/lib/dist/jira/regression-pack.d.ts +547 -0
- package/lib/dist/jira/regression-pack.d.ts.map +1 -0
- package/lib/dist/jira/regression-pack.js +986 -0
- package/lib/dist/jira/regression-pack.js.map +1 -0
- package/lib/dist/jira/repo-config.d.ts +73 -0
- package/lib/dist/jira/repo-config.d.ts.map +1 -0
- package/lib/dist/jira/repo-config.js +249 -0
- package/lib/dist/jira/repo-config.js.map +1 -0
- package/lib/dist/jira/spec-amend.d.ts +46 -0
- package/lib/dist/jira/spec-amend.d.ts.map +1 -0
- package/lib/dist/jira/spec-amend.js +232 -0
- package/lib/dist/jira/spec-amend.js.map +1 -0
- package/lib/dist/jira/spec-writer.d.ts +22 -0
- package/lib/dist/jira/spec-writer.d.ts.map +1 -1
- package/lib/dist/jira/spec-writer.js +113 -0
- package/lib/dist/jira/spec-writer.js.map +1 -1
- package/lib/dist/jira/types.d.ts +62 -0
- package/lib/dist/jira/types.d.ts.map +1 -1
- package/lib/dist/jira/types.js +15 -1
- package/lib/dist/jira/types.js.map +1 -1
- package/lib/dist/mcp/jira-tools.d.ts +102 -0
- package/lib/dist/mcp/jira-tools.d.ts.map +1 -1
- package/lib/dist/mcp/jira-tools.js +826 -53
- package/lib/dist/mcp/jira-tools.js.map +1 -1
- package/lib/dist/mcp/server-instructions.d.ts +1 -1
- package/lib/dist/mcp/server-instructions.d.ts.map +1 -1
- package/lib/dist/mcp/server-instructions.js +4 -0
- package/lib/dist/mcp/server-instructions.js.map +1 -1
- package/lib/dist/mcp/spec-tools.d.ts.map +1 -1
- package/lib/dist/mcp/spec-tools.js +7 -1
- package/lib/dist/mcp/spec-tools.js.map +1 -1
- package/lib/dist/mcp/tools.d.ts +53 -0
- package/lib/dist/mcp/tools.d.ts.map +1 -1
- package/lib/dist/mcp/tools.js +255 -8
- package/lib/dist/mcp/tools.js.map +1 -1
- package/lib/dist/resolution/spec-link-resolver.d.ts +2 -0
- package/lib/dist/resolution/spec-link-resolver.d.ts.map +1 -1
- package/lib/dist/resolution/spec-link-resolver.js +11 -3
- package/lib/dist/resolution/spec-link-resolver.js.map +1 -1
- package/lib/node_modules/.package-lock.json +1 -1
- package/lib/package.json +1 -1
- package/package.json +1 -1
|
@@ -14,9 +14,16 @@
|
|
|
14
14
|
* (or any) redirect is refused, not followed.
|
|
15
15
|
* - No thrown error or result field ever contains the credential.
|
|
16
16
|
*/
|
|
17
|
-
import { JiraCredentials, JiraConnectionResult, JiraIssueListResult, JiraIssueResult, JiraTransition, JiraTransitionResult } from './types';
|
|
17
|
+
import { JiraCredentials, JiraConnectionResult, JiraEpic, JiraIssueListResult, JiraIssueResult, JiraTransition, JiraTransitionResult } from './types';
|
|
18
18
|
/** Upper bound on issues fetched in one list call — never unbounded. */
|
|
19
19
|
export declare const MAX_ISSUE_RESULTS = 50;
|
|
20
|
+
/**
|
|
21
|
+
* Compress a JIRA error body (`errorMessages` + per-field `errors`) into one
|
|
22
|
+
* bounded, credential-free line (REQ-JIRATEAM-009.A4). These are JIRA's own
|
|
23
|
+
* validation strings — "issuetype: The issue type selected is invalid" is
|
|
24
|
+
* the difference between a diagnosable report and a bare "HTTP 400".
|
|
25
|
+
*/
|
|
26
|
+
export declare function formatJiraErrorBody(body: unknown): string;
|
|
20
27
|
export declare class JiraClient {
|
|
21
28
|
private readonly baseUrl;
|
|
22
29
|
private readonly host;
|
|
@@ -28,6 +35,9 @@ export declare class JiraClient {
|
|
|
28
35
|
* never process-global.
|
|
29
36
|
*/
|
|
30
37
|
private readonly tls;
|
|
38
|
+
/** Repo-binding provenance (REQ-JIRATEAM-001), used to enrich A4 errors. */
|
|
39
|
+
private readonly bindingSource?;
|
|
40
|
+
private readonly bindingPath?;
|
|
31
41
|
constructor(creds: JiraCredentials);
|
|
32
42
|
/**
|
|
33
43
|
* Probe the instance's `/myself` endpoint.
|
|
@@ -51,6 +61,26 @@ export declare class JiraClient {
|
|
|
51
61
|
listMyIssues(opts?: {
|
|
52
62
|
project?: string;
|
|
53
63
|
sprint?: 'active';
|
|
64
|
+
/**
|
|
65
|
+
* Board-first anchor scope (REQ-JIRATEAM-007.A1): narrow to open
|
|
66
|
+
* stories/tasks under this epic. Quote-escaped like `project`.
|
|
67
|
+
*/
|
|
68
|
+
epicKey?: string;
|
|
69
|
+
}): Promise<JiraIssueListResult>;
|
|
70
|
+
/**
|
|
71
|
+
* List issues in a project's active (or named) sprint (REQ-JIRATEAM-004).
|
|
72
|
+
* Read-only — no transitions, no edits. `project` is required; `sprint` is
|
|
73
|
+
* optional (omitted → `sprint in openSprints()`, the currently-open sprints
|
|
74
|
+
* of the board bound to the project). Both values are quote-escaped to
|
|
75
|
+
* prevent JQL injection. Bounded by `MAX_ISSUE_RESULTS`.
|
|
76
|
+
*
|
|
77
|
+
* - 200 → `{ ok: true, issues }`; an empty list is a valid success.
|
|
78
|
+
* - 401 / 403 → `JiraAuthError`; redirect / network / non-200 →
|
|
79
|
+
* `JiraConfigError`.
|
|
80
|
+
*/
|
|
81
|
+
listSprintIssues(opts: {
|
|
82
|
+
project: string;
|
|
83
|
+
sprint?: string;
|
|
54
84
|
}): Promise<JiraIssueListResult>;
|
|
55
85
|
/**
|
|
56
86
|
* Fetch a single issue by its key (REQ-JIRA-003). Identity/authorization
|
|
@@ -65,6 +95,28 @@ export declare class JiraClient {
|
|
|
65
95
|
* `JiraConfigError`. Never a partial or fabricated issue.
|
|
66
96
|
*/
|
|
67
97
|
getIssue(key: string): Promise<JiraIssueResult>;
|
|
98
|
+
/**
|
|
99
|
+
* List open epics for a project (REQ-JIRATEAM-006). Scoped to `Epic`s
|
|
100
|
+
* whose statusCategory is not `Done`, ordered most-actionable-first, and
|
|
101
|
+
* bounded by `MAX_ISSUE_RESULTS`. The project value is quote-escaped to
|
|
102
|
+
* prevent JQL injection.
|
|
103
|
+
*
|
|
104
|
+
* - 200 → the epic list (empty is a valid success).
|
|
105
|
+
* - 401 / 403 → `JiraAuthError`; redirect / network / non-200 →
|
|
106
|
+
* `JiraConfigError`.
|
|
107
|
+
*/
|
|
108
|
+
listEpics(projectKey: string): Promise<JiraEpic[]>;
|
|
109
|
+
/**
|
|
110
|
+
* List issues in `projectKey` that carry `label` (REQ-JIRAREG-001). Used
|
|
111
|
+
* by the regression-pack upsert to find its SpecShip-owned epic / stories /
|
|
112
|
+
* cases by watermark label — never for user-supplied JQL. The label is
|
|
113
|
+
* quote-escaped to defend against injection even though callers supply only
|
|
114
|
+
* the module's own hard-coded label prefixes.
|
|
115
|
+
*/
|
|
116
|
+
searchIssuesByLabel(projectKey: string, label: string): Promise<Array<{
|
|
117
|
+
key: string;
|
|
118
|
+
summary: string;
|
|
119
|
+
}>>;
|
|
68
120
|
/**
|
|
69
121
|
* List the transitions the issue's current workflow state offers
|
|
70
122
|
* (REQ-JIRA-007). `GET /issue/{key}/transitions`. Used to resolve a
|
|
@@ -106,6 +158,15 @@ export declare class JiraClient {
|
|
|
106
158
|
key: string;
|
|
107
159
|
name: string;
|
|
108
160
|
}>>;
|
|
161
|
+
/**
|
|
162
|
+
* Assert the authenticated user can see the given project
|
|
163
|
+
* (REQ-JIRATEAM-001.A4). `GET /rest/api/2/project/{key}` — a 401/403/404
|
|
164
|
+
* from the repo-bound project is re-thrown with the project, host, and
|
|
165
|
+
* the binding file's path, so the operator gets a directed message
|
|
166
|
+
* instead of a silent fallback to another project. Non-binding paths
|
|
167
|
+
* (user-level project) re-raise the original error unchanged.
|
|
168
|
+
*/
|
|
169
|
+
verifyProjectAccess(projectKey: string): Promise<void>;
|
|
109
170
|
/**
|
|
110
171
|
* Create an issue (REQ-JIRAPUB-001) — a Story (or configured type) when
|
|
111
172
|
* `parentKey` is absent, a Sub-task parented to `parentKey` when present.
|
|
@@ -135,6 +196,7 @@ export declare class JiraClient {
|
|
|
135
196
|
updateIssue(key: string, fields: {
|
|
136
197
|
summary?: string;
|
|
137
198
|
description?: string;
|
|
199
|
+
parentKey?: string;
|
|
138
200
|
}): Promise<void>;
|
|
139
201
|
/**
|
|
140
202
|
* List the plain-text bodies of an issue's comments (REQ-JIRAPUB-007's
|
|
@@ -143,6 +205,30 @@ export declare class JiraClient {
|
|
|
143
205
|
* contains-check, never used to mirror content.
|
|
144
206
|
*/
|
|
145
207
|
listComments(key: string): Promise<string[]>;
|
|
208
|
+
/**
|
|
209
|
+
* List comments with their JIRA-side ids (REQ-JIRATEAM-004.A3) so a caller
|
|
210
|
+
* can edit a specific comment in place instead of always appending. Same
|
|
211
|
+
* `GET /issue/{key}/comment` as `listComments`, but preserving each id.
|
|
212
|
+
*/
|
|
213
|
+
listCommentsDetailed(key: string): Promise<Array<{
|
|
214
|
+
id: string;
|
|
215
|
+
body: string;
|
|
216
|
+
}>>;
|
|
217
|
+
/**
|
|
218
|
+
* Edit an existing comment in place (REQ-JIRATEAM-004.A3).
|
|
219
|
+
* `PUT /issue/{key}/comment/{id}` with `{ body }`; used by the sprint
|
|
220
|
+
* coverage report so re-posting updates the single watermarked comment.
|
|
221
|
+
*/
|
|
222
|
+
updateComment(key: string, commentId: string, body: string): Promise<void>;
|
|
223
|
+
/**
|
|
224
|
+
* Add a label to an issue idempotently (REQ-JIRAREG-003). Reads the current
|
|
225
|
+
* labels first and issues the PUT only when the label is missing — a re-run
|
|
226
|
+
* with the label already present is a zero-write. Uses the additive
|
|
227
|
+
* `update.labels add` shape so other labels are preserved.
|
|
228
|
+
*/
|
|
229
|
+
addLabel(key: string, label: string): Promise<{
|
|
230
|
+
added: boolean;
|
|
231
|
+
}>;
|
|
146
232
|
/**
|
|
147
233
|
* Ensure a project version with `name` exists (REQ-JIRAPUB-007), creating
|
|
148
234
|
* it when missing. Returns whether this call created it — a re-run finds
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/jira/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/jira/client.ts"],"names":[],"mappings":"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"}
|
package/lib/dist/jira/client.js
CHANGED
|
@@ -50,12 +50,39 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
50
50
|
})();
|
|
51
51
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52
52
|
exports.JiraClient = exports.MAX_ISSUE_RESULTS = void 0;
|
|
53
|
+
exports.formatJiraErrorBody = formatJiraErrorBody;
|
|
53
54
|
const fs = __importStar(require("fs"));
|
|
54
55
|
const https = __importStar(require("https"));
|
|
55
56
|
const auth_1 = require("./auth");
|
|
57
|
+
const repo_config_1 = require("./repo-config");
|
|
56
58
|
const types_1 = require("./types");
|
|
57
59
|
/** Upper bound on issues fetched in one list call — never unbounded. */
|
|
58
60
|
exports.MAX_ISSUE_RESULTS = 50;
|
|
61
|
+
/**
|
|
62
|
+
* Compress a JIRA error body (`errorMessages` + per-field `errors`) into one
|
|
63
|
+
* bounded, credential-free line (REQ-JIRATEAM-009.A4). These are JIRA's own
|
|
64
|
+
* validation strings — "issuetype: The issue type selected is invalid" is
|
|
65
|
+
* the difference between a diagnosable report and a bare "HTTP 400".
|
|
66
|
+
*/
|
|
67
|
+
function formatJiraErrorBody(body) {
|
|
68
|
+
if (!body || typeof body !== 'object')
|
|
69
|
+
return '';
|
|
70
|
+
const b = body;
|
|
71
|
+
const parts = [];
|
|
72
|
+
if (Array.isArray(b.errorMessages)) {
|
|
73
|
+
for (const m of b.errorMessages)
|
|
74
|
+
if (typeof m === 'string' && m.trim())
|
|
75
|
+
parts.push(m.trim());
|
|
76
|
+
}
|
|
77
|
+
if (b.errors && typeof b.errors === 'object' && !Array.isArray(b.errors)) {
|
|
78
|
+
for (const [field, msg] of Object.entries(b.errors)) {
|
|
79
|
+
if (typeof msg === 'string' && msg.trim())
|
|
80
|
+
parts.push(`${field}: ${msg.trim()}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
const joined = parts.join(' | ');
|
|
84
|
+
return joined.length > 300 ? `${joined.slice(0, 299)}…` : joined;
|
|
85
|
+
}
|
|
59
86
|
class JiraClient {
|
|
60
87
|
baseUrl;
|
|
61
88
|
host;
|
|
@@ -67,6 +94,9 @@ class JiraClient {
|
|
|
67
94
|
* never process-global.
|
|
68
95
|
*/
|
|
69
96
|
tls;
|
|
97
|
+
/** Repo-binding provenance (REQ-JIRATEAM-001), used to enrich A4 errors. */
|
|
98
|
+
bindingSource;
|
|
99
|
+
bindingPath;
|
|
70
100
|
constructor(creds) {
|
|
71
101
|
// Normalize: strip trailing slashes so path joins are clean.
|
|
72
102
|
this.baseUrl = creds.baseUrl.replace(/\/+$/, '');
|
|
@@ -78,6 +108,8 @@ class JiraClient {
|
|
|
78
108
|
}
|
|
79
109
|
this.authHeader = (0, auth_1.buildAuthHeader)(creds);
|
|
80
110
|
this.deployment = creds.deployment;
|
|
111
|
+
this.bindingSource = creds.bindingSource;
|
|
112
|
+
this.bindingPath = creds.bindingPath;
|
|
81
113
|
if (creds.caCertPath || creds.insecureTls) {
|
|
82
114
|
let ca;
|
|
83
115
|
if (creds.caCertPath) {
|
|
@@ -137,6 +169,10 @@ class JiraClient {
|
|
|
137
169
|
if (opts?.sprint === 'active') {
|
|
138
170
|
jql = `${jql} AND sprint in openSprints()`;
|
|
139
171
|
}
|
|
172
|
+
if (opts?.epicKey && opts.epicKey.trim()) {
|
|
173
|
+
const escapedEpic = opts.epicKey.trim().replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
174
|
+
jql = `${jql} AND parent = "${escapedEpic}"`;
|
|
175
|
+
}
|
|
140
176
|
jql += ' ORDER BY updated DESC';
|
|
141
177
|
const params = new URLSearchParams({
|
|
142
178
|
jql,
|
|
@@ -164,6 +200,51 @@ class JiraClient {
|
|
|
164
200
|
}));
|
|
165
201
|
return { ok: true, issues };
|
|
166
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* List issues in a project's active (or named) sprint (REQ-JIRATEAM-004).
|
|
205
|
+
* Read-only — no transitions, no edits. `project` is required; `sprint` is
|
|
206
|
+
* optional (omitted → `sprint in openSprints()`, the currently-open sprints
|
|
207
|
+
* of the board bound to the project). Both values are quote-escaped to
|
|
208
|
+
* prevent JQL injection. Bounded by `MAX_ISSUE_RESULTS`.
|
|
209
|
+
*
|
|
210
|
+
* - 200 → `{ ok: true, issues }`; an empty list is a valid success.
|
|
211
|
+
* - 401 / 403 → `JiraAuthError`; redirect / network / non-200 →
|
|
212
|
+
* `JiraConfigError`.
|
|
213
|
+
*/
|
|
214
|
+
async listSprintIssues(opts) {
|
|
215
|
+
const project = (opts.project ?? '').trim();
|
|
216
|
+
if (!project) {
|
|
217
|
+
throw new types_1.JiraConfigError('A JIRA project key is required to list sprint issues.');
|
|
218
|
+
}
|
|
219
|
+
const escProject = project.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
220
|
+
let jql = `project = "${escProject}"`;
|
|
221
|
+
if (opts.sprint && opts.sprint.trim()) {
|
|
222
|
+
const escSprint = opts.sprint.trim().replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
223
|
+
jql += ` AND sprint = "${escSprint}"`;
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
jql += ' AND sprint in openSprints()';
|
|
227
|
+
}
|
|
228
|
+
jql += ' ORDER BY updated DESC';
|
|
229
|
+
const params = new URLSearchParams({
|
|
230
|
+
jql,
|
|
231
|
+
fields: 'summary,status,issuetype',
|
|
232
|
+
maxResults: String(exports.MAX_ISSUE_RESULTS),
|
|
233
|
+
});
|
|
234
|
+
const searchPath = this.deployment === 'datacenter'
|
|
235
|
+
? `/rest/api/2/search?${params.toString()}`
|
|
236
|
+
: `/rest/api/2/search/jql?${params.toString()}`;
|
|
237
|
+
const body = await this.request(searchPath);
|
|
238
|
+
const rawIssues = Array.isArray(body?.issues) ? body.issues : [];
|
|
239
|
+
const issues = rawIssues.map(issue => ({
|
|
240
|
+
key: String(issue?.key ?? ''),
|
|
241
|
+
id: String(issue?.id ?? ''),
|
|
242
|
+
summary: String(issue?.fields?.summary ?? ''),
|
|
243
|
+
status: String(issue?.fields?.status?.name ?? ''),
|
|
244
|
+
issueType: String(issue?.fields?.issuetype?.name ?? ''),
|
|
245
|
+
}));
|
|
246
|
+
return { ok: true, issues };
|
|
247
|
+
}
|
|
167
248
|
/**
|
|
168
249
|
* Fetch a single issue by its key (REQ-JIRA-003). Identity/authorization
|
|
169
250
|
* ride the token — a key the user can't see is indistinguishable from a
|
|
@@ -184,7 +265,7 @@ class JiraClient {
|
|
|
184
265
|
// URL-encode the key: a slash or space in the key must not traverse the
|
|
185
266
|
// path or split the request — encode it into a single path segment.
|
|
186
267
|
const params = new URLSearchParams({
|
|
187
|
-
fields: 'summary,description,status,issuetype,subtasks',
|
|
268
|
+
fields: 'summary,description,status,issuetype,subtasks,parent',
|
|
188
269
|
});
|
|
189
270
|
const body = await this.request(`/rest/api/2/issue/${encodeURIComponent(trimmed)}?${params.toString()}`);
|
|
190
271
|
const fields = body?.fields ?? {};
|
|
@@ -200,6 +281,10 @@ class JiraClient {
|
|
|
200
281
|
summary: String(st?.fields?.summary ?? ''),
|
|
201
282
|
status: String(st?.fields?.status?.name ?? ''),
|
|
202
283
|
}));
|
|
284
|
+
const parentRaw = fields?.parent;
|
|
285
|
+
const parentKey = parentRaw && typeof parentRaw === 'object' && typeof parentRaw.key === 'string'
|
|
286
|
+
? String(parentRaw.key)
|
|
287
|
+
: undefined;
|
|
203
288
|
const issue = {
|
|
204
289
|
key: String(body?.key ?? trimmed),
|
|
205
290
|
id: String(body?.id ?? ''),
|
|
@@ -208,9 +293,76 @@ class JiraClient {
|
|
|
208
293
|
issueType: String(fields.issuetype?.name ?? ''),
|
|
209
294
|
description,
|
|
210
295
|
subtasks,
|
|
296
|
+
...(parentKey ? { parentKey } : {}),
|
|
211
297
|
};
|
|
212
298
|
return { ok: true, issue };
|
|
213
299
|
}
|
|
300
|
+
/**
|
|
301
|
+
* List open epics for a project (REQ-JIRATEAM-006). Scoped to `Epic`s
|
|
302
|
+
* whose statusCategory is not `Done`, ordered most-actionable-first, and
|
|
303
|
+
* bounded by `MAX_ISSUE_RESULTS`. The project value is quote-escaped to
|
|
304
|
+
* prevent JQL injection.
|
|
305
|
+
*
|
|
306
|
+
* - 200 → the epic list (empty is a valid success).
|
|
307
|
+
* - 401 / 403 → `JiraAuthError`; redirect / network / non-200 →
|
|
308
|
+
* `JiraConfigError`.
|
|
309
|
+
*/
|
|
310
|
+
async listEpics(projectKey) {
|
|
311
|
+
const project = (projectKey ?? '').trim();
|
|
312
|
+
if (!project) {
|
|
313
|
+
throw new types_1.JiraConfigError('A JIRA project key is required to list epics.');
|
|
314
|
+
}
|
|
315
|
+
const escProject = project.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
316
|
+
const jql = `project = "${escProject}" AND issuetype = Epic ` +
|
|
317
|
+
`AND statusCategory != Done ORDER BY updated DESC`;
|
|
318
|
+
const params = new URLSearchParams({
|
|
319
|
+
jql,
|
|
320
|
+
fields: 'summary,status',
|
|
321
|
+
maxResults: String(exports.MAX_ISSUE_RESULTS),
|
|
322
|
+
});
|
|
323
|
+
const searchPath = this.deployment === 'datacenter'
|
|
324
|
+
? `/rest/api/2/search?${params.toString()}`
|
|
325
|
+
: `/rest/api/2/search/jql?${params.toString()}`;
|
|
326
|
+
const body = await this.request(searchPath);
|
|
327
|
+
const raw = Array.isArray(body?.issues) ? body.issues : [];
|
|
328
|
+
return raw.map((issue) => ({
|
|
329
|
+
key: String(issue?.key ?? ''),
|
|
330
|
+
summary: String(issue?.fields?.summary ?? ''),
|
|
331
|
+
status: String(issue?.fields?.status?.name ?? ''),
|
|
332
|
+
})).filter((e) => e.key.length > 0);
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* List issues in `projectKey` that carry `label` (REQ-JIRAREG-001). Used
|
|
336
|
+
* by the regression-pack upsert to find its SpecShip-owned epic / stories /
|
|
337
|
+
* cases by watermark label — never for user-supplied JQL. The label is
|
|
338
|
+
* quote-escaped to defend against injection even though callers supply only
|
|
339
|
+
* the module's own hard-coded label prefixes.
|
|
340
|
+
*/
|
|
341
|
+
async searchIssuesByLabel(projectKey, label) {
|
|
342
|
+
const project = (projectKey ?? '').trim();
|
|
343
|
+
const lab = (label ?? '').trim();
|
|
344
|
+
if (!project || !lab)
|
|
345
|
+
return [];
|
|
346
|
+
const escProject = project.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
347
|
+
const escLabel = lab.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
348
|
+
const jql = `project = "${escProject}" AND labels = "${escLabel}" ORDER BY created ASC`;
|
|
349
|
+
const params = new URLSearchParams({
|
|
350
|
+
jql,
|
|
351
|
+
fields: 'summary',
|
|
352
|
+
maxResults: String(exports.MAX_ISSUE_RESULTS),
|
|
353
|
+
});
|
|
354
|
+
const searchPath = this.deployment === 'datacenter'
|
|
355
|
+
? `/rest/api/2/search?${params.toString()}`
|
|
356
|
+
: `/rest/api/2/search/jql?${params.toString()}`;
|
|
357
|
+
const body = await this.request(searchPath);
|
|
358
|
+
const raw = Array.isArray(body?.issues) ? body.issues : [];
|
|
359
|
+
return raw
|
|
360
|
+
.map((issue) => ({
|
|
361
|
+
key: String(issue?.key ?? ''),
|
|
362
|
+
summary: String(issue?.fields?.summary ?? ''),
|
|
363
|
+
}))
|
|
364
|
+
.filter((e) => e.key.length > 0);
|
|
365
|
+
}
|
|
214
366
|
/**
|
|
215
367
|
* List the transitions the issue's current workflow state offers
|
|
216
368
|
* (REQ-JIRA-007). `GET /issue/{key}/transitions`. Used to resolve a
|
|
@@ -305,6 +457,33 @@ class JiraClient {
|
|
|
305
457
|
name: String(p?.name ?? ''),
|
|
306
458
|
})).filter(p => p.key.length > 0);
|
|
307
459
|
}
|
|
460
|
+
/**
|
|
461
|
+
* Assert the authenticated user can see the given project
|
|
462
|
+
* (REQ-JIRATEAM-001.A4). `GET /rest/api/2/project/{key}` — a 401/403/404
|
|
463
|
+
* from the repo-bound project is re-thrown with the project, host, and
|
|
464
|
+
* the binding file's path, so the operator gets a directed message
|
|
465
|
+
* instead of a silent fallback to another project. Non-binding paths
|
|
466
|
+
* (user-level project) re-raise the original error unchanged.
|
|
467
|
+
*/
|
|
468
|
+
async verifyProjectAccess(projectKey) {
|
|
469
|
+
const key = (projectKey ?? '').trim();
|
|
470
|
+
if (!key) {
|
|
471
|
+
throw new types_1.JiraConfigError('A JIRA project key is required.');
|
|
472
|
+
}
|
|
473
|
+
try {
|
|
474
|
+
await this.request(`/rest/api/2/project/${encodeURIComponent(key)}`);
|
|
475
|
+
}
|
|
476
|
+
catch (err) {
|
|
477
|
+
if (this.bindingSource === 'repo' && this.bindingPath) {
|
|
478
|
+
throw (0, repo_config_1.wrapRepoBindingProjectError)(err, {
|
|
479
|
+
projectKey: key,
|
|
480
|
+
host: this.host,
|
|
481
|
+
bindingPath: this.bindingPath,
|
|
482
|
+
});
|
|
483
|
+
}
|
|
484
|
+
throw err;
|
|
485
|
+
}
|
|
486
|
+
}
|
|
308
487
|
/**
|
|
309
488
|
* Create an issue (REQ-JIRAPUB-001) — a Story (or configured type) when
|
|
310
489
|
* `parentKey` is absent, a Sub-task parented to `parentKey` when present.
|
|
@@ -354,6 +533,12 @@ class JiraClient {
|
|
|
354
533
|
patch.summary = fields.summary;
|
|
355
534
|
if (fields.description !== undefined)
|
|
356
535
|
patch.description = fields.description;
|
|
536
|
+
// Parent reassignment (REQ-JIRAREG-002.A3) — a Sub-task or child issue can
|
|
537
|
+
// be moved to a new Story/Epic parent without touching its body. JIRA
|
|
538
|
+
// expects `fields.parent: { key: "PROJ-N" }`; caller is responsible for
|
|
539
|
+
// skipping the write when the parent hasn't changed.
|
|
540
|
+
if (fields.parentKey !== undefined)
|
|
541
|
+
patch.parent = { key: fields.parentKey };
|
|
357
542
|
if (Object.keys(patch).length === 0)
|
|
358
543
|
return;
|
|
359
544
|
await this.write(`/rest/api/2/issue/${encodeURIComponent(trimmed)}`, { fields: patch }, 'PUT');
|
|
@@ -375,6 +560,59 @@ class JiraClient {
|
|
|
375
560
|
.map(c => (typeof c?.body === 'string' ? c.body : ''))
|
|
376
561
|
.filter(b => b.length > 0);
|
|
377
562
|
}
|
|
563
|
+
/**
|
|
564
|
+
* List comments with their JIRA-side ids (REQ-JIRATEAM-004.A3) so a caller
|
|
565
|
+
* can edit a specific comment in place instead of always appending. Same
|
|
566
|
+
* `GET /issue/{key}/comment` as `listComments`, but preserving each id.
|
|
567
|
+
*/
|
|
568
|
+
async listCommentsDetailed(key) {
|
|
569
|
+
const trimmed = (key ?? '').trim();
|
|
570
|
+
if (!trimmed) {
|
|
571
|
+
throw new types_1.JiraConfigError('An issue key is required (e.g., "PROJ-123").');
|
|
572
|
+
}
|
|
573
|
+
const body = await this.request(`/rest/api/2/issue/${encodeURIComponent(trimmed)}/comment`);
|
|
574
|
+
const raw = Array.isArray(body?.comments) ? body.comments : [];
|
|
575
|
+
return raw
|
|
576
|
+
.map(c => ({
|
|
577
|
+
id: String(c?.id ?? ''),
|
|
578
|
+
body: typeof c?.body === 'string' ? c.body : '',
|
|
579
|
+
}))
|
|
580
|
+
.filter(c => c.id.length > 0 && c.body.length > 0);
|
|
581
|
+
}
|
|
582
|
+
/**
|
|
583
|
+
* Edit an existing comment in place (REQ-JIRATEAM-004.A3).
|
|
584
|
+
* `PUT /issue/{key}/comment/{id}` with `{ body }`; used by the sprint
|
|
585
|
+
* coverage report so re-posting updates the single watermarked comment.
|
|
586
|
+
*/
|
|
587
|
+
async updateComment(key, commentId, body) {
|
|
588
|
+
const trimmed = (key ?? '').trim();
|
|
589
|
+
const id = (commentId ?? '').trim();
|
|
590
|
+
if (!trimmed || !id) {
|
|
591
|
+
throw new types_1.JiraConfigError('An issue key and comment id are required to update a comment.');
|
|
592
|
+
}
|
|
593
|
+
await this.write(`/rest/api/2/issue/${encodeURIComponent(trimmed)}/comment/${encodeURIComponent(id)}`, { body }, 'PUT');
|
|
594
|
+
}
|
|
595
|
+
/**
|
|
596
|
+
* Add a label to an issue idempotently (REQ-JIRAREG-003). Reads the current
|
|
597
|
+
* labels first and issues the PUT only when the label is missing — a re-run
|
|
598
|
+
* with the label already present is a zero-write. Uses the additive
|
|
599
|
+
* `update.labels add` shape so other labels are preserved.
|
|
600
|
+
*/
|
|
601
|
+
async addLabel(key, label) {
|
|
602
|
+
const trimmed = (key ?? '').trim();
|
|
603
|
+
const lab = (label ?? '').trim();
|
|
604
|
+
if (!trimmed || !lab) {
|
|
605
|
+
throw new types_1.JiraConfigError('An issue key and a label are required to add a label.');
|
|
606
|
+
}
|
|
607
|
+
const issue = await this.request(`/rest/api/2/issue/${encodeURIComponent(trimmed)}?fields=labels`);
|
|
608
|
+
const current = Array.isArray(issue?.fields?.labels)
|
|
609
|
+
? issue.fields.labels.map((v) => String(v))
|
|
610
|
+
: [];
|
|
611
|
+
if (current.includes(lab))
|
|
612
|
+
return { added: false };
|
|
613
|
+
await this.write(`/rest/api/2/issue/${encodeURIComponent(trimmed)}`, { update: { labels: [{ add: lab }] } }, 'PUT');
|
|
614
|
+
return { added: true };
|
|
615
|
+
}
|
|
378
616
|
/**
|
|
379
617
|
* Ensure a project version with `name` exists (REQ-JIRAPUB-007), creating
|
|
380
618
|
* it when missing. Returns whether this call created it — a re-run finds
|
|
@@ -522,7 +760,16 @@ class JiraClient {
|
|
|
522
760
|
`to it (HTTP 404).`);
|
|
523
761
|
}
|
|
524
762
|
if (!res.ok) {
|
|
525
|
-
|
|
763
|
+
// Surface JIRA's own validation detail (REQ-JIRATEAM-009.A4): a bare
|
|
764
|
+
// "HTTP 400" is undiagnosable, and the body's errorMessages/errors are
|
|
765
|
+
// field-validation strings (e.g. an invalid issue type), never
|
|
766
|
+
// credentials. Best-effort — a non-JSON body keeps the bare status.
|
|
767
|
+
let detail = '';
|
|
768
|
+
try {
|
|
769
|
+
detail = formatJiraErrorBody(await res.json());
|
|
770
|
+
}
|
|
771
|
+
catch { /* unreadable/non-JSON body */ }
|
|
772
|
+
throw new types_1.JiraConfigError(`JIRA at ${this.host} returned HTTP ${res.status}.${detail ? ` ${detail}` : ''}`);
|
|
526
773
|
}
|
|
527
774
|
return res;
|
|
528
775
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/jira/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/jira/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ export declare function inferDeployment(creds: {
|
|
|
36
36
|
*
|
|
37
37
|
* SECURITY: the thrown messages never include a token or PAT value.
|
|
38
38
|
*/
|
|
39
|
-
export declare function resolveJiraCredentials(): JiraCredentials;
|
|
39
|
+
export declare function resolveJiraCredentials(cwd?: string): JiraCredentials;
|
|
40
40
|
/**
|
|
41
41
|
* Persist config to `~/.specship/jira.json` with `0600` permissions —
|
|
42
42
|
* it holds a secret, so it must not be group/world readable.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/jira/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EACL,UAAU,EACV,eAAe,EAEf,cAAc,EACf,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/jira/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EACL,UAAU,EACV,eAAe,EAEf,cAAc,EACf,MAAM,SAAS,CAAC;AAGjB;;;GAGG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAKvC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,UAAU,GAAG,IAAI,CAsBlD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,cAAc,CAWjB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAsB,GAAG,eAAe,CAmFnF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAQvD"}
|
package/lib/dist/jira/config.js
CHANGED
|
@@ -51,6 +51,7 @@ const os = __importStar(require("os"));
|
|
|
51
51
|
const path = __importStar(require("path"));
|
|
52
52
|
const shared_1 = require("../installer/targets/shared");
|
|
53
53
|
const types_1 = require("./types");
|
|
54
|
+
const repo_config_1 = require("./repo-config");
|
|
54
55
|
/**
|
|
55
56
|
* Absolute path to the user-level JIRA config. Overridable via
|
|
56
57
|
* `SPECSHIP_JIRA_CONFIG` for tests. Never project-scoped.
|
|
@@ -112,8 +113,11 @@ function inferDeployment(creds) {
|
|
|
112
113
|
*
|
|
113
114
|
* SECURITY: the thrown messages never include a token or PAT value.
|
|
114
115
|
*/
|
|
115
|
-
function resolveJiraCredentials() {
|
|
116
|
+
function resolveJiraCredentials(cwd = process.cwd()) {
|
|
116
117
|
const file = loadJiraConfig(); // may throw on malformed
|
|
118
|
+
// Repo-committed team-lane binding (REQ-JIRATEAM-001). Credentials NEVER
|
|
119
|
+
// come from here; the loader rejects credential-shaped fields.
|
|
120
|
+
const repo = (0, repo_config_1.loadRepoJiraBinding)(cwd);
|
|
117
121
|
const baseUrl = process.env.SPECSHIP_JIRA_BASE_URL ?? file?.baseUrl;
|
|
118
122
|
const email = process.env.SPECSHIP_JIRA_EMAIL ?? file?.email;
|
|
119
123
|
const apiToken = process.env.SPECSHIP_JIRA_API_TOKEN ?? file?.apiToken;
|
|
@@ -140,8 +144,13 @@ function resolveJiraCredentials() {
|
|
|
140
144
|
const done = process.env.SPECSHIP_JIRA_TRANSITION_DONE ??
|
|
141
145
|
file?.transitions?.done ??
|
|
142
146
|
'Done';
|
|
143
|
-
//
|
|
144
|
-
|
|
147
|
+
// Publish project (REQ-JIRAPUB-001 / REQ-JIRATEAM-001). Precedence:
|
|
148
|
+
// repo binding > env > user-level file.
|
|
149
|
+
// Repo binding wins for project identity even over env so every teammate
|
|
150
|
+
// and CI run targets the same project; credentials never come from repo.
|
|
151
|
+
const userProject = process.env.SPECSHIP_JIRA_PROJECT ?? file?.project;
|
|
152
|
+
const project = repo.binding?.projectKey ?? userProject;
|
|
153
|
+
const bindingSource = repo.binding ? 'repo' : 'user';
|
|
145
154
|
const deployment = inferDeployment({
|
|
146
155
|
deployment: explicitDeployment,
|
|
147
156
|
email,
|
|
@@ -166,6 +175,8 @@ function resolveJiraCredentials() {
|
|
|
166
175
|
caCertPath,
|
|
167
176
|
insecureTls,
|
|
168
177
|
project,
|
|
178
|
+
bindingSource,
|
|
179
|
+
bindingPath: repo.path ?? undefined,
|
|
169
180
|
};
|
|
170
181
|
}
|
|
171
182
|
/**
|