jiradc-cli 1.0.5 → 1.0.7

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 (201) hide show
  1. package/dist/index.js +1100 -33
  2. package/package.json +5 -4
  3. package/dist/commands/board/index.d.ts +0 -3
  4. package/dist/commands/board/index.d.ts.map +0 -1
  5. package/dist/commands/board/index.js +0 -16
  6. package/dist/commands/board/index.js.map +0 -1
  7. package/dist/commands/board/issues.d.ts +0 -3
  8. package/dist/commands/board/issues.d.ts.map +0 -1
  9. package/dist/commands/board/issues.js +0 -24
  10. package/dist/commands/board/issues.js.map +0 -1
  11. package/dist/commands/board/list.d.ts +0 -3
  12. package/dist/commands/board/list.d.ts.map +0 -1
  13. package/dist/commands/board/list.js +0 -23
  14. package/dist/commands/board/list.js.map +0 -1
  15. package/dist/commands/field/index.d.ts +0 -3
  16. package/dist/commands/field/index.d.ts.map +0 -1
  17. package/dist/commands/field/index.js +0 -16
  18. package/dist/commands/field/index.js.map +0 -1
  19. package/dist/commands/field/options.d.ts +0 -3
  20. package/dist/commands/field/options.d.ts.map +0 -1
  21. package/dist/commands/field/options.js +0 -22
  22. package/dist/commands/field/options.js.map +0 -1
  23. package/dist/commands/field/search.d.ts +0 -3
  24. package/dist/commands/field/search.d.ts.map +0 -1
  25. package/dist/commands/field/search.js +0 -15
  26. package/dist/commands/field/search.js.map +0 -1
  27. package/dist/commands/issue/attachment/delete.d.ts +0 -3
  28. package/dist/commands/issue/attachment/delete.d.ts.map +0 -1
  29. package/dist/commands/issue/attachment/delete.js +0 -15
  30. package/dist/commands/issue/attachment/delete.js.map +0 -1
  31. package/dist/commands/issue/attachment/download-all.d.ts +0 -3
  32. package/dist/commands/issue/attachment/download-all.d.ts.map +0 -1
  33. package/dist/commands/issue/attachment/download-all.js +0 -48
  34. package/dist/commands/issue/attachment/download-all.js.map +0 -1
  35. package/dist/commands/issue/attachment/download.d.ts +0 -3
  36. package/dist/commands/issue/attachment/download.d.ts.map +0 -1
  37. package/dist/commands/issue/attachment/download.js +0 -30
  38. package/dist/commands/issue/attachment/download.js.map +0 -1
  39. package/dist/commands/issue/attachment/index.d.ts +0 -3
  40. package/dist/commands/issue/attachment/index.d.ts.map +0 -1
  41. package/dist/commands/issue/attachment/index.js +0 -24
  42. package/dist/commands/issue/attachment/index.js.map +0 -1
  43. package/dist/commands/issue/attachment/list.d.ts +0 -3
  44. package/dist/commands/issue/attachment/list.d.ts.map +0 -1
  45. package/dist/commands/issue/attachment/list.js +0 -28
  46. package/dist/commands/issue/attachment/list.js.map +0 -1
  47. package/dist/commands/issue/attachment/upload.d.ts +0 -3
  48. package/dist/commands/issue/attachment/upload.d.ts.map +0 -1
  49. package/dist/commands/issue/attachment/upload.js +0 -30
  50. package/dist/commands/issue/attachment/upload.js.map +0 -1
  51. package/dist/commands/issue/attachments.d.ts +0 -3
  52. package/dist/commands/issue/attachments.d.ts.map +0 -1
  53. package/dist/commands/issue/attachments.js +0 -48
  54. package/dist/commands/issue/attachments.js.map +0 -1
  55. package/dist/commands/issue/batch-changelog.d.ts +0 -3
  56. package/dist/commands/issue/batch-changelog.d.ts.map +0 -1
  57. package/dist/commands/issue/batch-changelog.js +0 -24
  58. package/dist/commands/issue/batch-changelog.js.map +0 -1
  59. package/dist/commands/issue/batch-create.d.ts +0 -3
  60. package/dist/commands/issue/batch-create.d.ts.map +0 -1
  61. package/dist/commands/issue/batch-create.js +0 -25
  62. package/dist/commands/issue/batch-create.js.map +0 -1
  63. package/dist/commands/issue/changelog.d.ts +0 -3
  64. package/dist/commands/issue/changelog.d.ts.map +0 -1
  65. package/dist/commands/issue/changelog.js +0 -15
  66. package/dist/commands/issue/changelog.js.map +0 -1
  67. package/dist/commands/issue/clone.d.ts +0 -3
  68. package/dist/commands/issue/clone.d.ts.map +0 -1
  69. package/dist/commands/issue/clone.js +0 -103
  70. package/dist/commands/issue/clone.js.map +0 -1
  71. package/dist/commands/issue/comment-edit.d.ts +0 -3
  72. package/dist/commands/issue/comment-edit.d.ts.map +0 -1
  73. package/dist/commands/issue/comment-edit.js +0 -16
  74. package/dist/commands/issue/comment-edit.js.map +0 -1
  75. package/dist/commands/issue/comment.d.ts +0 -3
  76. package/dist/commands/issue/comment.d.ts.map +0 -1
  77. package/dist/commands/issue/comment.js +0 -15
  78. package/dist/commands/issue/comment.js.map +0 -1
  79. package/dist/commands/issue/create.d.ts +0 -3
  80. package/dist/commands/issue/create.d.ts.map +0 -1
  81. package/dist/commands/issue/create.js +0 -45
  82. package/dist/commands/issue/create.js.map +0 -1
  83. package/dist/commands/issue/delete.d.ts +0 -3
  84. package/dist/commands/issue/delete.d.ts.map +0 -1
  85. package/dist/commands/issue/delete.js +0 -15
  86. package/dist/commands/issue/delete.js.map +0 -1
  87. package/dist/commands/issue/dev-status.d.ts +0 -3
  88. package/dist/commands/issue/dev-status.d.ts.map +0 -1
  89. package/dist/commands/issue/dev-status.js +0 -81
  90. package/dist/commands/issue/dev-status.js.map +0 -1
  91. package/dist/commands/issue/get-worklog.d.ts +0 -3
  92. package/dist/commands/issue/get-worklog.d.ts.map +0 -1
  93. package/dist/commands/issue/get-worklog.js +0 -20
  94. package/dist/commands/issue/get-worklog.js.map +0 -1
  95. package/dist/commands/issue/get.d.ts +0 -3
  96. package/dist/commands/issue/get.d.ts.map +0 -1
  97. package/dist/commands/issue/get.js +0 -23
  98. package/dist/commands/issue/get.js.map +0 -1
  99. package/dist/commands/issue/index.d.ts +0 -3
  100. package/dist/commands/issue/index.d.ts.map +0 -1
  101. package/dist/commands/issue/index.js +0 -59
  102. package/dist/commands/issue/index.js.map +0 -1
  103. package/dist/commands/issue/link-epic.d.ts +0 -3
  104. package/dist/commands/issue/link-epic.d.ts.map +0 -1
  105. package/dist/commands/issue/link-epic.js +0 -18
  106. package/dist/commands/issue/link-epic.js.map +0 -1
  107. package/dist/commands/issue/link-types.d.ts +0 -3
  108. package/dist/commands/issue/link-types.d.ts.map +0 -1
  109. package/dist/commands/issue/link-types.js +0 -14
  110. package/dist/commands/issue/link-types.js.map +0 -1
  111. package/dist/commands/issue/link.d.ts +0 -3
  112. package/dist/commands/issue/link.d.ts.map +0 -1
  113. package/dist/commands/issue/link.js +0 -23
  114. package/dist/commands/issue/link.js.map +0 -1
  115. package/dist/commands/issue/search.d.ts +0 -3
  116. package/dist/commands/issue/search.d.ts.map +0 -1
  117. package/dist/commands/issue/search.js +0 -25
  118. package/dist/commands/issue/search.js.map +0 -1
  119. package/dist/commands/issue/transition.d.ts +0 -3
  120. package/dist/commands/issue/transition.d.ts.map +0 -1
  121. package/dist/commands/issue/transition.js +0 -16
  122. package/dist/commands/issue/transition.js.map +0 -1
  123. package/dist/commands/issue/transitions.d.ts +0 -3
  124. package/dist/commands/issue/transitions.d.ts.map +0 -1
  125. package/dist/commands/issue/transitions.js +0 -14
  126. package/dist/commands/issue/transitions.js.map +0 -1
  127. package/dist/commands/issue/unlink.d.ts +0 -3
  128. package/dist/commands/issue/unlink.d.ts.map +0 -1
  129. package/dist/commands/issue/unlink.js +0 -14
  130. package/dist/commands/issue/unlink.js.map +0 -1
  131. package/dist/commands/issue/update.d.ts +0 -3
  132. package/dist/commands/issue/update.d.ts.map +0 -1
  133. package/dist/commands/issue/update.js +0 -41
  134. package/dist/commands/issue/update.js.map +0 -1
  135. package/dist/commands/issue/worklog.d.ts +0 -3
  136. package/dist/commands/issue/worklog.d.ts.map +0 -1
  137. package/dist/commands/issue/worklog.js +0 -22
  138. package/dist/commands/issue/worklog.js.map +0 -1
  139. package/dist/commands/project/components.d.ts +0 -3
  140. package/dist/commands/project/components.d.ts.map +0 -1
  141. package/dist/commands/project/components.js +0 -14
  142. package/dist/commands/project/components.js.map +0 -1
  143. package/dist/commands/project/index.d.ts +0 -3
  144. package/dist/commands/project/index.d.ts.map +0 -1
  145. package/dist/commands/project/index.js +0 -18
  146. package/dist/commands/project/index.js.map +0 -1
  147. package/dist/commands/project/list.d.ts +0 -3
  148. package/dist/commands/project/list.d.ts.map +0 -1
  149. package/dist/commands/project/list.js +0 -16
  150. package/dist/commands/project/list.js.map +0 -1
  151. package/dist/commands/project/versions.d.ts +0 -3
  152. package/dist/commands/project/versions.d.ts.map +0 -1
  153. package/dist/commands/project/versions.js +0 -15
  154. package/dist/commands/project/versions.js.map +0 -1
  155. package/dist/commands/sprint/create.d.ts +0 -3
  156. package/dist/commands/sprint/create.d.ts.map +0 -1
  157. package/dist/commands/sprint/create.js +0 -25
  158. package/dist/commands/sprint/create.js.map +0 -1
  159. package/dist/commands/sprint/index.d.ts +0 -3
  160. package/dist/commands/sprint/index.d.ts.map +0 -1
  161. package/dist/commands/sprint/index.js +0 -21
  162. package/dist/commands/sprint/index.js.map +0 -1
  163. package/dist/commands/sprint/issues.d.ts +0 -3
  164. package/dist/commands/sprint/issues.d.ts.map +0 -1
  165. package/dist/commands/sprint/issues.js +0 -24
  166. package/dist/commands/sprint/issues.js.map +0 -1
  167. package/dist/commands/sprint/list.d.ts +0 -3
  168. package/dist/commands/sprint/list.d.ts.map +0 -1
  169. package/dist/commands/sprint/list.js +0 -19
  170. package/dist/commands/sprint/list.js.map +0 -1
  171. package/dist/commands/sprint/update.d.ts +0 -3
  172. package/dist/commands/sprint/update.d.ts.map +0 -1
  173. package/dist/commands/sprint/update.js +0 -26
  174. package/dist/commands/sprint/update.js.map +0 -1
  175. package/dist/commands/user/index.d.ts +0 -3
  176. package/dist/commands/user/index.d.ts.map +0 -1
  177. package/dist/commands/user/index.js +0 -13
  178. package/dist/commands/user/index.js.map +0 -1
  179. package/dist/commands/user/me.d.ts +0 -3
  180. package/dist/commands/user/me.d.ts.map +0 -1
  181. package/dist/commands/user/me.js +0 -14
  182. package/dist/commands/user/me.js.map +0 -1
  183. package/dist/index.d.ts +0 -3
  184. package/dist/index.d.ts.map +0 -1
  185. package/dist/index.js.map +0 -1
  186. package/dist/utils/client.d.ts +0 -3
  187. package/dist/utils/client.d.ts.map +0 -1
  188. package/dist/utils/client.js +0 -19
  189. package/dist/utils/client.js.map +0 -1
  190. package/dist/utils/constants.d.ts +0 -7
  191. package/dist/utils/constants.d.ts.map +0 -1
  192. package/dist/utils/constants.js +0 -20
  193. package/dist/utils/constants.js.map +0 -1
  194. package/dist/utils/output.d.ts +0 -3
  195. package/dist/utils/output.d.ts.map +0 -1
  196. package/dist/utils/output.js +0 -48
  197. package/dist/utils/output.js.map +0 -1
  198. package/dist/utils/strip-response.d.ts +0 -6
  199. package/dist/utils/strip-response.d.ts.map +0 -1
  200. package/dist/utils/strip-response.js +0 -33
  201. package/dist/utils/strip-response.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jiradc-cli",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "publish": true,
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -18,17 +18,18 @@
18
18
  "@types/node": "24.10.4",
19
19
  "dotenv": "17.2.3",
20
20
  "eslint": "^9.39.0",
21
+ "tsup": "^8.5.1",
21
22
  "tsx": "^4.19.2",
22
23
  "typescript": "^5.7.2",
23
24
  "vitest": "^4.0.16",
24
- "config-eslint": "0.0.0",
25
- "config-typescript": "0.0.0"
25
+ "config-typescript": "0.0.0",
26
+ "config-eslint": "0.0.0"
26
27
  },
27
28
  "engines": {
28
29
  "node": ">=22.0.0"
29
30
  },
30
31
  "scripts": {
31
- "build": "tsc",
32
+ "build": "tsup",
32
33
  "dev": "tsx src/index.ts",
33
34
  "lint": "eslint src",
34
35
  "lint:fix": "eslint src --fix",
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function registerBoardCommands(program: Command): void;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
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,GAAG,IAAI,CAe5D"}
@@ -1,16 +0,0 @@
1
- import { issues } from './issues.js';
2
- import { list } from './list.js';
3
- export function registerBoardCommands(program) {
4
- const board = program
5
- .command('board')
6
- .description('Board operations')
7
- .addHelpText('after', `
8
- Examples:
9
- $ jiradc board list
10
- $ jiradc board list --type scrum --project PROJ
11
- $ jiradc board issues 42 --max 20
12
- `);
13
- list(board);
14
- issues(board);
15
- }
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
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,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function issues(parent: Command): void;
3
- //# sourceMappingURL=issues.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../../src/commands/board/issues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAuB5C"}
@@ -1,24 +0,0 @@
1
- import { getClient } from '../../utils/client.js';
2
- import { output } from '../../utils/output.js';
3
- export function issues(parent) {
4
- parent
5
- .command('issues <id>')
6
- .description('Get issues for a board')
7
- .option('--max <number>', 'Max results', parseInt)
8
- .option('--start-at <number>', 'Starting index for pagination (default: 0)', parseInt)
9
- .option('--fields <fields>', 'Comma-separated field names to return')
10
- .option('--jql <jql>', 'Additional JQL filter within the board')
11
- .addHelpText('after', '\nExamples:\n jiradc board issues 42\n jiradc board issues 42 --max 10\n jiradc board issues 42 --jql "status = Open" --fields summary,status\n jiradc board issues 42 --start-at 50 --max 25')
12
- .action(async (id, opts) => {
13
- const client = getClient();
14
- const result = await client.agile.getBoardIssues({
15
- boardId: parseInt(id, 10),
16
- startAt: opts.startAt,
17
- maxResults: opts.max,
18
- fields: opts.fields?.split(',').map((f) => f.trim()),
19
- jql: opts.jql,
20
- });
21
- output(result);
22
- });
23
- }
24
- //# sourceMappingURL=issues.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../../src/commands/board/issues.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,UAAU,MAAM,CAAC,MAAe;IACpC,MAAM;SACH,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,gBAAgB,EAAE,aAAa,EAAE,QAAQ,CAAC;SACjD,MAAM,CAAC,qBAAqB,EAAE,4CAA4C,EAAE,QAAQ,CAAC;SACrF,MAAM,CAAC,mBAAmB,EAAE,uCAAuC,CAAC;SACpE,MAAM,CAAC,aAAa,EAAE,wCAAwC,CAAC;SAC/D,WAAW,CACV,OAAO,EACP,mMAAmM,CACpM;SACA,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAuE,EAAE,EAAE;QACpG,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;YAC/C,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,GAAG;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACpD,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function list(parent: Command): void;
3
- //# sourceMappingURL=list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/board/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAsB1C"}
@@ -1,23 +0,0 @@
1
- import { getClient } from '../../utils/client.js';
2
- import { output } from '../../utils/output.js';
3
- export function list(parent) {
4
- parent
5
- .command('list')
6
- .description('List agile boards')
7
- .option('--max <number>', 'Max results', parseInt)
8
- .option('--project <key>', 'Filter boards by project key or ID')
9
- .option('--type <type>', 'Board type filter (scrum, kanban, simple)')
10
- .option('--name <name>', 'Filter boards by name')
11
- .addHelpText('after', '\nExamples:\n jiradc board list\n jiradc board list --max 10\n jiradc board list --project PROJ\n jiradc board list --type scrum --name "Team Board"')
12
- .action(async (opts) => {
13
- const client = getClient();
14
- const result = await client.agile.getBoards({
15
- maxResults: opts.max,
16
- projectKeyOrId: opts.project,
17
- type: opts.type,
18
- name: opts.name,
19
- });
20
- output(result);
21
- });
22
- }
23
- //# sourceMappingURL=list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/board/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,UAAU,IAAI,CAAC,MAAe;IAClC,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,mBAAmB,CAAC;SAChC,MAAM,CAAC,gBAAgB,EAAE,aAAa,EAAE,QAAQ,CAAC;SACjD,MAAM,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;SAC/D,MAAM,CAAC,eAAe,EAAE,2CAA2C,CAAC;SACpE,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC;SAChD,WAAW,CACV,OAAO,EACP,0JAA0J,CAC3J;SACA,MAAM,CAAC,KAAK,EAAE,IAAsE,EAAE,EAAE;QACvF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;YAC1C,UAAU,EAAE,IAAI,CAAC,GAAG;YACpB,cAAc,EAAE,IAAI,CAAC,OAAO;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAiD;YAC5D,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function registerFieldCommands(program: Command): void;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
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,GAAG,IAAI,CAe5D"}
@@ -1,16 +0,0 @@
1
- import { options } from './options.js';
2
- import { search } from './search.js';
3
- export function registerFieldCommands(program) {
4
- const field = program
5
- .command('field')
6
- .description('Field operations')
7
- .addHelpText('after', `
8
- Examples:
9
- $ jiradc field search "epic"
10
- $ jiradc field search "priority"
11
- $ jiradc field options 10120
12
- `);
13
- search(field);
14
- options(field);
15
- }
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function options(parent: Command): void;
3
- //# sourceMappingURL=options.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/commands/field/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAqB7C"}
@@ -1,22 +0,0 @@
1
- import { getClient } from '../../utils/client.js';
2
- import { output } from '../../utils/output.js';
3
- export function options(parent) {
4
- parent
5
- .command('options <id>')
6
- .description('Get available options for a custom field')
7
- .option('--query <text>', 'Filter options by text')
8
- .option('--max <number>', 'Max results to return', parseInt)
9
- .option('--page <number>', 'Page number', parseInt)
10
- .addHelpText('after', '\nExamples:\n jiradc field options 10001\n jiradc field options 10001 --query "High"\n jiradc field options 10001 --max 20 --page 2')
11
- .action(async (id, opts) => {
12
- const client = getClient();
13
- const result = await client.fields.getFieldOptions({
14
- fieldId: id,
15
- query: opts.query,
16
- maxResults: opts.max,
17
- page: opts.page,
18
- });
19
- output(result);
20
- });
21
- }
22
- //# sourceMappingURL=options.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/commands/field/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,UAAU,OAAO,CAAC,MAAe;IACrC,MAAM;SACH,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,gBAAgB,EAAE,wBAAwB,CAAC;SAClD,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,QAAQ,CAAC;SAC3D,MAAM,CAAC,iBAAiB,EAAE,aAAa,EAAE,QAAQ,CAAC;SAClD,WAAW,CACV,OAAO,EACP,wIAAwI,CACzI;SACA,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAqD,EAAE,EAAE;QAClF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;YACjD,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,GAAG;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function search(parent: Command): void;
3
- //# sourceMappingURL=search.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/commands/field/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAc5C"}
@@ -1,15 +0,0 @@
1
- import { getClient } from '../../utils/client.js';
2
- import { output } from '../../utils/output.js';
3
- export function search(parent) {
4
- parent
5
- .command('search <keyword>')
6
- .description('Search for fields by name or ID')
7
- .option('--limit <number>', 'Maximum number of results (default: 10)', parseInt)
8
- .addHelpText('after', '\nExamples:\n jiradc field search epic\n jiradc field search customfield_10100\n jiradc field search priority --limit 5')
9
- .action(async (keyword, opts) => {
10
- const client = getClient();
11
- const result = await client.fields.search(keyword, opts.limit);
12
- output(result);
13
- });
14
- }
15
- //# sourceMappingURL=search.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/commands/field/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,UAAU,MAAM,CAAC,MAAe;IACpC,MAAM;SACH,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,iCAAiC,CAAC;SAC9C,MAAM,CAAC,kBAAkB,EAAE,yCAAyC,EAAE,QAAQ,CAAC;SAC/E,WAAW,CACV,OAAO,EACP,4HAA4H,CAC7H;SACA,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,IAAwB,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function deleteAttachment(parent: Command): void;
3
- //# sourceMappingURL=delete.d.ts.map
@@ -1 +0,0 @@
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,GAAG,IAAI,CAWtD"}
@@ -1,15 +0,0 @@
1
- import { getClient } from '../../../utils/client.js';
2
- import { output } 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
- const client = getClient();
11
- await client.issues.deleteAttachment({ attachmentId: opts.id });
12
- output({ deleted: true, attachmentId: opts.id });
13
- });
14
- }
15
- //# sourceMappingURL=delete.js.map
@@ -1 +0,0 @@
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,MAAM,0BAA0B,CAAC;AAElD,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,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function downloadAll(parent: Command): void;
3
- //# sourceMappingURL=download-all.d.ts.map
@@ -1 +0,0 @@
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,GAAG,IAAI,CA8CjD"}
@@ -1,48 +0,0 @@
1
- import { mkdirSync } from 'fs';
2
- import { join } from 'path';
3
- import { getClient } from '../../../utils/client.js';
4
- import { output } 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 PROJ-123 --output ./downloads')
11
- .action(async (key, opts) => {
12
- const client = getClient();
13
- mkdirSync(opts.output, { recursive: true });
14
- const issue = await client.issues.get({
15
- issueKeyOrId: key,
16
- fields: ['attachment'],
17
- });
18
- const atts = issue.fields.attachment ?? [];
19
- if (atts.length === 0) {
20
- output({ issueKey: key, downloaded: 0, files: [] });
21
- return;
22
- }
23
- const results = [];
24
- const failed = [];
25
- for (const att of atts) {
26
- if (!att.content) {
27
- failed.push({ filename: att.filename, error: 'No content URL' });
28
- continue;
29
- }
30
- const destPath = join(opts.output, att.filename);
31
- try {
32
- await client.issues.downloadAttachment({ url: att.content, destinationPath: destPath });
33
- results.push({ filename: att.filename, size: att.size, path: destPath });
34
- }
35
- catch (err) {
36
- failed.push({ filename: att.filename, error: String(err) });
37
- }
38
- }
39
- output({
40
- issueKey: key,
41
- downloaded: results.length,
42
- total: atts.length,
43
- files: results,
44
- ...(failed.length > 0 && { failed }),
45
- });
46
- });
47
- }
48
- //# sourceMappingURL=download-all.js.map
@@ -1 +0,0 @@
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,MAAM,0BAA0B,CAAC;AAElD,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,mFAAmF,CAAC;SACzG,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,IAAwB,EAAE,EAAE;QACtD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;YACpC,YAAY,EAAE,GAAG;YACjB,MAAM,EAAE,CAAC,YAAY,CAAC;SACvB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAuD,EAAE,CAAC;QACvE,MAAM,MAAM,GAA0C,EAAE,CAAC;QAEzD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBACjE,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACxF,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC3E,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,MAAM,CAAC;YACL,QAAQ,EAAE,GAAG;YACb,UAAU,EAAE,OAAO,CAAC,MAAM;YAC1B,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,KAAK,EAAE,OAAO;YACd,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;SACrC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function download(parent: Command): void;
3
- //# sourceMappingURL=download.d.ts.map
@@ -1 +0,0 @@
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,GAAG,IAAI,CA8B9C"}
@@ -1,30 +0,0 @@
1
- import { getClient } from '../../../utils/client.js';
2
- import { output } 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 PROJ-123 --id 12345 --output ./report.pdf')
10
- .action(async (key, opts) => {
11
- const client = getClient();
12
- // Get attachment metadata to find the content URL
13
- const attachment = await client.issues.getAttachment({ attachmentId: opts.id });
14
- if (!attachment.content) {
15
- throw new Error(`Attachment ${opts.id} has no content URL`);
16
- }
17
- await client.issues.downloadAttachment({
18
- url: attachment.content,
19
- destinationPath: opts.output,
20
- });
21
- output({
22
- downloaded: true,
23
- issueKey: key,
24
- path: opts.output,
25
- filename: attachment.filename,
26
- size: attachment.size,
27
- });
28
- });
29
- }
30
- //# sourceMappingURL=download.js.map
@@ -1 +0,0 @@
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,MAAM,0BAA0B,CAAC;AAElD,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,2FAA2F,CAAC;SACjH,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,IAAoC,EAAE,EAAE;QAClE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,kDAAkD;QAClD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhF,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACrC,GAAG,EAAE,UAAU,CAAC,OAAO;YACvB,eAAe,EAAE,IAAI,CAAC,MAAM;SAC7B,CAAC,CAAC;QAEH,MAAM,CAAC;YACL,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,IAAI,EAAE,UAAU,CAAC,IAAI;SACtB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function registerAttachmentCommands(parent: Command): void;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
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,GAAG,IAAI,CAqBhE"}
@@ -1,24 +0,0 @@
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 PROJ-123
13
- $ jiradc issue attachment upload PROJ-123 --files ./report.pdf
14
- $ jiradc issue attachment download PROJ-123 --id 12345 --output ./report.pdf
15
- $ jiradc issue attachment download-all PROJ-123 --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
@@ -1 +0,0 @@
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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function list(parent: Command): void;
3
- //# sourceMappingURL=list.d.ts.map
@@ -1 +0,0 @@
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,GAAG,IAAI,CAyB1C"}
@@ -1,28 +0,0 @@
1
- import { getClient } from '../../../utils/client.js';
2
- import { output } 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 PROJ-123')
8
- .action(async (key) => {
9
- const client = getClient();
10
- const issue = await client.issues.get({
11
- issueKeyOrId: key,
12
- fields: ['attachment'],
13
- });
14
- const atts = issue.fields.attachment ?? [];
15
- output({
16
- issueKey: key,
17
- total: atts.length,
18
- attachments: atts.map((a) => ({
19
- id: a.id,
20
- filename: a.filename,
21
- size: a.size,
22
- mimeType: a.mimeType,
23
- created: a.created,
24
- })),
25
- });
26
- });
27
- }
28
- //# sourceMappingURL=list.js.map
@@ -1 +0,0 @@
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,MAAM,0BAA0B,CAAC;AAElD,MAAM,UAAU,IAAI,CAAC,MAAe;IAClC,MAAM;SACH,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,8BAA8B,CAAC;SAC3C,WAAW,CAAC,OAAO,EAAE,sDAAsD,CAAC;SAC5E,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;YACpC,YAAY,EAAE,GAAG;YACjB,MAAM,EAAE,CAAC,YAAY,CAAC;SACvB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC3C,MAAM,CAAC;YACL,QAAQ,EAAE,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5B,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;SACJ,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function upload(parent: Command): void;
3
- //# sourceMappingURL=upload.d.ts.map
@@ -1 +0,0 @@
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,GAAG,IAAI,CA+B5C"}
@@ -1,30 +0,0 @@
1
- import { getClient } from '../../../utils/client.js';
2
- import { output } 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 PROJ-123 --files ./report.pdf\n jiradc issue attachment upload PROJ-123 --files ./a.txt,./b.png')
9
- .action(async (key, opts) => {
10
- const client = getClient();
11
- const filePaths = opts.files.split(',').map((f) => f.trim());
12
- const results = [];
13
- for (const filePath of filePaths) {
14
- const attachments = await client.issues.addAttachment({ issueKeyOrId: key, filePath });
15
- results.push(...attachments);
16
- }
17
- output({
18
- issueKey: key,
19
- uploaded: results.length,
20
- attachments: results.map((a) => ({
21
- id: a.id,
22
- filename: a.filename,
23
- size: a.size,
24
- mimeType: a.mimeType,
25
- created: a.created,
26
- })),
27
- });
28
- });
29
- }
30
- //# sourceMappingURL=upload.js.map
@@ -1 +0,0 @@
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,MAAM,0BAA0B,CAAC;AAElD,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,gJAAgJ,CACjJ;SACA,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,IAAuB,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,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;QAC7D,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,CAAC;YACL,QAAQ,EAAE,GAAG;YACb,QAAQ,EAAE,OAAO,CAAC,MAAM;YACxB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;SACJ,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function attachments(parent: Command): void;
3
- //# sourceMappingURL=attachments.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../../src/commands/issue/attachments.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CA8CjD"}
@@ -1,48 +0,0 @@
1
- import { mkdirSync } from 'fs';
2
- import { join } from 'path';
3
- import { getClient } from '../../utils/client.js';
4
- import { output } from '../../utils/output.js';
5
- export function attachments(parent) {
6
- parent
7
- .command('attachments <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 attachments PROJ-123 --output ./downloads')
11
- .action(async (key, opts) => {
12
- const client = getClient();
13
- mkdirSync(opts.output, { recursive: true });
14
- const issue = await client.issues.get({
15
- issueKeyOrId: key,
16
- fields: ['attachment'],
17
- });
18
- const atts = issue.fields.attachment ?? [];
19
- if (atts.length === 0) {
20
- output({ issueKey: key, downloaded: 0, files: [] });
21
- return;
22
- }
23
- const results = [];
24
- const failed = [];
25
- for (const att of atts) {
26
- if (!att.content) {
27
- failed.push({ filename: att.filename, error: 'No content URL' });
28
- continue;
29
- }
30
- const destPath = join(opts.output, att.filename);
31
- try {
32
- await client.issues.downloadAttachment({ url: att.content, destinationPath: destPath });
33
- results.push({ filename: att.filename, size: att.size, path: destPath });
34
- }
35
- catch (err) {
36
- failed.push({ filename: att.filename, error: String(err) });
37
- }
38
- }
39
- output({
40
- issueKey: key,
41
- downloaded: results.length,
42
- total: atts.length,
43
- files: results,
44
- ...(failed.length > 0 && { failed }),
45
- });
46
- });
47
- }
48
- //# sourceMappingURL=attachments.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../../src/commands/issue/attachments.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,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,UAAU,WAAW,CAAC,MAAe;IACzC,MAAM;SACH,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,wCAAwC,CAAC;SACrD,cAAc,CAAC,gBAAgB,EAAE,0CAA0C,CAAC;SAC5E,WAAW,CAAC,OAAO,EAAE,uEAAuE,CAAC;SAC7F,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,IAAwB,EAAE,EAAE;QACtD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;YACpC,YAAY,EAAE,GAAG;YACjB,MAAM,EAAE,CAAC,YAAY,CAAC;SACvB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAuD,EAAE,CAAC;QACvE,MAAM,MAAM,GAA0C,EAAE,CAAC;QAEzD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBACjE,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACxF,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC3E,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,MAAM,CAAC;YACL,QAAQ,EAAE,GAAG;YACb,UAAU,EAAE,OAAO,CAAC,MAAM;YAC1B,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,KAAK,EAAE,OAAO;YACd,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;SACrC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function batchChangelog(parent: Command): void;
3
- //# sourceMappingURL=batch-changelog.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"batch-changelog.d.ts","sourceRoot":"","sources":["../../../src/commands/issue/batch-changelog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAwBpD"}
@@ -1,24 +0,0 @@
1
- import { getClient } from '../../utils/client.js';
2
- import { output } from '../../utils/output.js';
3
- export function batchChangelog(parent) {
4
- parent
5
- .command('batch-changelog <keys>')
6
- .description('Get changelogs for multiple issues at once')
7
- .option('--max <number>', 'Max changelog entries per issue (default: 50)', parseInt)
8
- .addHelpText('after', '\nExamples:\n jiradc issue batch-changelog PROJ-1,PROJ-2,PROJ-3\n jiradc issue batch-changelog PROJ-123,PROJ-124 --max 10')
9
- .action(async (keys, opts) => {
10
- const client = getClient();
11
- const keyList = keys.split(',').map((k) => k.trim());
12
- const results = {};
13
- for (const key of keyList) {
14
- try {
15
- results[key] = await client.issues.getChangelog({ issueKeyOrId: key, maxResults: opts.max });
16
- }
17
- catch (error) {
18
- results[key] = { error: error instanceof Error ? error.message : 'Unknown error' };
19
- }
20
- }
21
- output(results);
22
- });
23
- }
24
- //# sourceMappingURL=batch-changelog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"batch-changelog.js","sourceRoot":"","sources":["../../../src/commands/issue/batch-changelog.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,MAAM;SACH,OAAO,CAAC,wBAAwB,CAAC;SACjC,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,gBAAgB,EAAE,+CAA+C,EAAE,QAAQ,CAAC;SACnF,WAAW,CACV,OAAO,EACP,6HAA6H,CAC9H;SACA,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,IAAsB,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,OAAO,GAA4B,EAAE,CAAC;QAE5C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;YACrF,CAAC;QACH,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function batchCreate(parent: Command): void;
3
- //# sourceMappingURL=batch-create.d.ts.map