@nutteen/ist 0.1.2 → 0.1.4
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.
|
@@ -12,6 +12,10 @@ export async function issueCommand(args) {
|
|
|
12
12
|
const status = valueAfter(args, "--status");
|
|
13
13
|
if (status)
|
|
14
14
|
params.set("status", status);
|
|
15
|
+
// Multiple --label flags = AND semantics (issue must have all specified labels)
|
|
16
|
+
for (const label of allValuesAfter(args, "--label")) {
|
|
17
|
+
params.append("label", label);
|
|
18
|
+
}
|
|
15
19
|
const qs = params.size ? `?${params.toString()}` : "";
|
|
16
20
|
return request(`/v1/issues${qs}`);
|
|
17
21
|
}
|
|
@@ -43,9 +47,15 @@ export async function issueCommand(args) {
|
|
|
43
47
|
const status = valueAfter(args, "--status");
|
|
44
48
|
if (status !== undefined)
|
|
45
49
|
updateBody.status = status;
|
|
50
|
+
const description = valueAfter(args, "--description");
|
|
51
|
+
if (description !== undefined)
|
|
52
|
+
updateBody.description = description;
|
|
46
53
|
const assignee = valueAfter(args, "--assignee");
|
|
47
54
|
if (assignee !== undefined) {
|
|
48
|
-
if (assignee === "
|
|
55
|
+
if (assignee === "none") {
|
|
56
|
+
updateBody.assignee_id = null;
|
|
57
|
+
}
|
|
58
|
+
else if (assignee === "me") {
|
|
49
59
|
const me = await request("/v1/me");
|
|
50
60
|
updateBody.assignee_id = me.id;
|
|
51
61
|
}
|
|
@@ -57,6 +67,20 @@ export async function issueCommand(args) {
|
|
|
57
67
|
updateBody.assignee_id = match.id;
|
|
58
68
|
}
|
|
59
69
|
}
|
|
70
|
+
const addLabel = valueAfter(args, "--add-label");
|
|
71
|
+
const removeLabel = valueAfter(args, "--remove-label");
|
|
72
|
+
if (addLabel !== undefined || removeLabel !== undefined) {
|
|
73
|
+
const current = await request(`/v1/issues/${args[1]}`);
|
|
74
|
+
const currentLabels = current.labels ?? [];
|
|
75
|
+
let newLabels = [...currentLabels];
|
|
76
|
+
if (addLabel !== undefined && !newLabels.includes(addLabel)) {
|
|
77
|
+
newLabels.push(addLabel);
|
|
78
|
+
}
|
|
79
|
+
if (removeLabel !== undefined) {
|
|
80
|
+
newLabels = newLabels.filter((l) => l !== removeLabel);
|
|
81
|
+
}
|
|
82
|
+
updateBody.labels = newLabels;
|
|
83
|
+
}
|
|
60
84
|
return request(`/v1/issues/${args[1]}`, {
|
|
61
85
|
method: "PATCH",
|
|
62
86
|
body: JSON.stringify(updateBody),
|
|
@@ -74,10 +98,46 @@ export async function issueCommand(args) {
|
|
|
74
98
|
body: JSON.stringify({ body: args.slice(2).join(" ") }),
|
|
75
99
|
});
|
|
76
100
|
}
|
|
101
|
+
if (action === "link") {
|
|
102
|
+
const key = args[1];
|
|
103
|
+
const target = valueAfter(args, "--blocks");
|
|
104
|
+
if (!key || !target) {
|
|
105
|
+
throw new Error("Usage: ist issue link <key> --blocks <target-key>");
|
|
106
|
+
}
|
|
107
|
+
return request(`/v1/issues/${key.toUpperCase()}/relationships`, {
|
|
108
|
+
method: "POST",
|
|
109
|
+
body: JSON.stringify({ target_key: target.toUpperCase() }),
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
if (action === "unlink") {
|
|
113
|
+
const key = args[1];
|
|
114
|
+
const target = valueAfter(args, "--blocks");
|
|
115
|
+
if (!key || !target) {
|
|
116
|
+
throw new Error("Usage: ist issue unlink <key> --blocks <target-key>");
|
|
117
|
+
}
|
|
118
|
+
const issue = await request(`/v1/issues/${key.toUpperCase()}`);
|
|
119
|
+
const rel = (issue.relationships?.blocks ?? []).find((r) => r.to_issue.key === target.toUpperCase());
|
|
120
|
+
if (!rel) {
|
|
121
|
+
throw new Error(`No blocks relationship found: ${key.toUpperCase()} -> ${target.toUpperCase()}`);
|
|
122
|
+
}
|
|
123
|
+
await request(`/v1/issues/${key.toUpperCase()}/relationships/${rel.id}`, {
|
|
124
|
+
method: "DELETE",
|
|
125
|
+
});
|
|
126
|
+
return `Unlinked: ${key.toUpperCase()} no longer blocks ${target.toUpperCase()}`;
|
|
127
|
+
}
|
|
77
128
|
throw new Error(`Unknown issue command: ${action ?? ""}`);
|
|
78
129
|
}
|
|
79
130
|
function valueAfter(args, flag) {
|
|
80
131
|
const index = args.indexOf(flag);
|
|
81
132
|
return index >= 0 ? args[index + 1] : undefined;
|
|
82
133
|
}
|
|
134
|
+
function allValuesAfter(args, flag) {
|
|
135
|
+
const values = [];
|
|
136
|
+
for (let i = 0; i < args.length; i++) {
|
|
137
|
+
if (args[i] === flag && i + 1 < args.length) {
|
|
138
|
+
values.push(args[i + 1]);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return values;
|
|
142
|
+
}
|
|
83
143
|
//# sourceMappingURL=issue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../src/commands/issue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAI3C,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAc;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAChD,IAAI,QAAQ;YAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC9C,IAAI,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5C,IAAI,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,OAAO,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,OAAO,CAA0B,cAAc,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/E,OAAO,MAAM,CAAC,QAAQ,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CAA0B,cAAc,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrF,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,YAAY,EAAE;YAC3B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC;gBAC1C,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;gBAClC,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE;gBACpD,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM;aACjD,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,UAAU,GAA4B,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS;YAAE,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QAClD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS;YAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;QACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAChD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../src/commands/issue.ts"],"names":[],"mappings":"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"}
|