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.
- package/dist/index.js +1100 -33
- package/package.json +5 -4
- package/dist/commands/board/index.d.ts +0 -3
- package/dist/commands/board/index.d.ts.map +0 -1
- package/dist/commands/board/index.js +0 -16
- package/dist/commands/board/index.js.map +0 -1
- package/dist/commands/board/issues.d.ts +0 -3
- package/dist/commands/board/issues.d.ts.map +0 -1
- package/dist/commands/board/issues.js +0 -24
- package/dist/commands/board/issues.js.map +0 -1
- package/dist/commands/board/list.d.ts +0 -3
- package/dist/commands/board/list.d.ts.map +0 -1
- package/dist/commands/board/list.js +0 -23
- package/dist/commands/board/list.js.map +0 -1
- package/dist/commands/field/index.d.ts +0 -3
- package/dist/commands/field/index.d.ts.map +0 -1
- package/dist/commands/field/index.js +0 -16
- package/dist/commands/field/index.js.map +0 -1
- package/dist/commands/field/options.d.ts +0 -3
- package/dist/commands/field/options.d.ts.map +0 -1
- package/dist/commands/field/options.js +0 -22
- package/dist/commands/field/options.js.map +0 -1
- package/dist/commands/field/search.d.ts +0 -3
- package/dist/commands/field/search.d.ts.map +0 -1
- package/dist/commands/field/search.js +0 -15
- package/dist/commands/field/search.js.map +0 -1
- package/dist/commands/issue/attachment/delete.d.ts +0 -3
- package/dist/commands/issue/attachment/delete.d.ts.map +0 -1
- package/dist/commands/issue/attachment/delete.js +0 -15
- package/dist/commands/issue/attachment/delete.js.map +0 -1
- package/dist/commands/issue/attachment/download-all.d.ts +0 -3
- package/dist/commands/issue/attachment/download-all.d.ts.map +0 -1
- package/dist/commands/issue/attachment/download-all.js +0 -48
- package/dist/commands/issue/attachment/download-all.js.map +0 -1
- package/dist/commands/issue/attachment/download.d.ts +0 -3
- package/dist/commands/issue/attachment/download.d.ts.map +0 -1
- package/dist/commands/issue/attachment/download.js +0 -30
- package/dist/commands/issue/attachment/download.js.map +0 -1
- package/dist/commands/issue/attachment/index.d.ts +0 -3
- package/dist/commands/issue/attachment/index.d.ts.map +0 -1
- package/dist/commands/issue/attachment/index.js +0 -24
- package/dist/commands/issue/attachment/index.js.map +0 -1
- package/dist/commands/issue/attachment/list.d.ts +0 -3
- package/dist/commands/issue/attachment/list.d.ts.map +0 -1
- package/dist/commands/issue/attachment/list.js +0 -28
- package/dist/commands/issue/attachment/list.js.map +0 -1
- package/dist/commands/issue/attachment/upload.d.ts +0 -3
- package/dist/commands/issue/attachment/upload.d.ts.map +0 -1
- package/dist/commands/issue/attachment/upload.js +0 -30
- package/dist/commands/issue/attachment/upload.js.map +0 -1
- package/dist/commands/issue/attachments.d.ts +0 -3
- package/dist/commands/issue/attachments.d.ts.map +0 -1
- package/dist/commands/issue/attachments.js +0 -48
- package/dist/commands/issue/attachments.js.map +0 -1
- package/dist/commands/issue/batch-changelog.d.ts +0 -3
- package/dist/commands/issue/batch-changelog.d.ts.map +0 -1
- package/dist/commands/issue/batch-changelog.js +0 -24
- package/dist/commands/issue/batch-changelog.js.map +0 -1
- package/dist/commands/issue/batch-create.d.ts +0 -3
- package/dist/commands/issue/batch-create.d.ts.map +0 -1
- package/dist/commands/issue/batch-create.js +0 -25
- package/dist/commands/issue/batch-create.js.map +0 -1
- package/dist/commands/issue/changelog.d.ts +0 -3
- package/dist/commands/issue/changelog.d.ts.map +0 -1
- package/dist/commands/issue/changelog.js +0 -15
- package/dist/commands/issue/changelog.js.map +0 -1
- package/dist/commands/issue/clone.d.ts +0 -3
- package/dist/commands/issue/clone.d.ts.map +0 -1
- package/dist/commands/issue/clone.js +0 -103
- package/dist/commands/issue/clone.js.map +0 -1
- package/dist/commands/issue/comment-edit.d.ts +0 -3
- package/dist/commands/issue/comment-edit.d.ts.map +0 -1
- package/dist/commands/issue/comment-edit.js +0 -16
- package/dist/commands/issue/comment-edit.js.map +0 -1
- package/dist/commands/issue/comment.d.ts +0 -3
- package/dist/commands/issue/comment.d.ts.map +0 -1
- package/dist/commands/issue/comment.js +0 -15
- package/dist/commands/issue/comment.js.map +0 -1
- package/dist/commands/issue/create.d.ts +0 -3
- package/dist/commands/issue/create.d.ts.map +0 -1
- package/dist/commands/issue/create.js +0 -45
- package/dist/commands/issue/create.js.map +0 -1
- package/dist/commands/issue/delete.d.ts +0 -3
- package/dist/commands/issue/delete.d.ts.map +0 -1
- package/dist/commands/issue/delete.js +0 -15
- package/dist/commands/issue/delete.js.map +0 -1
- package/dist/commands/issue/dev-status.d.ts +0 -3
- package/dist/commands/issue/dev-status.d.ts.map +0 -1
- package/dist/commands/issue/dev-status.js +0 -81
- package/dist/commands/issue/dev-status.js.map +0 -1
- package/dist/commands/issue/get-worklog.d.ts +0 -3
- package/dist/commands/issue/get-worklog.d.ts.map +0 -1
- package/dist/commands/issue/get-worklog.js +0 -20
- package/dist/commands/issue/get-worklog.js.map +0 -1
- package/dist/commands/issue/get.d.ts +0 -3
- package/dist/commands/issue/get.d.ts.map +0 -1
- package/dist/commands/issue/get.js +0 -23
- package/dist/commands/issue/get.js.map +0 -1
- package/dist/commands/issue/index.d.ts +0 -3
- package/dist/commands/issue/index.d.ts.map +0 -1
- package/dist/commands/issue/index.js +0 -59
- package/dist/commands/issue/index.js.map +0 -1
- package/dist/commands/issue/link-epic.d.ts +0 -3
- package/dist/commands/issue/link-epic.d.ts.map +0 -1
- package/dist/commands/issue/link-epic.js +0 -18
- package/dist/commands/issue/link-epic.js.map +0 -1
- package/dist/commands/issue/link-types.d.ts +0 -3
- package/dist/commands/issue/link-types.d.ts.map +0 -1
- package/dist/commands/issue/link-types.js +0 -14
- package/dist/commands/issue/link-types.js.map +0 -1
- package/dist/commands/issue/link.d.ts +0 -3
- package/dist/commands/issue/link.d.ts.map +0 -1
- package/dist/commands/issue/link.js +0 -23
- package/dist/commands/issue/link.js.map +0 -1
- package/dist/commands/issue/search.d.ts +0 -3
- package/dist/commands/issue/search.d.ts.map +0 -1
- package/dist/commands/issue/search.js +0 -25
- package/dist/commands/issue/search.js.map +0 -1
- package/dist/commands/issue/transition.d.ts +0 -3
- package/dist/commands/issue/transition.d.ts.map +0 -1
- package/dist/commands/issue/transition.js +0 -16
- package/dist/commands/issue/transition.js.map +0 -1
- package/dist/commands/issue/transitions.d.ts +0 -3
- package/dist/commands/issue/transitions.d.ts.map +0 -1
- package/dist/commands/issue/transitions.js +0 -14
- package/dist/commands/issue/transitions.js.map +0 -1
- package/dist/commands/issue/unlink.d.ts +0 -3
- package/dist/commands/issue/unlink.d.ts.map +0 -1
- package/dist/commands/issue/unlink.js +0 -14
- package/dist/commands/issue/unlink.js.map +0 -1
- package/dist/commands/issue/update.d.ts +0 -3
- package/dist/commands/issue/update.d.ts.map +0 -1
- package/dist/commands/issue/update.js +0 -41
- package/dist/commands/issue/update.js.map +0 -1
- package/dist/commands/issue/worklog.d.ts +0 -3
- package/dist/commands/issue/worklog.d.ts.map +0 -1
- package/dist/commands/issue/worklog.js +0 -22
- package/dist/commands/issue/worklog.js.map +0 -1
- package/dist/commands/project/components.d.ts +0 -3
- package/dist/commands/project/components.d.ts.map +0 -1
- package/dist/commands/project/components.js +0 -14
- package/dist/commands/project/components.js.map +0 -1
- package/dist/commands/project/index.d.ts +0 -3
- package/dist/commands/project/index.d.ts.map +0 -1
- package/dist/commands/project/index.js +0 -18
- package/dist/commands/project/index.js.map +0 -1
- package/dist/commands/project/list.d.ts +0 -3
- package/dist/commands/project/list.d.ts.map +0 -1
- package/dist/commands/project/list.js +0 -16
- package/dist/commands/project/list.js.map +0 -1
- package/dist/commands/project/versions.d.ts +0 -3
- package/dist/commands/project/versions.d.ts.map +0 -1
- package/dist/commands/project/versions.js +0 -15
- package/dist/commands/project/versions.js.map +0 -1
- package/dist/commands/sprint/create.d.ts +0 -3
- package/dist/commands/sprint/create.d.ts.map +0 -1
- package/dist/commands/sprint/create.js +0 -25
- package/dist/commands/sprint/create.js.map +0 -1
- package/dist/commands/sprint/index.d.ts +0 -3
- package/dist/commands/sprint/index.d.ts.map +0 -1
- package/dist/commands/sprint/index.js +0 -21
- package/dist/commands/sprint/index.js.map +0 -1
- package/dist/commands/sprint/issues.d.ts +0 -3
- package/dist/commands/sprint/issues.d.ts.map +0 -1
- package/dist/commands/sprint/issues.js +0 -24
- package/dist/commands/sprint/issues.js.map +0 -1
- package/dist/commands/sprint/list.d.ts +0 -3
- package/dist/commands/sprint/list.d.ts.map +0 -1
- package/dist/commands/sprint/list.js +0 -19
- package/dist/commands/sprint/list.js.map +0 -1
- package/dist/commands/sprint/update.d.ts +0 -3
- package/dist/commands/sprint/update.d.ts.map +0 -1
- package/dist/commands/sprint/update.js +0 -26
- package/dist/commands/sprint/update.js.map +0 -1
- package/dist/commands/user/index.d.ts +0 -3
- package/dist/commands/user/index.d.ts.map +0 -1
- package/dist/commands/user/index.js +0 -13
- package/dist/commands/user/index.js.map +0 -1
- package/dist/commands/user/me.d.ts +0 -3
- package/dist/commands/user/me.d.ts.map +0 -1
- package/dist/commands/user/me.js +0 -14
- package/dist/commands/user/me.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/utils/client.d.ts +0 -3
- package/dist/utils/client.d.ts.map +0 -1
- package/dist/utils/client.js +0 -19
- package/dist/utils/client.js.map +0 -1
- package/dist/utils/constants.d.ts +0 -7
- package/dist/utils/constants.d.ts.map +0 -1
- package/dist/utils/constants.js +0 -20
- package/dist/utils/constants.js.map +0 -1
- package/dist/utils/output.d.ts +0 -3
- package/dist/utils/output.d.ts.map +0 -1
- package/dist/utils/output.js +0 -48
- package/dist/utils/output.js.map +0 -1
- package/dist/utils/strip-response.d.ts +0 -6
- package/dist/utils/strip-response.d.ts.map +0 -1
- package/dist/utils/strip-response.js +0 -33
- 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.
|
|
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-
|
|
25
|
-
"config-
|
|
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": "
|
|
32
|
+
"build": "tsup",
|
|
32
33
|
"dev": "tsx src/index.ts",
|
|
33
34
|
"lint": "eslint src",
|
|
34
35
|
"lint:fix": "eslint src --fix",
|
|
@@ -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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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"}
|