jiradc-cli 0.0.7 → 0.0.9

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.
Files changed (63) hide show
  1. package/dist/commands/board/index.d.ts.map +1 -1
  2. package/dist/commands/board/index.js +4 -2
  3. package/dist/commands/board/index.js.map +1 -1
  4. package/dist/commands/field/index.d.ts.map +1 -1
  5. package/dist/commands/field/index.js +4 -2
  6. package/dist/commands/field/index.js.map +1 -1
  7. package/dist/commands/issue/attachment/delete.d.ts +3 -0
  8. package/dist/commands/issue/attachment/delete.d.ts.map +1 -0
  9. package/dist/commands/issue/attachment/delete.js +20 -0
  10. package/dist/commands/issue/attachment/delete.js.map +1 -0
  11. package/dist/commands/issue/attachment/download-all.d.ts +3 -0
  12. package/dist/commands/issue/attachment/download-all.d.ts.map +1 -0
  13. package/dist/commands/issue/attachment/download-all.js +53 -0
  14. package/dist/commands/issue/attachment/download-all.js.map +1 -0
  15. package/dist/commands/issue/attachment/download.d.ts +3 -0
  16. package/dist/commands/issue/attachment/download.d.ts.map +1 -0
  17. package/dist/commands/issue/attachment/download.js +35 -0
  18. package/dist/commands/issue/attachment/download.js.map +1 -0
  19. package/dist/commands/issue/attachment/index.d.ts +3 -0
  20. package/dist/commands/issue/attachment/index.d.ts.map +1 -0
  21. package/dist/commands/issue/attachment/index.js +24 -0
  22. package/dist/commands/issue/attachment/index.js.map +1 -0
  23. package/dist/commands/issue/attachment/list.d.ts +3 -0
  24. package/dist/commands/issue/attachment/list.d.ts.map +1 -0
  25. package/dist/commands/issue/attachment/list.js +33 -0
  26. package/dist/commands/issue/attachment/list.js.map +1 -0
  27. package/dist/commands/issue/attachment/upload.d.ts +3 -0
  28. package/dist/commands/issue/attachment/upload.d.ts.map +1 -0
  29. package/dist/commands/issue/attachment/upload.js +35 -0
  30. package/dist/commands/issue/attachment/upload.js.map +1 -0
  31. package/dist/commands/issue/create.js.map +1 -1
  32. package/dist/commands/issue/index.d.ts.map +1 -1
  33. package/dist/commands/issue/index.js +18 -13
  34. package/dist/commands/issue/index.js.map +1 -1
  35. package/dist/commands/issue/update.d.ts.map +1 -1
  36. package/dist/commands/issue/update.js +4 -1
  37. package/dist/commands/issue/update.js.map +1 -1
  38. package/dist/commands/link/index.d.ts.map +1 -1
  39. package/dist/commands/link/index.js +4 -2
  40. package/dist/commands/link/index.js.map +1 -1
  41. package/dist/commands/project/index.d.ts.map +1 -1
  42. package/dist/commands/project/index.js +3 -1
  43. package/dist/commands/project/index.js.map +1 -1
  44. package/dist/commands/sprint/index.d.ts.map +1 -1
  45. package/dist/commands/sprint/index.js +5 -3
  46. package/dist/commands/sprint/index.js.map +1 -1
  47. package/dist/commands/sprint/update.d.ts.map +1 -1
  48. package/dist/commands/sprint/update.js.map +1 -1
  49. package/dist/commands/user/index.d.ts.map +1 -1
  50. package/dist/commands/user/index.js +3 -1
  51. package/dist/commands/user/index.js.map +1 -1
  52. package/dist/commands/user/me.d.ts.map +1 -1
  53. package/dist/commands/user/me.js +1 -3
  54. package/dist/commands/user/me.js.map +1 -1
  55. package/dist/index.js +4 -4
  56. package/dist/index.js.map +1 -1
  57. package/dist/utils/client.d.ts.map +1 -1
  58. package/dist/utils/client.js +3 -6
  59. package/dist/utils/client.js.map +1 -1
  60. package/dist/utils/output.d.ts.map +1 -1
  61. package/dist/utils/output.js +12 -6
  62. package/dist/utils/output.js.map +1 -1
  63. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/board/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAUrD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/board/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAerD"}
@@ -1,7 +1,9 @@
1
- import { list } from './list.js';
2
1
  import { issues } from './issues.js';
2
+ import { list } from './list.js';
3
3
  export function registerBoardCommands(program) {
4
- const board = program.command('board').description('Board operations')
4
+ const board = program
5
+ .command('board')
6
+ .description('Board operations')
5
7
  .addHelpText('after', `
6
8
  Examples:
7
9
  $ jiradc board list
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/board/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC;SACnE,WAAW,CAAC,OAAO,EAAE;;;;;CAKzB,CAAC,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,CAAC;IACZ,MAAM,CAAC,KAAK,CAAC,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/board/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,WAAW,CACV,OAAO,EACP;;;;;CAKL,CACI,CAAC;IACJ,IAAI,CAAC,KAAK,CAAC,CAAC;IACZ,MAAM,CAAC,KAAK,CAAC,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAUrD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAerD"}
@@ -1,7 +1,9 @@
1
- import { search } from './search.js';
2
1
  import { options } from './options.js';
2
+ import { search } from './search.js';
3
3
  export function registerFieldCommands(program) {
4
- const field = program.command('field').description('Field operations')
4
+ const field = program
5
+ .command('field')
6
+ .description('Field operations')
5
7
  .addHelpText('after', `
6
8
  Examples:
7
9
  $ jiradc field search "epic"
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/field/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC;SACnE,WAAW,CAAC,OAAO,EAAE;;;;;CAKzB,CAAC,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,CAAC;IACd,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/field/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,WAAW,CACV,OAAO,EACP;;;;;CAKL,CACI,CAAC;IACJ,MAAM,CAAC,KAAK,CAAC,CAAC;IACd,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function deleteAttachment(parent: Command): void;
3
+ //# sourceMappingURL=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/commands/issue/attachment/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,QAe/C"}
@@ -0,0 +1,20 @@
1
+ import { getClient } from '../../../utils/client.js';
2
+ import { output, handleError } from '../../../utils/output.js';
3
+ export function deleteAttachment(parent) {
4
+ parent
5
+ .command('delete')
6
+ .description('Delete an attachment by ID')
7
+ .requiredOption('--id <attachmentId>', 'Attachment ID to delete')
8
+ .addHelpText('after', '\nExamples:\n jiradc issue attachment delete --id 12345')
9
+ .action(async (opts) => {
10
+ try {
11
+ const client = getClient();
12
+ await client.issues.deleteAttachment({ attachmentId: opts.id });
13
+ output({ deleted: true, attachmentId: opts.id });
14
+ }
15
+ catch (err) {
16
+ handleError(err);
17
+ }
18
+ });
19
+ }
20
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/issue/attachment/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,gBAAgB,CAAC,MAAe;IAC9C,MAAM;SACH,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,4BAA4B,CAAC;SACzC,cAAc,CAAC,qBAAqB,EAAE,yBAAyB,CAAC;SAChE,WAAW,CAAC,OAAO,EAAE,0DAA0D,CAAC;SAChF,MAAM,CAAC,KAAK,EAAE,IAAoB,EAAE,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAChE,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function downloadAll(parent: Command): void;
3
+ //# sourceMappingURL=download-all.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download-all.d.ts","sourceRoot":"","sources":["../../../../src/commands/issue/attachment/download-all.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,QAkD1C"}
@@ -0,0 +1,53 @@
1
+ import { mkdirSync } from 'fs';
2
+ import { join } from 'path';
3
+ import { getClient } from '../../../utils/client.js';
4
+ import { output, handleError } from '../../../utils/output.js';
5
+ export function downloadAll(parent) {
6
+ parent
7
+ .command('download-all <key>')
8
+ .description('Download all attachments from an issue')
9
+ .requiredOption('--output <dir>', 'Local directory to save attachments into')
10
+ .addHelpText('after', '\nExamples:\n jiradc issue attachment download-all AI-73 --output ./downloads')
11
+ .action(async (key, opts) => {
12
+ try {
13
+ const client = getClient();
14
+ mkdirSync(opts.output, { recursive: true });
15
+ const issue = await client.issues.get({
16
+ issueKeyOrId: key,
17
+ fields: ['attachment'],
18
+ });
19
+ const atts = issue.fields.attachment ?? [];
20
+ if (atts.length === 0) {
21
+ output({ issueKey: key, downloaded: 0, files: [] });
22
+ return;
23
+ }
24
+ const results = [];
25
+ const failed = [];
26
+ for (const att of atts) {
27
+ if (!att.content) {
28
+ failed.push({ filename: att.filename, error: 'No content URL' });
29
+ continue;
30
+ }
31
+ const destPath = join(opts.output, att.filename);
32
+ try {
33
+ await client.issues.downloadAttachment({ url: att.content, destinationPath: destPath });
34
+ results.push({ filename: att.filename, size: att.size, path: destPath });
35
+ }
36
+ catch (err) {
37
+ failed.push({ filename: att.filename, error: String(err) });
38
+ }
39
+ }
40
+ output({
41
+ issueKey: key,
42
+ downloaded: results.length,
43
+ total: atts.length,
44
+ files: results,
45
+ ...(failed.length > 0 && { failed }),
46
+ });
47
+ }
48
+ catch (err) {
49
+ handleError(err);
50
+ }
51
+ });
52
+ }
53
+ //# sourceMappingURL=download-all.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download-all.js","sourceRoot":"","sources":["../../../../src/commands/issue/attachment/download-all.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,WAAW,CAAC,MAAe;IACzC,MAAM;SACH,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CAAC,wCAAwC,CAAC;SACrD,cAAc,CAAC,gBAAgB,EAAE,0CAA0C,CAAC;SAC5E,WAAW,CAAC,OAAO,EAAE,gFAAgF,CAAC;SACtG,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,IAAwB,EAAE,EAAE;QACtD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE5C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;gBACpC,YAAY,EAAE,GAAG;gBACjB,MAAM,EAAE,CAAC,YAAY,CAAC;aACvB,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpD,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAuD,EAAE,CAAC;YACvE,MAAM,MAAM,GAA0C,EAAE,CAAC;YAEzD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;oBACjE,SAAS;gBACX,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACjD,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACxF,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC3E,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;YAED,MAAM,CAAC;gBACL,QAAQ,EAAE,GAAG;gBACb,UAAU,EAAE,OAAO,CAAC,MAAM;gBAC1B,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,KAAK,EAAE,OAAO;gBACd,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;aACrC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function download(parent: Command): void;
3
+ //# sourceMappingURL=download.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../../src/commands/issue/attachment/download.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,QAAQ,CAAC,MAAM,EAAE,OAAO,QAkCvC"}
@@ -0,0 +1,35 @@
1
+ import { getClient } from '../../../utils/client.js';
2
+ import { output, handleError } from '../../../utils/output.js';
3
+ export function download(parent) {
4
+ parent
5
+ .command('download <key>')
6
+ .description('Download a single attachment by ID')
7
+ .requiredOption('--id <attachmentId>', 'Attachment ID')
8
+ .requiredOption('--output <path>', 'Local file path to save the attachment')
9
+ .addHelpText('after', '\nExamples:\n jiradc issue attachment download AI-73 --id 12345 --output ./report.pdf')
10
+ .action(async (key, opts) => {
11
+ try {
12
+ const client = getClient();
13
+ // Get attachment metadata to find the content URL
14
+ const attachment = await client.issues.getAttachment({ attachmentId: opts.id });
15
+ if (!attachment.content) {
16
+ throw new Error(`Attachment ${opts.id} has no content URL`);
17
+ }
18
+ await client.issues.downloadAttachment({
19
+ url: attachment.content,
20
+ destinationPath: opts.output,
21
+ });
22
+ output({
23
+ downloaded: true,
24
+ issueKey: key,
25
+ path: opts.output,
26
+ filename: attachment.filename,
27
+ size: attachment.size,
28
+ });
29
+ }
30
+ catch (err) {
31
+ handleError(err);
32
+ }
33
+ });
34
+ }
35
+ //# sourceMappingURL=download.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../../src/commands/issue/attachment/download.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,QAAQ,CAAC,MAAe;IACtC,MAAM;SACH,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,oCAAoC,CAAC;SACjD,cAAc,CAAC,qBAAqB,EAAE,eAAe,CAAC;SACtD,cAAc,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;SAC3E,WAAW,CAAC,OAAO,EAAE,wFAAwF,CAAC;SAC9G,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,IAAoC,EAAE,EAAE;QAClE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,kDAAkD;YAClD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAEhF,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,EAAE,qBAAqB,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;gBACrC,GAAG,EAAE,UAAU,CAAC,OAAO;gBACvB,eAAe,EAAE,IAAI,CAAC,MAAM;aAC7B,CAAC,CAAC;YAEH,MAAM,CAAC;gBACL,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,GAAG;gBACb,IAAI,EAAE,IAAI,CAAC,MAAM;gBACjB,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,IAAI,EAAE,UAAU,CAAC,IAAI;aACtB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerAttachmentCommands(parent: Command): void;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/issue/attachment/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,OAAO,QAqBzD"}
@@ -0,0 +1,24 @@
1
+ import { deleteAttachment } from './delete.js';
2
+ import { downloadAll } from './download-all.js';
3
+ import { download } from './download.js';
4
+ import { list } from './list.js';
5
+ import { upload } from './upload.js';
6
+ export function registerAttachmentCommands(parent) {
7
+ const attachment = parent
8
+ .command('attachment')
9
+ .description('Attachment operations')
10
+ .addHelpText('after', `
11
+ Examples:
12
+ $ jiradc issue attachment list AI-73
13
+ $ jiradc issue attachment upload AI-73 --files ./report.pdf
14
+ $ jiradc issue attachment download AI-73 --id 12345 --output ./report.pdf
15
+ $ jiradc issue attachment download-all AI-73 --output ./downloads
16
+ $ jiradc issue attachment delete --id 12345
17
+ `);
18
+ upload(attachment);
19
+ list(attachment);
20
+ download(attachment);
21
+ downloadAll(attachment);
22
+ deleteAttachment(attachment);
23
+ }
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/issue/attachment/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,0BAA0B,CAAC,MAAe;IACxD,MAAM,UAAU,GAAG,MAAM;SACtB,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,uBAAuB,CAAC;SACpC,WAAW,CACV,OAAO,EACP;;;;;;;CAOL,CACI,CAAC;IAEJ,MAAM,CAAC,UAAU,CAAC,CAAC;IACnB,IAAI,CAAC,UAAU,CAAC,CAAC;IACjB,QAAQ,CAAC,UAAU,CAAC,CAAC;IACrB,WAAW,CAAC,UAAU,CAAC,CAAC;IACxB,gBAAgB,CAAC,UAAU,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function list(parent: Command): void;
3
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/commands/issue/attachment/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,IAAI,CAAC,MAAM,EAAE,OAAO,QA6BnC"}
@@ -0,0 +1,33 @@
1
+ import { getClient } from '../../../utils/client.js';
2
+ import { output, handleError } from '../../../utils/output.js';
3
+ export function list(parent) {
4
+ parent
5
+ .command('list <key>')
6
+ .description('List attachments on an issue')
7
+ .addHelpText('after', '\nExamples:\n jiradc issue attachment list AI-73')
8
+ .action(async (key) => {
9
+ try {
10
+ const client = getClient();
11
+ const issue = await client.issues.get({
12
+ issueKeyOrId: key,
13
+ fields: ['attachment'],
14
+ });
15
+ const atts = issue.fields.attachment ?? [];
16
+ output({
17
+ issueKey: key,
18
+ total: atts.length,
19
+ attachments: atts.map((a) => ({
20
+ id: a.id,
21
+ filename: a.filename,
22
+ size: a.size,
23
+ mimeType: a.mimeType,
24
+ created: a.created,
25
+ })),
26
+ });
27
+ }
28
+ catch (err) {
29
+ handleError(err);
30
+ }
31
+ });
32
+ }
33
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/issue/attachment/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,IAAI,CAAC,MAAe;IAClC,MAAM;SACH,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,8BAA8B,CAAC;SAC3C,WAAW,CAAC,OAAO,EAAE,mDAAmD,CAAC;SACzE,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE;QAC5B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;gBACpC,YAAY,EAAE,GAAG;gBACjB,MAAM,EAAE,CAAC,YAAY,CAAC;aACvB,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;YAC3C,MAAM,CAAC;gBACL,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC5B,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC,CAAC;aACJ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function upload(parent: Command): void;
3
+ //# sourceMappingURL=upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../../src/commands/issue/attachment/upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,QAmCrC"}
@@ -0,0 +1,35 @@
1
+ import { getClient } from '../../../utils/client.js';
2
+ import { output, handleError } from '../../../utils/output.js';
3
+ export function upload(parent) {
4
+ parent
5
+ .command('upload <key>')
6
+ .description('Upload attachments to an issue')
7
+ .requiredOption('--files <paths>', 'Comma-separated file paths to upload')
8
+ .addHelpText('after', '\nExamples:\n jiradc issue attachment upload AI-73 --files ./report.pdf\n jiradc issue attachment upload AI-73 --files ./a.txt,./b.png')
9
+ .action(async (key, opts) => {
10
+ try {
11
+ const client = getClient();
12
+ const filePaths = opts.files.split(',').map((f) => f.trim());
13
+ const results = [];
14
+ for (const filePath of filePaths) {
15
+ const attachments = await client.issues.addAttachment({ issueKeyOrId: key, filePath });
16
+ results.push(...attachments);
17
+ }
18
+ output({
19
+ issueKey: key,
20
+ uploaded: results.length,
21
+ attachments: results.map((a) => ({
22
+ id: a.id,
23
+ filename: a.filename,
24
+ size: a.size,
25
+ mimeType: a.mimeType,
26
+ created: a.created,
27
+ })),
28
+ });
29
+ }
30
+ catch (err) {
31
+ handleError(err);
32
+ }
33
+ });
34
+ }
35
+ //# sourceMappingURL=upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../../src/commands/issue/attachment/upload.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,MAAM,CAAC,MAAe;IACpC,MAAM;SACH,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,cAAc,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;SACzE,WAAW,CACV,OAAO,EACP,0IAA0I,CAC3I;SACA,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,IAAuB,EAAE,EAAE;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,EAAE,CAAC;YAEnB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACvF,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;YAC/B,CAAC;YAED,MAAM,CAAC;gBACL,QAAQ,EAAE,GAAG;gBACb,QAAQ,EAAE,OAAO,CAAC,MAAM;gBACxB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC/B,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC,CAAC;aACJ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/issue/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,MAAM,CAAC,MAAe;IACpC,MAAM;SACH,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oBAAoB,CAAC;SACjC,cAAc,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;SACtD,cAAc,CAAC,eAAe,EAAE,0CAA0C,CAAC;SAC3E,cAAc,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;SACzD,MAAM,CAAC,sBAAsB,EAAE,kCAAkC,CAAC;SAClE,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;SACpD,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;SACpD,MAAM,CAAC,mBAAmB,EAAE,yCAAyC,CAAC;SACtE,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;SACrD,MAAM,CAAC,sBAAsB,EAAE,iCAAiC,CAAC;SACjE,MAAM,CAAC,2BAA2B,EAAE,mCAAmC,CAAC;SACxE,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;SAC5D,MAAM,CAAC,gBAAgB,EAAE,iCAAiC,CAAC;SAC3D,MAAM,CAAC,wBAAwB,EAAE,8EAA8E,CAAC;SAChH,WAAW,CACV,OAAO,EACP;;;;iHAI2G,CAC5G;SACA,MAAM,CACL,KAAK,EAAE,IAcN,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;gBACxC,cAAc,EAAE,IAAI,CAAC,OAAO;gBAC5B,aAAa,EAAE,IAAI,CAAC,IAAI;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpD,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5D,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9D,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;aAC5E,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CACF,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/issue/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,MAAM,CAAC,MAAe;IACpC,MAAM;SACH,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oBAAoB,CAAC;SACjC,cAAc,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;SACtD,cAAc,CAAC,eAAe,EAAE,0CAA0C,CAAC;SAC3E,cAAc,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;SACzD,MAAM,CAAC,sBAAsB,EAAE,kCAAkC,CAAC;SAClE,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;SACpD,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;SACpD,MAAM,CAAC,mBAAmB,EAAE,yCAAyC,CAAC;SACtE,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;SACrD,MAAM,CAAC,sBAAsB,EAAE,iCAAiC,CAAC;SACjE,MAAM,CAAC,2BAA2B,EAAE,mCAAmC,CAAC;SACxE,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;SAC5D,MAAM,CAAC,gBAAgB,EAAE,iCAAiC,CAAC;SAC3D,MAAM,CAAC,wBAAwB,EAAE,8EAA8E,CAAC;SAChH,WAAW,CACV,OAAO,EACP;;;;iHAI2G,CAC5G;SACA,MAAM,CACL,KAAK,EAAE,IAcN,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;gBACxC,cAAc,EAAE,IAAI,CAAC,OAAO;gBAC5B,aAAa,EAAE,IAAI,CAAC,IAAI;gBACxB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpD,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5D,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9D,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAA6B,CAAC,CAAC,CAAC,SAAS;aACzG,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CACF,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/issue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QA0BrD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/issue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAiCrD"}
@@ -1,21 +1,24 @@
1
- import { get } from './get.js';
2
- import { search } from './search.js';
1
+ import { registerAttachmentCommands } from './attachment/index.js';
2
+ import { attachments } from './attachments.js';
3
+ import { batchChangelog } from './batch-changelog.js';
4
+ import { batchCreate } from './batch-create.js';
5
+ import { changelog } from './changelog.js';
6
+ import { commentEdit } from './comment-edit.js';
7
+ import { comment } from './comment.js';
3
8
  import { create } from './create.js';
4
- import { update } from './update.js';
5
9
  import { deleteIssue } from './delete.js';
10
+ import { getWorklog } from './get-worklog.js';
11
+ import { get } from './get.js';
12
+ import { linkEpic } from './link-epic.js';
13
+ import { search } from './search.js';
6
14
  import { transition } from './transition.js';
7
15
  import { transitions } from './transitions.js';
8
- import { comment } from './comment.js';
9
- import { commentEdit } from './comment-edit.js';
16
+ import { update } from './update.js';
10
17
  import { worklog } from './worklog.js';
11
- import { changelog } from './changelog.js';
12
- import { linkEpic } from './link-epic.js';
13
- import { attachments } from './attachments.js';
14
- import { batchCreate } from './batch-create.js';
15
- import { getWorklog } from './get-worklog.js';
16
- import { batchChangelog } from './batch-changelog.js';
17
18
  export function registerIssueCommands(program) {
18
- const issue = program.command('issue').description('Issue operations')
19
+ const issue = program
20
+ .command('issue')
21
+ .description('Issue operations')
19
22
  .addHelpText('after', `
20
23
  Examples:
21
24
  $ jiradc issue get AI-73
@@ -23,6 +26,7 @@ Examples:
23
26
  $ jiradc issue create --project AI --type Task --summary "Fix the bug" --priority High
24
27
  $ jiradc issue update AI-73 --fields '{"summary": "New title"}'
25
28
  $ jiradc issue transition AI-73 --to 11
29
+ $ jiradc issue attachment list AI-73
26
30
  `);
27
31
  get(issue);
28
32
  search(issue);
@@ -38,7 +42,8 @@ Examples:
38
42
  changelog(issue);
39
43
  batchChangelog(issue);
40
44
  linkEpic(issue);
41
- attachments(issue);
45
+ registerAttachmentCommands(issue);
46
+ attachments(issue); // backward-compat alias for `issue attachment download-all`
42
47
  batchCreate(issue);
43
48
  }
44
49
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/issue/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC;SACnE,WAAW,CAAC,OAAO,EAAE;;;;;;;CAOzB,CAAC,CAAC;IACD,GAAG,CAAC,KAAK,CAAC,CAAC;IACX,MAAM,CAAC,KAAK,CAAC,CAAC;IACd,MAAM,CAAC,KAAK,CAAC,CAAC;IACd,MAAM,CAAC,KAAK,CAAC,CAAC;IACd,WAAW,CAAC,KAAK,CAAC,CAAC;IACnB,UAAU,CAAC,KAAK,CAAC,CAAC;IAClB,WAAW,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,KAAK,CAAC,CAAC;IACf,WAAW,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,KAAK,CAAC,CAAC;IACf,UAAU,CAAC,KAAK,CAAC,CAAC;IAClB,SAAS,CAAC,KAAK,CAAC,CAAC;IACjB,cAAc,CAAC,KAAK,CAAC,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChB,WAAW,CAAC,KAAK,CAAC,CAAC;IACnB,WAAW,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/issue/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,WAAW,CACV,OAAO,EACP;;;;;;;;CAQL,CACI,CAAC;IACJ,GAAG,CAAC,KAAK,CAAC,CAAC;IACX,MAAM,CAAC,KAAK,CAAC,CAAC;IACd,MAAM,CAAC,KAAK,CAAC,CAAC;IACd,MAAM,CAAC,KAAK,CAAC,CAAC;IACd,WAAW,CAAC,KAAK,CAAC,CAAC;IACnB,UAAU,CAAC,KAAK,CAAC,CAAC;IAClB,WAAW,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,KAAK,CAAC,CAAC;IACf,WAAW,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,KAAK,CAAC,CAAC;IACf,UAAU,CAAC,KAAK,CAAC,CAAC;IAClB,SAAS,CAAC,KAAK,CAAC,CAAC;IACjB,cAAc,CAAC,KAAK,CAAC,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChB,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAClC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,4DAA4D;IAChF,WAAW,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/issue/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,QA4CrC"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/issue/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,QA+CrC"}
@@ -25,7 +25,10 @@ export function update(parent) {
25
25
  }
26
26
  const uploaded = [];
27
27
  if (opts.attachments) {
28
- const filePaths = opts.attachments.split(',').map((p) => p.trim()).filter(Boolean);
28
+ const filePaths = opts.attachments
29
+ .split(',')
30
+ .map((p) => p.trim())
31
+ .filter(Boolean);
29
32
  for (const filePath of filePaths) {
30
33
  const result = await client.issues.addAttachment({ issueKeyOrId: key, filePath });
31
34
  for (const att of result) {
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/issue/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,MAAM,CAAC,MAAe;IACpC,MAAM;SACH,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;SAC5D,MAAM,CAAC,gBAAgB,EAAE,+CAA+C,CAAC;SACzE,MAAM,CAAC,uBAAuB,EAAE,4CAA4C,CAAC;SAC7E,WAAW,CACV,OAAO,EACP;;;;iGAI2F,CAC5F;SACA,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,IAAsE,EAAE,EAAE;QACpG,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,uCAAuC,EAAE,CAAC,CAAC,CAAC;gBAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAA4B,CAAC;gBAClE,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACnG,CAAC;YAED,MAAM,QAAQ,GAAuC,EAAE,CAAC;YACxD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAClF,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;wBACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;oBACxD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAClG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/issue/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,MAAM,CAAC,MAAe;IACpC,MAAM;SACH,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;SAC5D,MAAM,CAAC,gBAAgB,EAAE,+CAA+C,CAAC;SACzE,MAAM,CAAC,uBAAuB,EAAE,4CAA4C,CAAC;SAC7E,WAAW,CACV,OAAO,EACP;;;;iGAI2F,CAC5F;SACA,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,IAAsE,EAAE,EAAE;QACpG,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,uCAAuC,EAAE,CAAC,CAAC,CAAC;gBAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAA4B,CAAC;gBAClE,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACnG,CAAC;YAED,MAAM,QAAQ,GAAuC,EAAE,CAAC;YACxD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW;qBAC/B,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;qBACpB,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAClF,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;wBACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;oBACxD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAClG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/link/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAWpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/link/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAgBpD"}
@@ -1,8 +1,10 @@
1
- import { types } from './types.js';
2
1
  import { create } from './create.js';
3
2
  import { remove } from './remove.js';
3
+ import { types } from './types.js';
4
4
  export function registerLinkCommands(program) {
5
- const link = program.command('link').description('Issue link operations')
5
+ const link = program
6
+ .command('link')
7
+ .description('Issue link operations')
6
8
  .addHelpText('after', `
7
9
  Examples:
8
10
  $ jiradc link types
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/link/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC;SACtE,WAAW,CAAC,OAAO,EAAE;;;;;CAKzB,CAAC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,MAAM,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/link/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,uBAAuB,CAAC;SACpC,WAAW,CACV,OAAO,EACP;;;;;CAKL,CACI,CAAC;IACJ,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,MAAM,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,QASvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,QAcvD"}
@@ -1,7 +1,9 @@
1
1
  import { list } from './list.js';
2
2
  import { versions } from './versions.js';
3
3
  export function registerProjectCommands(program) {
4
- const project = program.command('project').description('Project operations')
4
+ const project = program
5
+ .command('project')
6
+ .description('Project operations')
5
7
  .addHelpText('after', `
6
8
  Examples:
7
9
  $ jiradc project list
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC;SACzE,WAAW,CAAC,OAAO,EAAE;;;;CAIzB,CAAC,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,CAAC;IACd,QAAQ,CAAC,OAAO,CAAC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,oBAAoB,CAAC;SACjC,WAAW,CACV,OAAO,EACP;;;;CAIL,CACI,CAAC;IACJ,IAAI,CAAC,OAAO,CAAC,CAAC;IACd,QAAQ,CAAC,OAAO,CAAC,CAAC;AACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/sprint/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,QAatD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/sprint/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,QAkBtD"}
@@ -1,9 +1,11 @@
1
- import { list } from './list.js';
2
- import { issues } from './issues.js';
3
1
  import { create } from './create.js';
2
+ import { issues } from './issues.js';
3
+ import { list } from './list.js';
4
4
  import { update } from './update.js';
5
5
  export function registerSprintCommands(program) {
6
- const sprint = program.command('sprint').description('Sprint operations')
6
+ const sprint = program
7
+ .command('sprint')
8
+ .description('Sprint operations')
7
9
  .addHelpText('after', `
8
10
  Examples:
9
11
  $ jiradc sprint list --board 42
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/sprint/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC;SACtE,WAAW,CAAC,OAAO,EAAE;;;;;;CAMzB,CAAC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,CAAC;IACb,MAAM,CAAC,MAAM,CAAC,CAAC;IACf,MAAM,CAAC,MAAM,CAAC,CAAC;IACf,MAAM,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/sprint/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,mBAAmB,CAAC;SAChC,WAAW,CACV,OAAO,EACP;;;;;;CAML,CACI,CAAC;IACJ,IAAI,CAAC,MAAM,CAAC,CAAC;IACb,MAAM,CAAC,MAAM,CAAC,CAAC;IACf,MAAM,CAAC,MAAM,CAAC,CAAC;IACf,MAAM,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/sprint/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,QA+BrC"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/sprint/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,QAkCrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/sprint/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,MAAM,CAAC,MAAe;IACpC,MAAM;SACH,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC;SAC1C,MAAM,CAAC,iBAAiB,EAAE,2CAA2C,CAAC;SACtE,MAAM,CAAC,qBAAqB,EAAE,mCAAmC,CAAC;SAClE,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC;SAC1C,WAAW,CACV,OAAO,EACP,0LAA0L,CAC3L;SACA,MAAM,CACL,KAAK,EAAE,EAAU,EAAE,IAA4F,EAAE,EAAE;QACjH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC7C,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;gBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAmD;gBAC/D,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CACF,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/sprint/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,MAAM,CAAC,MAAe;IACpC,MAAM;SACH,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC;SAC1C,MAAM,CAAC,iBAAiB,EAAE,2CAA2C,CAAC;SACtE,MAAM,CAAC,qBAAqB,EAAE,mCAAmC,CAAC;SAClE,MAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;SAC9D,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC;SAC1C,WAAW,CACV,OAAO,EACP,0LAA0L,CAC3L;SACA,MAAM,CACL,KAAK,EACH,EAAU,EACV,IAA4F,EAC5F,EAAE;QACF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC7C,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;gBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAmD;gBAC/D,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CACF,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/user/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAQpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/user/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAapD"}
@@ -1,6 +1,8 @@
1
1
  import { me } from './me.js';
2
2
  export function registerUserCommands(program) {
3
- const user = program.command('user').description('User operations')
3
+ const user = program
4
+ .command('user')
5
+ .description('User operations')
4
6
  .addHelpText('after', `
5
7
  Examples:
6
8
  $ jiradc user me
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/user/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC;SAChE,WAAW,CAAC,OAAO,EAAE;;;;CAIzB,CAAC,CAAC;IACD,EAAE,CAAC,IAAI,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/user/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,iBAAiB,CAAC;SAC9B,WAAW,CACV,OAAO,EACP;;;;CAIL,CACI,CAAC;IACJ,EAAE,CAAC,IAAI,CAAC,CAAC;AACX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"me.d.ts","sourceRoot":"","sources":["../../../src/commands/user/me.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,QAmBjC"}
1
+ {"version":3,"file":"me.d.ts","sourceRoot":"","sources":["../../../src/commands/user/me.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,QAcjC"}
@@ -8,9 +8,7 @@ export function me(parent) {
8
8
  .action(async (username) => {
9
9
  try {
10
10
  const client = getClient();
11
- const result = username
12
- ? await client.users.getUser({ username })
13
- : await client.users.getMyself();
11
+ const result = username ? await client.users.getUser({ username }) : await client.users.getMyself();
14
12
  output(result);
15
13
  }
16
14
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"me.js","sourceRoot":"","sources":["../../../src/commands/user/me.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,EAAE,CAAC,MAAe;IAChC,MAAM;SACH,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,kEAAkE,CAAC;SAC/E,WAAW,CACV,OAAO,EACP,wDAAwD,CACzD;SACA,MAAM,CAAC,KAAK,EAAE,QAAiB,EAAE,EAAE;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,QAAQ;gBACrB,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;gBAC1C,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"me.js","sourceRoot":"","sources":["../../../src/commands/user/me.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,EAAE,CAAC,MAAe;IAChC,MAAM;SACH,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,kEAAkE,CAAC;SAC/E,WAAW,CAAC,OAAO,EAAE,wDAAwD,CAAC;SAC9E,MAAM,CAAC,KAAK,EAAE,QAAiB,EAAE,EAAE;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACpG,MAAM,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
package/dist/index.js CHANGED
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import 'dotenv/config';
3
- import { Command } from 'commander';
4
3
  import { styleText } from 'node:util';
5
- import { registerIssueCommands } from './commands/issue/index.js';
6
- import { registerProjectCommands } from './commands/project/index.js';
4
+ import { Command } from 'commander';
7
5
  import { registerBoardCommands } from './commands/board/index.js';
8
- import { registerSprintCommands } from './commands/sprint/index.js';
9
6
  import { registerFieldCommands } from './commands/field/index.js';
7
+ import { registerIssueCommands } from './commands/issue/index.js';
10
8
  import { registerLinkCommands } from './commands/link/index.js';
9
+ import { registerProjectCommands } from './commands/project/index.js';
10
+ import { registerSprintCommands } from './commands/sprint/index.js';
11
11
  import { registerUserCommands } from './commands/user/index.js';
12
12
  const DIM = '\x1b[2m';
13
13
  const RESET = '\x1b[0m';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,GAAG,GAAG,SAAS,CAAC;AACtB,MAAM,KAAK,GAAG,SAAS,CAAC;AAExB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,sBAAsB,CAAC;KACnC,OAAO,CAAC,OAAO,CAAC;KAChB,aAAa,CAAC;IACb,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;IAC3C,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;IAC1C,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;IACvD,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;IACtD,0BAA0B,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;CAC3D,CAAC;KACD,WAAW,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,GAAG,yBAAyB,KAAK,IAAI,CAAC;KACnG,WAAW,CAAC,OAAO,EAAE;EACtB,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC;uCACI,GAAG,mCAAmC,KAAK;wCAC1C,GAAG,wDAAwD,KAAK;;EAEtG,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;IAC5B,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;CACf,CAAC,CAAC;AAEH,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAE9B,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,GAAG,GAAG,SAAS,CAAC;AACtB,MAAM,KAAK,GAAG,SAAS,CAAC;AAExB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,sBAAsB,CAAC;KACnC,OAAO,CAAC,OAAO,CAAC;KAChB,aAAa,CAAC;IACb,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;IAC3C,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;IAC1C,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;IACvD,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;IACtD,0BAA0B,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;CAC3D,CAAC;KACD,WAAW,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,GAAG,yBAAyB,KAAK,IAAI,CAAC;KACnG,WAAW,CACV,OAAO,EACP;EACF,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC;uCACI,GAAG,mCAAmC,KAAK;wCAC1C,GAAG,wDAAwD,KAAK;;EAEtG,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;IAC5B,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;IACZ,GAAG,IAAI,KAAK;CACf,CACE,CAAC;AAEJ,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAE9B,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,wBAAgB,SAAS,IAAI,UAAU,CAuBtC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,wBAAgB,SAAS,IAAI,UAAU,CAoBtC"}
@@ -3,18 +3,15 @@ export function getClient() {
3
3
  const baseUrl = process.env.JIRA_URL;
4
4
  const token = process.env.JIRA_TOKEN;
5
5
  if (!baseUrl || !token) {
6
- const missing = [
7
- ...(!baseUrl ? ['JIRA_URL'] : []),
8
- ...(!token ? ['JIRA_TOKEN'] : []),
9
- ];
10
- process.stderr.write(JSON.stringify({
6
+ const missing = [...(!baseUrl ? ['JIRA_URL'] : []), ...(!token ? ['JIRA_TOKEN'] : [])];
7
+ process.stderr.write(`${JSON.stringify({
11
8
  error: `Missing required environment variables: ${missing.join(', ')}`,
12
9
  setup: {
13
10
  JIRA_URL: 'Your Jira Server base URL (e.g., https://jira.example.com)',
14
11
  JIRA_TOKEN: 'Personal Access Token — generate in Jira > Profile > Personal Access Tokens',
15
12
  },
16
13
  hint: 'Export these variables or add them to a .env file in the working directory.',
17
- }) + '\n');
14
+ })}\n`);
18
15
  process.exit(1);
19
16
  }
20
17
  return new JiraClient({ baseUrl, token });
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,UAAU,SAAS;IACvB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IAErC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;YACb,KAAK,EAAE,2CAA2C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACtE,KAAK,EAAE;gBACL,QAAQ,EAAE,4DAA4D;gBACtE,UAAU,EAAE,6EAA6E;aAC1F;YACD,IAAI,EAAE,6EAA6E;SACpF,CAAC,GAAG,IAAI,CACV,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,UAAU,SAAS;IACvB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IAErC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC;YAChB,KAAK,EAAE,2CAA2C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACtE,KAAK,EAAE;gBACL,QAAQ,EAAE,4DAA4D;gBACtE,UAAU,EAAE,6EAA6E;aAC1F;YACD,IAAI,EAAE,6EAA6E;SACpF,CAAC,IAAI,CACP,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAEA,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAE1C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAuB9C"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAEA,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAE1C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA8B9C"}
@@ -1,24 +1,30 @@
1
1
  import { stripResponse } from './strip-response.js';
2
2
  export function output(data) {
3
- process.stdout.write(JSON.stringify(stripResponse(data), null, 2) + '\n');
3
+ process.stdout.write(`${JSON.stringify(stripResponse(data), null, 2)}\n`);
4
4
  }
5
5
  export function handleError(err) {
6
6
  const message = err instanceof Error ? err.message : String(err);
7
7
  const axiosStatus = err?.response?.status;
8
8
  if (axiosStatus === 400 || axiosStatus === 401 || axiosStatus === 403) {
9
- process.stderr.write(JSON.stringify({
9
+ process.stderr.write(`${JSON.stringify({
10
10
  error: `Authentication failed (HTTP ${axiosStatus})`,
11
11
  hint: 'Verify that JIRA_URL and JIRA_TOKEN are set correctly. The token may be expired or lack the required permissions.',
12
- }) + '\n');
12
+ })}\n`);
13
13
  }
14
14
  else if (message.includes('ENOTFOUND') || message.includes('ECONNREFUSED') || message.includes('ECONNRESET')) {
15
- process.stderr.write(JSON.stringify({
15
+ process.stderr.write(`${JSON.stringify({
16
16
  error: `Cannot connect to Jira server: ${message}`,
17
17
  hint: 'Verify that JIRA_URL is correct and the server is reachable.',
18
- }) + '\n');
18
+ })}\n`);
19
+ }
20
+ else if (axiosStatus === 500) {
21
+ process.stderr.write(`${JSON.stringify({
22
+ error: `Server error (HTTP 500): ${message}`,
23
+ hint: 'The server returned an internal error. Check that all parameters are valid (project keys, issue keys, JQL query syntax).',
24
+ })}\n`);
19
25
  }
20
26
  else {
21
- process.stderr.write(JSON.stringify({ error: message }) + '\n');
27
+ process.stderr.write(`${JSON.stringify({ error: message })}\n`);
22
28
  }
23
29
  process.exit(1);
24
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,MAAM,CAAC,IAAa;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,WAAW,GAAI,GAA0C,EAAE,QAAQ,EAAE,MAAM,CAAC;IAElF,IAAI,WAAW,KAAK,GAAG,IAAI,WAAW,KAAK,GAAG,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;QACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;YACb,KAAK,EAAE,+BAA+B,WAAW,GAAG;YACpD,IAAI,EAAE,mHAAmH;SAC1H,CAAC,GAAG,IAAI,CACV,CAAC;IACJ,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/G,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;YACb,KAAK,EAAE,kCAAkC,OAAO,EAAE;YAClD,IAAI,EAAE,8DAA8D;SACrE,CAAC,GAAG,IAAI,CACV,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,MAAM,CAAC,IAAa;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,WAAW,GAAI,GAA0C,EAAE,QAAQ,EAAE,MAAM,CAAC;IAElF,IAAI,WAAW,KAAK,GAAG,IAAI,WAAW,KAAK,GAAG,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;QACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC;YAChB,KAAK,EAAE,+BAA+B,WAAW,GAAG;YACpD,IAAI,EAAE,mHAAmH;SAC1H,CAAC,IAAI,CACP,CAAC;IACJ,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/G,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC;YAChB,KAAK,EAAE,kCAAkC,OAAO,EAAE;YAClD,IAAI,EAAE,8DAA8D;SACrE,CAAC,IAAI,CACP,CAAC;IACJ,CAAC;SAAM,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC;YAChB,KAAK,EAAE,4BAA4B,OAAO,EAAE;YAC5C,IAAI,EAAE,0HAA0H;SACjI,CAAC,IAAI,CACP,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jiradc-cli",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "publish": true,
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -13,7 +13,7 @@
13
13
  "dependencies": {
14
14
  "commander": "^13.1.0",
15
15
  "dotenv": "17.2.3",
16
- "jira-data-center-client": "1.0.21"
16
+ "jira-data-center-client": "1.0.23"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@types/node": "24.10.4",