jiradc-cli 1.0.16 → 1.0.17-gf5691e1.1
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/README.md +1 -1
- package/dist/index.js +143 -34
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -93,7 +93,7 @@ All commands output JSON. Add `--pretty` to pretty-print.
|
|
|
93
93
|
|
|
94
94
|
## Pagination
|
|
95
95
|
|
|
96
|
-
Search and list commands accept `--
|
|
96
|
+
Search and list commands accept `--limit` to control page size (Jira DC caps at 50 for agile endpoints). Responses include `nextPage` — pass it back as `--start` to fetch the next page. When `nextPage` is `null`, there are no more results.
|
|
97
97
|
|
|
98
98
|
## Examples
|
|
99
99
|
|
package/dist/index.js
CHANGED
|
@@ -434,15 +434,15 @@ function transformIssueFields(fields) {
|
|
|
434
434
|
|
|
435
435
|
// src/commands/board/issues.ts
|
|
436
436
|
function issues(parent) {
|
|
437
|
-
parent.command("issues").description("Get issues for a board").addArgument(new Argument("<id>", "Board ID").argParser(positiveInt)).option("--
|
|
437
|
+
parent.command("issues").description("Get issues for a board").addArgument(new Argument("<id>", "Board ID").argParser(positiveInt)).option("--limit <number>", "Max results (1-50, Jira DC caps at 50)", intInRange(1, 50), 25).option("--start <number>", "Starting index for pagination", nonNegativeInt).option("--fields <fields>", "Comma-separated field names to return").option("--jql <jql>", "Additional JQL filter within the board").addHelpText(
|
|
438
438
|
"after",
|
|
439
|
-
'\nExamples:\n jiradc board issues 42\n jiradc board issues 42 --
|
|
439
|
+
'\nExamples:\n jiradc board issues 42\n jiradc board issues 42 --limit 10\n jiradc board issues 42 --jql "status = Open" --fields summary,status\n jiradc board issues 42 --start 50 --limit 25'
|
|
440
440
|
).action(async (id, opts) => {
|
|
441
441
|
const client = getClient();
|
|
442
442
|
const result = await client.agile.getBoardIssues({
|
|
443
443
|
boardId: id,
|
|
444
|
-
startAt: opts.
|
|
445
|
-
maxResults: opts.
|
|
444
|
+
startAt: opts.start,
|
|
445
|
+
maxResults: opts.limit,
|
|
446
446
|
fields: opts.fields?.split(",").map((f) => f.trim()),
|
|
447
447
|
jql: opts.jql
|
|
448
448
|
});
|
|
@@ -454,13 +454,13 @@ function issues(parent) {
|
|
|
454
454
|
import { Option } from "commander";
|
|
455
455
|
var BOARD_TYPES = ["scrum", "kanban", "simple"];
|
|
456
456
|
function list(parent) {
|
|
457
|
-
parent.command("list").description("List agile boards").option("--
|
|
457
|
+
parent.command("list").description("List agile boards").option("--limit <number>", "Max results (1-1000)", intInRange(1, 1e3), 25).option("--project <key>", "Filter boards by project key or ID").addOption(new Option("--type <type>", "Board type filter").choices(BOARD_TYPES)).option("--name <name>", "Filter boards by name").addHelpText(
|
|
458
458
|
"after",
|
|
459
|
-
'\nExamples:\n jiradc board list\n jiradc board list --
|
|
459
|
+
'\nExamples:\n jiradc board list\n jiradc board list --limit 10\n jiradc board list --project PROJ\n jiradc board list --type scrum --name "Team Board"'
|
|
460
460
|
).action(async (opts) => {
|
|
461
461
|
const client = getClient();
|
|
462
462
|
const result = await client.agile.getBoards({
|
|
463
|
-
maxResults: opts.
|
|
463
|
+
maxResults: opts.limit,
|
|
464
464
|
projectKeyOrId: opts.project,
|
|
465
465
|
type: opts.type,
|
|
466
466
|
name: opts.name
|
|
@@ -477,7 +477,7 @@ function registerBoardCommands(program2) {
|
|
|
477
477
|
Examples:
|
|
478
478
|
$ jiradc board list
|
|
479
479
|
$ jiradc board list --type scrum --project PROJ
|
|
480
|
-
$ jiradc board issues 42 --
|
|
480
|
+
$ jiradc board issues 42 --limit 20
|
|
481
481
|
`
|
|
482
482
|
);
|
|
483
483
|
list(board);
|
|
@@ -615,15 +615,15 @@ Examples:
|
|
|
615
615
|
|
|
616
616
|
// src/commands/field/options.ts
|
|
617
617
|
function options(parent) {
|
|
618
|
-
parent.command("options <id>").description("Get available options for a custom field").option("--query <text>", "Filter options by text").option("--
|
|
618
|
+
parent.command("options <id>").description("Get available options for a custom field").option("--query <text>", "Filter options by text").option("--limit <number>", "Max results to return (1-1000)", intInRange(1, 1e3), 25).option("--page <number>", "Page number (1-indexed)", positiveInt).addHelpText(
|
|
619
619
|
"after",
|
|
620
|
-
'\nExamples:\n jiradc field options 10001\n jiradc field options 10001 --query "High"\n jiradc field options 10001 --
|
|
620
|
+
'\nExamples:\n jiradc field options 10001\n jiradc field options 10001 --query "High"\n jiradc field options 10001 --limit 20 --page 2'
|
|
621
621
|
).action(async (id, opts) => {
|
|
622
622
|
const client = getClient();
|
|
623
623
|
const result = await client.fields.getFieldOptions({
|
|
624
624
|
fieldId: id,
|
|
625
625
|
query: opts.query,
|
|
626
|
-
maxResults: opts.
|
|
626
|
+
maxResults: opts.limit,
|
|
627
627
|
page: opts.page
|
|
628
628
|
});
|
|
629
629
|
output(transformPaged({ ...result, startAt: result.startAt ?? 0 }, transformCustomFieldOption));
|
|
@@ -842,16 +842,16 @@ function attachments(parent) {
|
|
|
842
842
|
|
|
843
843
|
// src/commands/issue/batch-changelog.ts
|
|
844
844
|
function batchChangelog(parent) {
|
|
845
|
-
parent.command("batch-changelog <keys>").description("Get changelogs for multiple issues at once").option("--
|
|
845
|
+
parent.command("batch-changelog <keys>").description("Get changelogs for multiple issues at once").option("--limit <number>", "Max changelog entries per issue (1-50, Jira DC caps at 50)", intInRange(1, 50), 25).addHelpText(
|
|
846
846
|
"after",
|
|
847
|
-
"\nExamples:\n jiradc issue batch-changelog PROJ-1,PROJ-2,PROJ-3\n jiradc issue batch-changelog PROJ-123,PROJ-124 --
|
|
847
|
+
"\nExamples:\n jiradc issue batch-changelog PROJ-1,PROJ-2,PROJ-3\n jiradc issue batch-changelog PROJ-123,PROJ-124 --limit 10"
|
|
848
848
|
).action(async (keys, opts) => {
|
|
849
849
|
const client = getClient();
|
|
850
850
|
const keyList = keys.split(",").map((k) => k.trim());
|
|
851
851
|
const entries = await Promise.all(
|
|
852
852
|
keyList.map(async (key) => {
|
|
853
853
|
try {
|
|
854
|
-
const data = await client.issues.getChangelog({ issueKeyOrId: key, maxResults: opts.
|
|
854
|
+
const data = await client.issues.getChangelog({ issueKeyOrId: key, maxResults: opts.limit });
|
|
855
855
|
return [key, data];
|
|
856
856
|
} catch (error) {
|
|
857
857
|
return [key, { error: error instanceof Error ? error.message : "Unknown error" }];
|
|
@@ -887,9 +887,12 @@ Examples:
|
|
|
887
887
|
|
|
888
888
|
// src/commands/issue/changelog.ts
|
|
889
889
|
function changelog(parent) {
|
|
890
|
-
parent.command("changelog <key>").description("Get changelog for an issue").option("--
|
|
890
|
+
parent.command("changelog <key>").description("Get changelog for an issue").option("--limit <number>", "Max changelog entries (1-50, Jira DC caps at 50)", intInRange(1, 50), 25).addHelpText(
|
|
891
|
+
"after",
|
|
892
|
+
"\nExamples:\n jiradc issue changelog PROJ-123\n jiradc issue changelog PROJ-123 --limit 10"
|
|
893
|
+
).action(async (key, opts) => {
|
|
891
894
|
const client = getClient();
|
|
892
|
-
const result = await client.issues.getChangelog({ issueKeyOrId: key, maxResults: opts.
|
|
895
|
+
const result = await client.issues.getChangelog({ issueKeyOrId: key, maxResults: opts.limit });
|
|
893
896
|
output(result);
|
|
894
897
|
});
|
|
895
898
|
}
|
|
@@ -1133,15 +1136,15 @@ function devStatus(parent) {
|
|
|
1133
1136
|
|
|
1134
1137
|
// src/commands/issue/get-worklog.ts
|
|
1135
1138
|
function getWorklog(parent) {
|
|
1136
|
-
parent.command("get-worklog <key>").description("Get worklogs for an issue").option("--start
|
|
1139
|
+
parent.command("get-worklog <key>").description("Get worklogs for an issue").option("--start <number>", "Starting index for pagination", nonNegativeInt).option("--limit <number>", "Max results per page (1-1000)", intInRange(1, 1e3), 25).addHelpText(
|
|
1137
1140
|
"after",
|
|
1138
|
-
"\nExamples:\n jiradc issue get-worklog PROJ-123\n jiradc issue get-worklog PROJ-123 --
|
|
1141
|
+
"\nExamples:\n jiradc issue get-worklog PROJ-123\n jiradc issue get-worklog PROJ-123 --limit 10\n jiradc issue get-worklog PROJ-123 --start 10 --limit 5"
|
|
1139
1142
|
).action(async (key, opts) => {
|
|
1140
1143
|
const client = getClient();
|
|
1141
1144
|
const result = await client.issues.getWorklogs({
|
|
1142
1145
|
issueKeyOrId: key,
|
|
1143
|
-
startAt: opts.
|
|
1144
|
-
maxResults: opts.
|
|
1146
|
+
startAt: opts.start,
|
|
1147
|
+
maxResults: opts.limit
|
|
1145
1148
|
});
|
|
1146
1149
|
output(transformPaged(result, transformWorklog));
|
|
1147
1150
|
});
|
|
@@ -1229,16 +1232,16 @@ function link(parent) {
|
|
|
1229
1232
|
|
|
1230
1233
|
// src/commands/issue/search.ts
|
|
1231
1234
|
function search2(parent) {
|
|
1232
|
-
parent.command("search <jql>").description("Search issues using JQL").option("--
|
|
1235
|
+
parent.command("search <jql>").description("Search issues using JQL").option("--limit <number>", "Max results (1-50, Jira DC caps at 50)", intInRange(1, 50), 25).option("--start <number>", "Starting index for pagination", nonNegativeInt).option("--fields <fields>", "Comma-separated fields to return (defaults to essential fields)").option("--all-fields", "Return all fields instead of defaults").addHelpText(
|
|
1233
1236
|
"after",
|
|
1234
|
-
'\nExamples:\n jiradc issue search "project = PROJ AND status = Open"\n jiradc issue search "assignee = currentUser()" --
|
|
1237
|
+
'\nExamples:\n jiradc issue search "project = PROJ AND status = Open"\n jiradc issue search "assignee = currentUser()" --limit 10 --fields summary,status\n jiradc issue search "project = PROJ" --start 50 --limit 50'
|
|
1235
1238
|
).action(async (jql, opts) => {
|
|
1236
1239
|
const client = getClient();
|
|
1237
1240
|
const fields = opts.allFields ? void 0 : opts.fields?.split(",").map((f) => f.trim()) ?? DEFAULT_FIELDS;
|
|
1238
1241
|
const result = await client.issues.search({
|
|
1239
1242
|
jql,
|
|
1240
|
-
startAt: opts.
|
|
1241
|
-
maxResults: opts.
|
|
1243
|
+
startAt: opts.start,
|
|
1244
|
+
maxResults: opts.limit,
|
|
1242
1245
|
fields
|
|
1243
1246
|
});
|
|
1244
1247
|
output(transformPaged(result, transformIssue));
|
|
@@ -1336,7 +1339,7 @@ function registerIssueCommands(program2) {
|
|
|
1336
1339
|
`
|
|
1337
1340
|
Examples:
|
|
1338
1341
|
$ jiradc issue get PROJ-123
|
|
1339
|
-
$ jiradc issue search "project = PROJ AND status = Open" --
|
|
1342
|
+
$ jiradc issue search "project = PROJ AND status = Open" --limit 10
|
|
1340
1343
|
$ jiradc issue create --project PROJ --type Task --summary "Fix the bug" --priority High
|
|
1341
1344
|
$ jiradc issue update PROJ-123 --fields '{"summary": "New title"}'
|
|
1342
1345
|
$ jiradc issue transition PROJ-123 --to 11
|
|
@@ -1426,15 +1429,15 @@ function create3(parent) {
|
|
|
1426
1429
|
// src/commands/sprint/issues.ts
|
|
1427
1430
|
import { Argument as Argument2 } from "commander";
|
|
1428
1431
|
function issues2(parent) {
|
|
1429
|
-
parent.command("issues").description("Get issues in a sprint").addArgument(new Argument2("<id>", "Sprint ID").argParser(positiveInt)).option("--
|
|
1432
|
+
parent.command("issues").description("Get issues in a sprint").addArgument(new Argument2("<id>", "Sprint ID").argParser(positiveInt)).option("--limit <number>", "Max results (1-50, Jira DC caps at 50)", intInRange(1, 50), 25).option("--start <number>", "Starting index for pagination", nonNegativeInt).option("--fields <fields>", "Comma-separated field names to return").option("--jql <jql>", "Additional JQL filter within the sprint").addHelpText(
|
|
1430
1433
|
"after",
|
|
1431
|
-
'\nExamples:\n jiradc sprint issues 100\n jiradc sprint issues 100 --
|
|
1434
|
+
'\nExamples:\n jiradc sprint issues 100\n jiradc sprint issues 100 --limit 20\n jiradc sprint issues 100 --jql "status = Done" --fields summary,status\n jiradc sprint issues 100 --start 50 --limit 25'
|
|
1432
1435
|
).action(async (id, opts) => {
|
|
1433
1436
|
const client = getClient();
|
|
1434
1437
|
const result = await client.agile.getSprintIssues({
|
|
1435
1438
|
sprintId: id,
|
|
1436
|
-
startAt: opts.
|
|
1437
|
-
maxResults: opts.
|
|
1439
|
+
startAt: opts.start,
|
|
1440
|
+
maxResults: opts.limit,
|
|
1438
1441
|
fields: opts.fields?.split(",").map((f) => f.trim()),
|
|
1439
1442
|
jql: opts.jql
|
|
1440
1443
|
});
|
|
@@ -1490,7 +1493,7 @@ function registerSprintCommands(program2) {
|
|
|
1490
1493
|
Examples:
|
|
1491
1494
|
$ jiradc sprint list --board 42
|
|
1492
1495
|
$ jiradc sprint list --board 42 --state active
|
|
1493
|
-
$ jiradc sprint issues 123 --
|
|
1496
|
+
$ jiradc sprint issues 123 --limit 20
|
|
1494
1497
|
$ jiradc sprint create --board 42 --name "Sprint 10" --start-date 2026-04-01 --end-date 2026-04-14
|
|
1495
1498
|
`
|
|
1496
1499
|
);
|
|
@@ -1500,6 +1503,111 @@ Examples:
|
|
|
1500
1503
|
update3(sprint);
|
|
1501
1504
|
}
|
|
1502
1505
|
|
|
1506
|
+
// src/commands/token/client.ts
|
|
1507
|
+
import { JiraClient as JiraClient2 } from "jira-data-center-client";
|
|
1508
|
+
function getTokenClient(options2 = {}) {
|
|
1509
|
+
const baseUrl = process.env.JIRA_URL;
|
|
1510
|
+
const username = options2.basicUsername ?? process.env.JIRA_BASIC_USERNAME;
|
|
1511
|
+
const password = options2.basicPassword ?? process.env.JIRA_BASIC_PASSWORD;
|
|
1512
|
+
if (!baseUrl || !username || !password) {
|
|
1513
|
+
const missing = [
|
|
1514
|
+
...!baseUrl ? ["JIRA_URL"] : [],
|
|
1515
|
+
...!username ? ["JIRA_BASIC_USERNAME (or --basic-username)"] : [],
|
|
1516
|
+
...!password ? ["JIRA_BASIC_PASSWORD (or --basic-password)"] : []
|
|
1517
|
+
];
|
|
1518
|
+
process.stderr.write(
|
|
1519
|
+
`${JSON.stringify({
|
|
1520
|
+
error: `Missing required credentials: ${missing.join(", ")}`,
|
|
1521
|
+
hint: "Set JIRA_BASIC_USERNAME and JIRA_BASIC_PASSWORD in your shell profile, or pass --basic-username / --basic-password."
|
|
1522
|
+
})}
|
|
1523
|
+
`
|
|
1524
|
+
);
|
|
1525
|
+
process.exit(1);
|
|
1526
|
+
}
|
|
1527
|
+
const client = new JiraClient2({ baseUrl });
|
|
1528
|
+
return { client, username, password };
|
|
1529
|
+
}
|
|
1530
|
+
|
|
1531
|
+
// src/commands/token/create.ts
|
|
1532
|
+
function create4(parent) {
|
|
1533
|
+
parent.command("create").description("Create a Personal Access Token. The secret is returned exactly once.").requiredOption("--name <name>", "Token name").option(
|
|
1534
|
+
"--expiration-duration <days>",
|
|
1535
|
+
"Token lifetime in days. Omit for a non-expiring token (admin policy permitting).",
|
|
1536
|
+
positiveInt
|
|
1537
|
+
).option("--basic-username <u>", "Override $JIRA_BASIC_USERNAME").option(
|
|
1538
|
+
"--basic-password <p>",
|
|
1539
|
+
"Override $JIRA_BASIC_PASSWORD (caution: visible in process table; prefer the env var)"
|
|
1540
|
+
).addHelpText(
|
|
1541
|
+
"after",
|
|
1542
|
+
`
|
|
1543
|
+
Examples:
|
|
1544
|
+
$ jiradc token create --name my-pat # non-expiring
|
|
1545
|
+
$ jiradc token create --name svc-token --expiration-duration 365
|
|
1546
|
+
`
|
|
1547
|
+
).action(async (opts) => {
|
|
1548
|
+
const { client, username, password } = getTokenClient({
|
|
1549
|
+
basicUsername: opts.basicUsername,
|
|
1550
|
+
basicPassword: opts.basicPassword
|
|
1551
|
+
});
|
|
1552
|
+
const result = await client.accessTokens.create({
|
|
1553
|
+
username,
|
|
1554
|
+
password,
|
|
1555
|
+
name: opts.name,
|
|
1556
|
+
expirationDuration: opts.expirationDuration
|
|
1557
|
+
});
|
|
1558
|
+
output(result);
|
|
1559
|
+
});
|
|
1560
|
+
}
|
|
1561
|
+
|
|
1562
|
+
// src/commands/token/list.ts
|
|
1563
|
+
function list6(parent) {
|
|
1564
|
+
parent.command("list").description("List Personal Access Tokens owned by the authenticated user (secrets not included)").option("--basic-username <u>", "Override $JIRA_BASIC_USERNAME").option(
|
|
1565
|
+
"--basic-password <p>",
|
|
1566
|
+
"Override $JIRA_BASIC_PASSWORD (caution: visible in process table; prefer the env var)"
|
|
1567
|
+
).action(async (opts) => {
|
|
1568
|
+
const { client, username, password } = getTokenClient({
|
|
1569
|
+
basicUsername: opts.basicUsername,
|
|
1570
|
+
basicPassword: opts.basicPassword
|
|
1571
|
+
});
|
|
1572
|
+
output(await client.accessTokens.list({ username, password }));
|
|
1573
|
+
});
|
|
1574
|
+
}
|
|
1575
|
+
|
|
1576
|
+
// src/commands/token/revoke.ts
|
|
1577
|
+
function revoke(parent) {
|
|
1578
|
+
parent.command("revoke").description("Revoke a Personal Access Token by id").requiredOption("--id <tokenId>", "Token id to revoke", positiveInt).option("--basic-username <u>", "Override $JIRA_BASIC_USERNAME").option(
|
|
1579
|
+
"--basic-password <p>",
|
|
1580
|
+
"Override $JIRA_BASIC_PASSWORD (caution: visible in process table; prefer the env var)"
|
|
1581
|
+
).action(async (opts) => {
|
|
1582
|
+
const { client, username, password } = getTokenClient({
|
|
1583
|
+
basicUsername: opts.basicUsername,
|
|
1584
|
+
basicPassword: opts.basicPassword
|
|
1585
|
+
});
|
|
1586
|
+
await client.accessTokens.revoke({ username, password, tokenId: opts.id });
|
|
1587
|
+
output({ revoked: opts.id });
|
|
1588
|
+
});
|
|
1589
|
+
}
|
|
1590
|
+
|
|
1591
|
+
// src/commands/token/index.ts
|
|
1592
|
+
function registerTokenCommands(program2) {
|
|
1593
|
+
const token = program2.command("token").description("Personal Access Token management").addHelpText(
|
|
1594
|
+
"after",
|
|
1595
|
+
`
|
|
1596
|
+
Examples:
|
|
1597
|
+
$ jiradc token list
|
|
1598
|
+
$ jiradc token create --name my-pat
|
|
1599
|
+
$ jiradc token revoke --id 173
|
|
1600
|
+
|
|
1601
|
+
Auth:
|
|
1602
|
+
Requires JIRA_BASIC_USERNAME + JIRA_BASIC_PASSWORD
|
|
1603
|
+
(or --basic-username / --basic-password on any subcommand).
|
|
1604
|
+
`
|
|
1605
|
+
);
|
|
1606
|
+
create4(token);
|
|
1607
|
+
list6(token);
|
|
1608
|
+
revoke(token);
|
|
1609
|
+
}
|
|
1610
|
+
|
|
1503
1611
|
// src/commands/user/get.ts
|
|
1504
1612
|
function get3(parent) {
|
|
1505
1613
|
parent.command("get <username>").description("Get a user profile by exact username or key").option("--by-key", "Treat the positional argument as a user key instead of a username").addHelpText("after", "\nExamples:\n jiradc user get jsmith\n jiradc user get JIRAUSER10100 --by-key").action(async (identifier, opts) => {
|
|
@@ -1520,15 +1628,15 @@ function me(parent) {
|
|
|
1520
1628
|
|
|
1521
1629
|
// src/commands/user/search.ts
|
|
1522
1630
|
function search3(parent) {
|
|
1523
|
-
parent.command("search <query>").description("Search users by partial username, display name or email").option("--
|
|
1631
|
+
parent.command("search <query>").description("Search users by partial username, display name or email").option("--limit <n>", "Maximum results (1-50)", intInRange(1, 50), 25).option("--start <n>", "Starting index (pagination offset)", nonNegativeInt, 0).option("--include-inactive", "Include inactive users in results", false).addHelpText(
|
|
1524
1632
|
"after",
|
|
1525
|
-
'\nExamples:\n jiradc user search Drago\n jiradc user search "John Smith"\n jiradc user search dragomir@first.bet --
|
|
1633
|
+
'\nExamples:\n jiradc user search Drago\n jiradc user search "John Smith"\n jiradc user search dragomir@first.bet --limit 5'
|
|
1526
1634
|
).action(async (query, opts) => {
|
|
1527
1635
|
const client = getClient();
|
|
1528
1636
|
const result = await client.users.searchUsers({
|
|
1529
1637
|
username: query,
|
|
1530
1638
|
startAt: opts.start,
|
|
1531
|
-
maxResults: opts.
|
|
1639
|
+
maxResults: opts.limit,
|
|
1532
1640
|
includeActive: true,
|
|
1533
1641
|
includeInactive: opts.includeInactive
|
|
1534
1642
|
});
|
|
@@ -1583,7 +1691,7 @@ ${styleText("bold", "Environment:")}
|
|
|
1583
1691
|
|
|
1584
1692
|
${styleText("bold", "Examples:")}
|
|
1585
1693
|
${DIM}$${RESET} jiradc user me
|
|
1586
|
-
${DIM}$${RESET} jiradc issue search "project = PROJ AND status = Open" --
|
|
1694
|
+
${DIM}$${RESET} jiradc issue search "project = PROJ AND status = Open" --limit 10
|
|
1587
1695
|
${DIM}$${RESET} jiradc issue get PROJ-123 --fields summary,status
|
|
1588
1696
|
${DIM}$${RESET} jiradc issue create --project PROJ --type Task --summary "Fix the bug"
|
|
1589
1697
|
${DIM}$${RESET} jiradc issue transition PROJ-123 --to 11
|
|
@@ -1602,6 +1710,7 @@ registerBoardCommands(program);
|
|
|
1602
1710
|
registerSprintCommands(program);
|
|
1603
1711
|
registerFieldCommands(program);
|
|
1604
1712
|
registerUserCommands(program);
|
|
1713
|
+
registerTokenCommands(program);
|
|
1605
1714
|
try {
|
|
1606
1715
|
await program.parseAsync();
|
|
1607
1716
|
} catch (err) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jiradc-cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.17-gf5691e1.1",
|
|
4
4
|
"publish": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
],
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"commander": "^13.1.0",
|
|
15
|
-
"jira-data-center-client": "1.0.
|
|
15
|
+
"jira-data-center-client": "1.0.35-gf5691e1.1"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@types/node": "24.10.4",
|