specweave 1.0.407 → 1.0.409
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 +39 -5
- 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 +35 -4
- package/plugins/specweave-jira/lib/jira-spec-sync.ts +44 -6
|
@@ -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;IAqB9B;;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,9 @@ ${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
|
+
const jql = `project = ${this.config.projectKey} AND summary ~ "[${usId}]" AND issuetype != Epic`;
|
|
441
445
|
const issues = await searchAllIssues(this.client, {
|
|
442
446
|
jql,
|
|
443
447
|
fields: 'summary,description,status,labels',
|
|
@@ -456,8 +460,9 @@ ${acList}
|
|
|
456
460
|
* Create Jira Story
|
|
457
461
|
*/
|
|
458
462
|
async createStory(story) {
|
|
459
|
-
// Determine issue type
|
|
460
|
-
const
|
|
463
|
+
// Determine issue type with fallback for projects that lack "Story"
|
|
464
|
+
const preferredType = this.mapTypeToJira(story.type, 'Story');
|
|
465
|
+
const issueType = await this.resolveIssueType(preferredType);
|
|
461
466
|
// Discover epic link field dynamically based on project style
|
|
462
467
|
const { field: epicField, style } = await getEpicLinkFieldForProject(this.config.domain, this.config.projectKey, { email: this.config.email, apiToken: this.config.apiToken });
|
|
463
468
|
const fields = {
|
|
@@ -465,7 +470,7 @@ ${acList}
|
|
|
465
470
|
key: this.config.projectKey
|
|
466
471
|
},
|
|
467
472
|
summary: story.summary,
|
|
468
|
-
description: story.description,
|
|
473
|
+
description: toDescription(story.description, this.config.domain),
|
|
469
474
|
issuetype: {
|
|
470
475
|
name: issueType
|
|
471
476
|
},
|
|
@@ -532,6 +537,35 @@ ${acList}
|
|
|
532
537
|
}
|
|
533
538
|
});
|
|
534
539
|
}
|
|
540
|
+
/**
|
|
541
|
+
* Resolve the actual issue type name available in this project.
|
|
542
|
+
* Falls back through preferred → alternatives if the preferred type doesn't exist.
|
|
543
|
+
*/
|
|
544
|
+
async resolveIssueType(preferred) {
|
|
545
|
+
try {
|
|
546
|
+
const response = await this.client.get(`/issue/createmeta/${this.config.projectKey}/issuetypes`);
|
|
547
|
+
const types = response.data.issueTypes || [];
|
|
548
|
+
const available = types.filter(t => !t.subtask).map(t => t.name);
|
|
549
|
+
if (available.includes(preferred))
|
|
550
|
+
return preferred;
|
|
551
|
+
// Fallback chain: Story → Task → New Feature → first available
|
|
552
|
+
const fallbacks = ['Story', 'Task', 'New Feature', 'Improvement'];
|
|
553
|
+
for (const fb of fallbacks) {
|
|
554
|
+
if (available.includes(fb)) {
|
|
555
|
+
console.log(` ℹ️ Issue type "${preferred}" not available, using "${fb}"`);
|
|
556
|
+
return fb;
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
if (available.length > 0) {
|
|
560
|
+
console.log(` ℹ️ Issue type "${preferred}" not available, using "${available[0]}"`);
|
|
561
|
+
return available[0];
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
catch {
|
|
565
|
+
// If createmeta fails, just use preferred and let the create call handle it
|
|
566
|
+
}
|
|
567
|
+
return preferred;
|
|
568
|
+
}
|
|
535
569
|
/**
|
|
536
570
|
* Map SpecWeave priority to JIRA priority name
|
|
537
571
|
*
|
|
@@ -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.409",
|
|
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 ~ "[${usId}]" AND issuetype
|
|
403
|
+
const jql = `project = ${this.config.projectKey} AND summary ~ "[${usId}]" AND issuetype != 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
|
},
|
|
@@ -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,9 @@ ${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
|
+
const jql = `project = ${this.config.projectKey} AND summary ~ "[${usId}]" AND issuetype != Epic`;
|
|
566
570
|
|
|
567
571
|
const issues = await searchAllIssues(this.client, {
|
|
568
572
|
jql,
|
|
@@ -591,8 +595,9 @@ ${acList}
|
|
|
591
595
|
priority?: string;
|
|
592
596
|
type?: string;
|
|
593
597
|
}): Promise<JiraStory> {
|
|
594
|
-
// Determine issue type
|
|
595
|
-
const
|
|
598
|
+
// Determine issue type with fallback for projects that lack "Story"
|
|
599
|
+
const preferredType = this.mapTypeToJira(story.type, 'Story');
|
|
600
|
+
const issueType = await this.resolveIssueType(preferredType);
|
|
596
601
|
|
|
597
602
|
// Discover epic link field dynamically based on project style
|
|
598
603
|
const { field: epicField, style } = await getEpicLinkFieldForProject(
|
|
@@ -606,7 +611,7 @@ ${acList}
|
|
|
606
611
|
key: this.config.projectKey
|
|
607
612
|
},
|
|
608
613
|
summary: story.summary,
|
|
609
|
-
description: story.description,
|
|
614
|
+
description: toDescription(story.description, this.config.domain),
|
|
610
615
|
issuetype: {
|
|
611
616
|
name: issueType
|
|
612
617
|
},
|
|
@@ -691,6 +696,39 @@ ${acList}
|
|
|
691
696
|
});
|
|
692
697
|
}
|
|
693
698
|
|
|
699
|
+
/**
|
|
700
|
+
* Resolve the actual issue type name available in this project.
|
|
701
|
+
* Falls back through preferred → alternatives if the preferred type doesn't exist.
|
|
702
|
+
*/
|
|
703
|
+
private async resolveIssueType(preferred: string): Promise<string> {
|
|
704
|
+
try {
|
|
705
|
+
const response = await this.client.get(
|
|
706
|
+
`/issue/createmeta/${this.config.projectKey}/issuetypes`
|
|
707
|
+
);
|
|
708
|
+
const types: Array<{ name: string; subtask: boolean }> = response.data.issueTypes || [];
|
|
709
|
+
const available = types.filter(t => !t.subtask).map(t => t.name);
|
|
710
|
+
|
|
711
|
+
if (available.includes(preferred)) return preferred;
|
|
712
|
+
|
|
713
|
+
// Fallback chain: Story → Task → New Feature → first available
|
|
714
|
+
const fallbacks = ['Story', 'Task', 'New Feature', 'Improvement'];
|
|
715
|
+
for (const fb of fallbacks) {
|
|
716
|
+
if (available.includes(fb)) {
|
|
717
|
+
console.log(` ℹ️ Issue type "${preferred}" not available, using "${fb}"`);
|
|
718
|
+
return fb;
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
if (available.length > 0) {
|
|
723
|
+
console.log(` ℹ️ Issue type "${preferred}" not available, using "${available[0]}"`);
|
|
724
|
+
return available[0];
|
|
725
|
+
}
|
|
726
|
+
} catch {
|
|
727
|
+
// If createmeta fails, just use preferred and let the create call handle it
|
|
728
|
+
}
|
|
729
|
+
return preferred;
|
|
730
|
+
}
|
|
731
|
+
|
|
694
732
|
/**
|
|
695
733
|
* Map SpecWeave priority to JIRA priority name
|
|
696
734
|
*
|