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.
@@ -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
- * by iterating through pages using startAt/maxResults.
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 (the replacement for the deprecated GET/POST /search).
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;;;;;;;;;;;;GAYG;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,CA+BhB"}
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
- * by iterating through pages using startAt/maxResults.
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 (the replacement for the deprecated GET/POST /search).
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 startAt = 0;
31
- let total = Infinity;
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
- startAt += issues.length;
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":"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"}
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;IA+D7D;;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;IAmB9B;;OAEG;YACW,WAAW;IAuDzB;;OAEG;YACW,WAAW;IAwBzB;;OAEG;YACW,eAAe;IAuB7B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAgBtB"}
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
- console.error('❌ Error syncing to Jira:', error);
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
- const jql = `project = ${this.config.projectKey} AND summary ~ "[${usId}]" AND issuetype = Story`;
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 (supports Bug for bug-type stories)
460
- const issueType = this.mapTypeToJira(story.type, 'Story');
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.407",
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 startAt = 0;
8
- let total = Infinity;
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
- startAt += issues.length;
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
- * by iterating through pages using startAt/maxResults.
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 (the replacement for the deprecated GET/POST /search).
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 startAt = 0;
44
- let total = Infinity;
46
+ let nextPageToken: string | undefined;
45
47
 
46
- while (startAt < total) {
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
- startAt += issues.length;
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
- console.error("\u274C Error syncing to Jira:", error);
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 = Story`;
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 issueType = this.mapTypeToJira(story.type, "Story");
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
- console.error('❌ Error syncing to Jira:', error);
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
- const jql = `project = ${this.config.projectKey} AND summary ~ "[${usId}]" AND issuetype = Story`;
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 (supports Bug for bug-type stories)
595
- const issueType = this.mapTypeToJira(story.type, 'Story');
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
  *