specweave 1.0.407 → 1.0.410
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/dist/plugins/specweave-jira/lib/jira-paginated-search.d.ts +5 -2
- package/dist/plugins/specweave-jira/lib/jira-paginated-search.d.ts.map +1 -1
- package/dist/plugins/specweave-jira/lib/jira-paginated-search.js +12 -9
- package/dist/plugins/specweave-jira/lib/jira-paginated-search.js.map +1 -1
- package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts +5 -0
- package/dist/plugins/specweave-jira/lib/jira-spec-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-jira/lib/jira-spec-sync.js +41 -6
- package/dist/plugins/specweave-jira/lib/jira-spec-sync.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave-jira/lib/jira-paginated-search.js +7 -7
- package/plugins/specweave-jira/lib/jira-paginated-search.ts +13 -9
- package/plugins/specweave-jira/lib/jira-spec-sync.js +36 -5
- package/plugins/specweave-jira/lib/jira-spec-sync.ts +46 -7
|
@@ -2,11 +2,14 @@
|
|
|
2
2
|
* JIRA Paginated Search with Rate-Limit Retry
|
|
3
3
|
*
|
|
4
4
|
* Provides a paginated JQL search that fetches all results
|
|
5
|
-
*
|
|
5
|
+
* using cursor-based pagination (nextPageToken).
|
|
6
6
|
*
|
|
7
7
|
* Uses POST /search/jql endpoint (Atlassian Cloud deprecated
|
|
8
8
|
* GET /search; POST /search also returns 410).
|
|
9
9
|
*
|
|
10
|
+
* NOTE: POST /search/jql does NOT accept startAt — it uses
|
|
11
|
+
* nextPageToken for cursor-based pagination instead.
|
|
12
|
+
*
|
|
10
13
|
* Includes exponential backoff retry on HTTP 429 (rate limit).
|
|
11
14
|
*
|
|
12
15
|
* @module jira-paginated-search
|
|
@@ -21,7 +24,7 @@ export interface PaginatedSearchOptions {
|
|
|
21
24
|
* Search all issues matching a JQL query with full pagination.
|
|
22
25
|
* Handles rate limiting with exponential backoff.
|
|
23
26
|
*
|
|
24
|
-
* Uses POST /search/jql
|
|
27
|
+
* Uses POST /search/jql with cursor-based pagination (nextPageToken).
|
|
25
28
|
*
|
|
26
29
|
* @param client - Axios instance configured with JIRA auth
|
|
27
30
|
* @param options - Search options (jql, fields, maxResults per page)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jira-paginated-search.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/jira-paginated-search.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"jira-paginated-search.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/jira-paginated-search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAc,EAAE,aAAa,EAAc,MAAM,OAAO,CAAC;AAMzD,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,GAAG,EAAE,CAAC,CAgChB"}
|
|
@@ -2,11 +2,14 @@
|
|
|
2
2
|
* JIRA Paginated Search with Rate-Limit Retry
|
|
3
3
|
*
|
|
4
4
|
* Provides a paginated JQL search that fetches all results
|
|
5
|
-
*
|
|
5
|
+
* using cursor-based pagination (nextPageToken).
|
|
6
6
|
*
|
|
7
7
|
* Uses POST /search/jql endpoint (Atlassian Cloud deprecated
|
|
8
8
|
* GET /search; POST /search also returns 410).
|
|
9
9
|
*
|
|
10
|
+
* NOTE: POST /search/jql does NOT accept startAt — it uses
|
|
11
|
+
* nextPageToken for cursor-based pagination instead.
|
|
12
|
+
*
|
|
10
13
|
* Includes exponential backoff retry on HTTP 429 (rate limit).
|
|
11
14
|
*
|
|
12
15
|
* @module jira-paginated-search
|
|
@@ -18,7 +21,7 @@ const BASE_DELAY_MS = 1000;
|
|
|
18
21
|
* Search all issues matching a JQL query with full pagination.
|
|
19
22
|
* Handles rate limiting with exponential backoff.
|
|
20
23
|
*
|
|
21
|
-
* Uses POST /search/jql
|
|
24
|
+
* Uses POST /search/jql with cursor-based pagination (nextPageToken).
|
|
22
25
|
*
|
|
23
26
|
* @param client - Axios instance configured with JIRA auth
|
|
24
27
|
* @param options - Search options (jql, fields, maxResults per page)
|
|
@@ -27,27 +30,27 @@ const BASE_DELAY_MS = 1000;
|
|
|
27
30
|
export async function searchAllIssues(client, options) {
|
|
28
31
|
const { jql, fields, maxResults = DEFAULT_PAGE_SIZE } = options;
|
|
29
32
|
const allIssues = [];
|
|
30
|
-
let
|
|
31
|
-
|
|
32
|
-
while (startAt < total) {
|
|
33
|
+
let nextPageToken;
|
|
34
|
+
do {
|
|
33
35
|
const body = {
|
|
34
36
|
jql,
|
|
35
|
-
startAt,
|
|
36
37
|
maxResults,
|
|
37
38
|
};
|
|
39
|
+
if (nextPageToken) {
|
|
40
|
+
body.nextPageToken = nextPageToken;
|
|
41
|
+
}
|
|
38
42
|
if (fields) {
|
|
39
43
|
body.fields = fields.split(',').map((f) => f.trim());
|
|
40
44
|
}
|
|
41
45
|
const response = await requestWithRetry(client, '/search/jql', body);
|
|
42
46
|
const data = response.data;
|
|
43
|
-
total = data.total;
|
|
44
47
|
const issues = data.issues || [];
|
|
45
48
|
allIssues.push(...issues);
|
|
46
|
-
|
|
49
|
+
nextPageToken = data.nextPageToken;
|
|
47
50
|
// Safety: if no issues returned, break to avoid infinite loop
|
|
48
51
|
if (issues.length === 0)
|
|
49
52
|
break;
|
|
50
|
-
}
|
|
53
|
+
} while (nextPageToken);
|
|
51
54
|
return allIssues;
|
|
52
55
|
}
|
|
53
56
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jira-paginated-search.js","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/jira-paginated-search.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"jira-paginated-search.js","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/jira-paginated-search.ts"],"names":[],"mappings":"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"}
|
|
@@ -116,6 +116,11 @@ export declare class JiraSpecSync {
|
|
|
116
116
|
* Transition issue to new status
|
|
117
117
|
*/
|
|
118
118
|
private transitionIssue;
|
|
119
|
+
/**
|
|
120
|
+
* Resolve the actual issue type name available in this project.
|
|
121
|
+
* Falls back through preferred → alternatives if the preferred type doesn't exist.
|
|
122
|
+
*/
|
|
123
|
+
private resolveIssueType;
|
|
119
124
|
/**
|
|
120
125
|
* Map SpecWeave priority to JIRA priority name
|
|
121
126
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jira-spec-sync.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/jira-spec-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,EAGL,cAAc,EAEf,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAiB,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAKzE,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,WAAW,CAAC;IAClC,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAa;gBAEf,MAAM,EAAE,UAAU,EAAE,WAAW,GAAE,MAAsB,EAAE,SAAS,CAAC,EAAE,MAAM;IAkBvF;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"jira-spec-sync.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/jira-spec-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,EAGL,cAAc,EAEf,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAiB,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAKzE,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,WAAW,CAAC;IAClC,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAa;gBAEf,MAAM,EAAE,UAAU,EAAE,WAAW,GAAE,MAAsB,EAAE,SAAS,CAAC,EAAE,MAAM;IAkBvF;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAiE7D;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAyE3D;;OAEG;YACW,cAAc;IAoD5B;;OAEG;YACW,cAAc;IA6B5B;;OAEG;YACW,eAAe;IAmD7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA8B/B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;OAEG;YACW,eAAe;IAwB7B;;;;;;;;OAQG;YACW,gBAAgB;IAqC9B;;OAEG;YACW,mBAAmB;IA+BjC;;OAEG;YACW,aAAa;IAc3B;;OAEG;YACW,gBAAgB;IAsB9B;;OAEG;YACW,WAAW;IAwDzB;;OAEG;YACW,WAAW;IAwBzB;;OAEG;YACW,eAAe;IAuB7B;;;OAGG;YACW,gBAAgB;IA6B9B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAgBtB"}
|
|
@@ -97,7 +97,9 @@ export class JiraSpecSync {
|
|
|
97
97
|
};
|
|
98
98
|
}
|
|
99
99
|
catch (error) {
|
|
100
|
-
|
|
100
|
+
const axiosData = error?.response?.data;
|
|
101
|
+
const detail = axiosData ? JSON.stringify(axiosData) : '';
|
|
102
|
+
console.error('❌ Error syncing to Jira:', error?.message || error, detail ? `\n Response: ${detail}` : '');
|
|
101
103
|
return {
|
|
102
104
|
success: false,
|
|
103
105
|
specId,
|
|
@@ -437,7 +439,10 @@ ${acList}
|
|
|
437
439
|
* Find story by title pattern
|
|
438
440
|
*/
|
|
439
441
|
async findStoryByTitle(usId) {
|
|
440
|
-
|
|
442
|
+
// Search for user story by ID in summary — don't hardcode issuetype since
|
|
443
|
+
// projects may use Task, New Feature, etc. instead of Story.
|
|
444
|
+
// NOTE: POST /search/jql doesn't support != operator — use "not in (Epic)" instead.
|
|
445
|
+
const jql = `project = ${this.config.projectKey} AND summary ~ "${usId}" AND issuetype not in (Epic)`;
|
|
441
446
|
const issues = await searchAllIssues(this.client, {
|
|
442
447
|
jql,
|
|
443
448
|
fields: 'summary,description,status,labels',
|
|
@@ -456,8 +461,9 @@ ${acList}
|
|
|
456
461
|
* Create Jira Story
|
|
457
462
|
*/
|
|
458
463
|
async createStory(story) {
|
|
459
|
-
// Determine issue type
|
|
460
|
-
const
|
|
464
|
+
// Determine issue type with fallback for projects that lack "Story"
|
|
465
|
+
const preferredType = this.mapTypeToJira(story.type, 'Story');
|
|
466
|
+
const issueType = await this.resolveIssueType(preferredType);
|
|
461
467
|
// Discover epic link field dynamically based on project style
|
|
462
468
|
const { field: epicField, style } = await getEpicLinkFieldForProject(this.config.domain, this.config.projectKey, { email: this.config.email, apiToken: this.config.apiToken });
|
|
463
469
|
const fields = {
|
|
@@ -465,7 +471,7 @@ ${acList}
|
|
|
465
471
|
key: this.config.projectKey
|
|
466
472
|
},
|
|
467
473
|
summary: story.summary,
|
|
468
|
-
description: story.description,
|
|
474
|
+
description: toDescription(story.description, this.config.domain),
|
|
469
475
|
issuetype: {
|
|
470
476
|
name: issueType
|
|
471
477
|
},
|
|
@@ -504,7 +510,7 @@ ${acList}
|
|
|
504
510
|
payload.fields.summary = updates.summary;
|
|
505
511
|
}
|
|
506
512
|
if (updates.description) {
|
|
507
|
-
payload.fields.description = updates.description;
|
|
513
|
+
payload.fields.description = toDescription(updates.description, this.config.domain);
|
|
508
514
|
}
|
|
509
515
|
await this.client.put(`/issue/${storyKey}`, payload);
|
|
510
516
|
// Handle status transition if needed
|
|
@@ -532,6 +538,35 @@ ${acList}
|
|
|
532
538
|
}
|
|
533
539
|
});
|
|
534
540
|
}
|
|
541
|
+
/**
|
|
542
|
+
* Resolve the actual issue type name available in this project.
|
|
543
|
+
* Falls back through preferred → alternatives if the preferred type doesn't exist.
|
|
544
|
+
*/
|
|
545
|
+
async resolveIssueType(preferred) {
|
|
546
|
+
try {
|
|
547
|
+
const response = await this.client.get(`/issue/createmeta/${this.config.projectKey}/issuetypes`);
|
|
548
|
+
const types = response.data.issueTypes || [];
|
|
549
|
+
const available = types.filter(t => !t.subtask).map(t => t.name);
|
|
550
|
+
if (available.includes(preferred))
|
|
551
|
+
return preferred;
|
|
552
|
+
// Fallback chain: Story → Task → New Feature → first available
|
|
553
|
+
const fallbacks = ['Story', 'Task', 'New Feature', 'Improvement'];
|
|
554
|
+
for (const fb of fallbacks) {
|
|
555
|
+
if (available.includes(fb)) {
|
|
556
|
+
console.log(` ℹ️ Issue type "${preferred}" not available, using "${fb}"`);
|
|
557
|
+
return fb;
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
if (available.length > 0) {
|
|
561
|
+
console.log(` ℹ️ Issue type "${preferred}" not available, using "${available[0]}"`);
|
|
562
|
+
return available[0];
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
catch {
|
|
566
|
+
// If createmeta fails, just use preferred and let the create call handle it
|
|
567
|
+
}
|
|
568
|
+
return preferred;
|
|
569
|
+
}
|
|
535
570
|
/**
|
|
536
571
|
* Map SpecWeave priority to JIRA priority name
|
|
537
572
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jira-spec-sync.js","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/jira-spec-sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jira-spec-sync.js","sourceRoot":"","sources":["../../../../plugins/specweave-jira/lib/jira-spec-sync.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specweave",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.410",
|
|
4
4
|
"description": "Spec-driven development framework for AI coding agents. Works with Claude Code, Codex, Antigravity, Cursor, Copilot & more. 100+ skills, 49 CLI commands, verified skill certification, autonomous execution, and living documentation.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -4,25 +4,25 @@ const BASE_DELAY_MS = 1e3;
|
|
|
4
4
|
async function searchAllIssues(client, options) {
|
|
5
5
|
const { jql, fields, maxResults = DEFAULT_PAGE_SIZE } = options;
|
|
6
6
|
const allIssues = [];
|
|
7
|
-
let
|
|
8
|
-
|
|
9
|
-
while (startAt < total) {
|
|
7
|
+
let nextPageToken;
|
|
8
|
+
do {
|
|
10
9
|
const body = {
|
|
11
10
|
jql,
|
|
12
|
-
startAt,
|
|
13
11
|
maxResults
|
|
14
12
|
};
|
|
13
|
+
if (nextPageToken) {
|
|
14
|
+
body.nextPageToken = nextPageToken;
|
|
15
|
+
}
|
|
15
16
|
if (fields) {
|
|
16
17
|
body.fields = fields.split(",").map((f) => f.trim());
|
|
17
18
|
}
|
|
18
19
|
const response = await requestWithRetry(client, "/search/jql", body);
|
|
19
20
|
const data = response.data;
|
|
20
|
-
total = data.total;
|
|
21
21
|
const issues = data.issues || [];
|
|
22
22
|
allIssues.push(...issues);
|
|
23
|
-
|
|
23
|
+
nextPageToken = data.nextPageToken;
|
|
24
24
|
if (issues.length === 0) break;
|
|
25
|
-
}
|
|
25
|
+
} while (nextPageToken);
|
|
26
26
|
return allIssues;
|
|
27
27
|
}
|
|
28
28
|
async function requestWithRetry(client, url, body, attempt = 0) {
|
|
@@ -2,11 +2,14 @@
|
|
|
2
2
|
* JIRA Paginated Search with Rate-Limit Retry
|
|
3
3
|
*
|
|
4
4
|
* Provides a paginated JQL search that fetches all results
|
|
5
|
-
*
|
|
5
|
+
* using cursor-based pagination (nextPageToken).
|
|
6
6
|
*
|
|
7
7
|
* Uses POST /search/jql endpoint (Atlassian Cloud deprecated
|
|
8
8
|
* GET /search; POST /search also returns 410).
|
|
9
9
|
*
|
|
10
|
+
* NOTE: POST /search/jql does NOT accept startAt — it uses
|
|
11
|
+
* nextPageToken for cursor-based pagination instead.
|
|
12
|
+
*
|
|
10
13
|
* Includes exponential backoff retry on HTTP 429 (rate limit).
|
|
11
14
|
*
|
|
12
15
|
* @module jira-paginated-search
|
|
@@ -28,7 +31,7 @@ export interface PaginatedSearchOptions {
|
|
|
28
31
|
* Search all issues matching a JQL query with full pagination.
|
|
29
32
|
* Handles rate limiting with exponential backoff.
|
|
30
33
|
*
|
|
31
|
-
* Uses POST /search/jql
|
|
34
|
+
* Uses POST /search/jql with cursor-based pagination (nextPageToken).
|
|
32
35
|
*
|
|
33
36
|
* @param client - Axios instance configured with JIRA auth
|
|
34
37
|
* @param options - Search options (jql, fields, maxResults per page)
|
|
@@ -40,16 +43,18 @@ export async function searchAllIssues(
|
|
|
40
43
|
): Promise<any[]> {
|
|
41
44
|
const { jql, fields, maxResults = DEFAULT_PAGE_SIZE } = options;
|
|
42
45
|
const allIssues: any[] = [];
|
|
43
|
-
let
|
|
44
|
-
let total = Infinity;
|
|
46
|
+
let nextPageToken: string | undefined;
|
|
45
47
|
|
|
46
|
-
|
|
48
|
+
do {
|
|
47
49
|
const body: Record<string, any> = {
|
|
48
50
|
jql,
|
|
49
|
-
startAt,
|
|
50
51
|
maxResults,
|
|
51
52
|
};
|
|
52
53
|
|
|
54
|
+
if (nextPageToken) {
|
|
55
|
+
body.nextPageToken = nextPageToken;
|
|
56
|
+
}
|
|
57
|
+
|
|
53
58
|
if (fields) {
|
|
54
59
|
body.fields = fields.split(',').map((f: string) => f.trim());
|
|
55
60
|
}
|
|
@@ -57,15 +62,14 @@ export async function searchAllIssues(
|
|
|
57
62
|
const response = await requestWithRetry(client, '/search/jql', body);
|
|
58
63
|
|
|
59
64
|
const data = response.data;
|
|
60
|
-
total = data.total;
|
|
61
65
|
const issues = data.issues || [];
|
|
62
66
|
allIssues.push(...issues);
|
|
63
67
|
|
|
64
|
-
|
|
68
|
+
nextPageToken = data.nextPageToken;
|
|
65
69
|
|
|
66
70
|
// Safety: if no issues returned, break to avoid infinite loop
|
|
67
71
|
if (issues.length === 0) break;
|
|
68
|
-
}
|
|
72
|
+
} while (nextPageToken);
|
|
69
73
|
|
|
70
74
|
return allIssues;
|
|
71
75
|
}
|
|
@@ -75,7 +75,10 @@ class JiraSpecSync {
|
|
|
75
75
|
changes
|
|
76
76
|
};
|
|
77
77
|
} catch (error) {
|
|
78
|
-
|
|
78
|
+
const axiosData = error?.response?.data;
|
|
79
|
+
const detail = axiosData ? JSON.stringify(axiosData) : "";
|
|
80
|
+
console.error("\u274C Error syncing to Jira:", error?.message || error, detail ? `
|
|
81
|
+
Response: ${detail}` : "");
|
|
79
82
|
return {
|
|
80
83
|
success: false,
|
|
81
84
|
specId,
|
|
@@ -397,7 +400,7 @@ ${acList}
|
|
|
397
400
|
* Find story by title pattern
|
|
398
401
|
*/
|
|
399
402
|
async findStoryByTitle(usId) {
|
|
400
|
-
const jql = `project = ${this.config.projectKey} AND summary ~ "
|
|
403
|
+
const jql = `project = ${this.config.projectKey} AND summary ~ "${usId}" AND issuetype not in (Epic)`;
|
|
401
404
|
const issues = await searchAllIssues(this.client, {
|
|
402
405
|
jql,
|
|
403
406
|
fields: "summary,description,status,labels",
|
|
@@ -416,7 +419,8 @@ ${acList}
|
|
|
416
419
|
* Create Jira Story
|
|
417
420
|
*/
|
|
418
421
|
async createStory(story) {
|
|
419
|
-
const
|
|
422
|
+
const preferredType = this.mapTypeToJira(story.type, "Story");
|
|
423
|
+
const issueType = await this.resolveIssueType(preferredType);
|
|
420
424
|
const { field: epicField, style } = await getEpicLinkFieldForProject(
|
|
421
425
|
this.config.domain,
|
|
422
426
|
this.config.projectKey,
|
|
@@ -427,7 +431,7 @@ ${acList}
|
|
|
427
431
|
key: this.config.projectKey
|
|
428
432
|
},
|
|
429
433
|
summary: story.summary,
|
|
430
|
-
description: story.description,
|
|
434
|
+
description: toDescription(story.description, this.config.domain),
|
|
431
435
|
issuetype: {
|
|
432
436
|
name: issueType
|
|
433
437
|
},
|
|
@@ -464,7 +468,7 @@ ${acList}
|
|
|
464
468
|
payload.fields.summary = updates.summary;
|
|
465
469
|
}
|
|
466
470
|
if (updates.description) {
|
|
467
|
-
payload.fields.description = updates.description;
|
|
471
|
+
payload.fields.description = toDescription(updates.description, this.config.domain);
|
|
468
472
|
}
|
|
469
473
|
await this.client.put(`/issue/${storyKey}`, payload);
|
|
470
474
|
if (updates.status) {
|
|
@@ -490,6 +494,33 @@ ${acList}
|
|
|
490
494
|
}
|
|
491
495
|
});
|
|
492
496
|
}
|
|
497
|
+
/**
|
|
498
|
+
* Resolve the actual issue type name available in this project.
|
|
499
|
+
* Falls back through preferred → alternatives if the preferred type doesn't exist.
|
|
500
|
+
*/
|
|
501
|
+
async resolveIssueType(preferred) {
|
|
502
|
+
try {
|
|
503
|
+
const response = await this.client.get(
|
|
504
|
+
`/issue/createmeta/${this.config.projectKey}/issuetypes`
|
|
505
|
+
);
|
|
506
|
+
const types = response.data.issueTypes || [];
|
|
507
|
+
const available = types.filter((t) => !t.subtask).map((t) => t.name);
|
|
508
|
+
if (available.includes(preferred)) return preferred;
|
|
509
|
+
const fallbacks = ["Story", "Task", "New Feature", "Improvement"];
|
|
510
|
+
for (const fb of fallbacks) {
|
|
511
|
+
if (available.includes(fb)) {
|
|
512
|
+
console.log(` \u2139\uFE0F Issue type "${preferred}" not available, using "${fb}"`);
|
|
513
|
+
return fb;
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
if (available.length > 0) {
|
|
517
|
+
console.log(` \u2139\uFE0F Issue type "${preferred}" not available, using "${available[0]}"`);
|
|
518
|
+
return available[0];
|
|
519
|
+
}
|
|
520
|
+
} catch {
|
|
521
|
+
}
|
|
522
|
+
return preferred;
|
|
523
|
+
}
|
|
493
524
|
/**
|
|
494
525
|
* Map SpecWeave priority to JIRA priority name
|
|
495
526
|
*
|
|
@@ -149,8 +149,10 @@ export class JiraSpecSync {
|
|
|
149
149
|
changes
|
|
150
150
|
};
|
|
151
151
|
|
|
152
|
-
} catch (error) {
|
|
153
|
-
|
|
152
|
+
} catch (error: any) {
|
|
153
|
+
const axiosData = error?.response?.data;
|
|
154
|
+
const detail = axiosData ? JSON.stringify(axiosData) : '';
|
|
155
|
+
console.error('❌ Error syncing to Jira:', error?.message || error, detail ? `\n Response: ${detail}` : '');
|
|
154
156
|
return {
|
|
155
157
|
success: false,
|
|
156
158
|
specId,
|
|
@@ -562,7 +564,10 @@ ${acList}
|
|
|
562
564
|
* Find story by title pattern
|
|
563
565
|
*/
|
|
564
566
|
private async findStoryByTitle(usId: string): Promise<JiraStory | null> {
|
|
565
|
-
|
|
567
|
+
// Search for user story by ID in summary — don't hardcode issuetype since
|
|
568
|
+
// projects may use Task, New Feature, etc. instead of Story.
|
|
569
|
+
// NOTE: POST /search/jql doesn't support != operator — use "not in (Epic)" instead.
|
|
570
|
+
const jql = `project = ${this.config.projectKey} AND summary ~ "${usId}" AND issuetype not in (Epic)`;
|
|
566
571
|
|
|
567
572
|
const issues = await searchAllIssues(this.client, {
|
|
568
573
|
jql,
|
|
@@ -591,8 +596,9 @@ ${acList}
|
|
|
591
596
|
priority?: string;
|
|
592
597
|
type?: string;
|
|
593
598
|
}): Promise<JiraStory> {
|
|
594
|
-
// Determine issue type
|
|
595
|
-
const
|
|
599
|
+
// Determine issue type with fallback for projects that lack "Story"
|
|
600
|
+
const preferredType = this.mapTypeToJira(story.type, 'Story');
|
|
601
|
+
const issueType = await this.resolveIssueType(preferredType);
|
|
596
602
|
|
|
597
603
|
// Discover epic link field dynamically based on project style
|
|
598
604
|
const { field: epicField, style } = await getEpicLinkFieldForProject(
|
|
@@ -606,7 +612,7 @@ ${acList}
|
|
|
606
612
|
key: this.config.projectKey
|
|
607
613
|
},
|
|
608
614
|
summary: story.summary,
|
|
609
|
-
description: story.description,
|
|
615
|
+
description: toDescription(story.description, this.config.domain),
|
|
610
616
|
issuetype: {
|
|
611
617
|
name: issueType
|
|
612
618
|
},
|
|
@@ -654,7 +660,7 @@ ${acList}
|
|
|
654
660
|
}
|
|
655
661
|
|
|
656
662
|
if (updates.description) {
|
|
657
|
-
payload.fields.description = updates.description;
|
|
663
|
+
payload.fields.description = toDescription(updates.description, this.config.domain);
|
|
658
664
|
}
|
|
659
665
|
|
|
660
666
|
await this.client.put(`/issue/${storyKey}`, payload);
|
|
@@ -691,6 +697,39 @@ ${acList}
|
|
|
691
697
|
});
|
|
692
698
|
}
|
|
693
699
|
|
|
700
|
+
/**
|
|
701
|
+
* Resolve the actual issue type name available in this project.
|
|
702
|
+
* Falls back through preferred → alternatives if the preferred type doesn't exist.
|
|
703
|
+
*/
|
|
704
|
+
private async resolveIssueType(preferred: string): Promise<string> {
|
|
705
|
+
try {
|
|
706
|
+
const response = await this.client.get(
|
|
707
|
+
`/issue/createmeta/${this.config.projectKey}/issuetypes`
|
|
708
|
+
);
|
|
709
|
+
const types: Array<{ name: string; subtask: boolean }> = response.data.issueTypes || [];
|
|
710
|
+
const available = types.filter(t => !t.subtask).map(t => t.name);
|
|
711
|
+
|
|
712
|
+
if (available.includes(preferred)) return preferred;
|
|
713
|
+
|
|
714
|
+
// Fallback chain: Story → Task → New Feature → first available
|
|
715
|
+
const fallbacks = ['Story', 'Task', 'New Feature', 'Improvement'];
|
|
716
|
+
for (const fb of fallbacks) {
|
|
717
|
+
if (available.includes(fb)) {
|
|
718
|
+
console.log(` ℹ️ Issue type "${preferred}" not available, using "${fb}"`);
|
|
719
|
+
return fb;
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
if (available.length > 0) {
|
|
724
|
+
console.log(` ℹ️ Issue type "${preferred}" not available, using "${available[0]}"`);
|
|
725
|
+
return available[0];
|
|
726
|
+
}
|
|
727
|
+
} catch {
|
|
728
|
+
// If createmeta fails, just use preferred and let the create call handle it
|
|
729
|
+
}
|
|
730
|
+
return preferred;
|
|
731
|
+
}
|
|
732
|
+
|
|
694
733
|
/**
|
|
695
734
|
* Map SpecWeave priority to JIRA priority name
|
|
696
735
|
*
|