@eyeauras/youtrack-cli 0.1.0 → 0.3.0
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/LICENSE +21 -21
- package/README.md +113 -30
- package/dist/src/article-extras-commands.d.ts.map +1 -1
- package/dist/src/article-extras-commands.js +3 -1
- package/dist/src/article-extras-commands.js.map +1 -1
- package/dist/src/articles-commands.d.ts.map +1 -1
- package/dist/src/articles-commands.js +8 -6
- package/dist/src/articles-commands.js.map +1 -1
- package/dist/src/articles.d.ts +9 -0
- package/dist/src/articles.d.ts.map +1 -1
- package/dist/src/articles.js +19 -0
- package/dist/src/articles.js.map +1 -1
- package/dist/src/attachment-download-commands.d.ts +1 -0
- package/dist/src/attachment-download-commands.d.ts.map +1 -1
- package/dist/src/attachment-download-commands.js +12 -8
- package/dist/src/attachment-download-commands.js.map +1 -1
- package/dist/src/attachment-download.d.ts +1 -0
- package/dist/src/attachment-download.d.ts.map +1 -1
- package/dist/src/attachment-download.js +19 -11
- package/dist/src/attachment-download.js.map +1 -1
- package/dist/src/cli-support.d.ts +5 -2
- package/dist/src/cli-support.d.ts.map +1 -1
- package/dist/src/cli-support.js +53 -10
- package/dist/src/cli-support.js.map +1 -1
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +51 -8
- package/dist/src/cli.js.map +1 -1
- package/dist/src/client.d.ts +19 -4
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +66 -33
- package/dist/src/client.js.map +1 -1
- package/dist/src/index.d.ts +5 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/issue-batch.d.ts +28 -0
- package/dist/src/issue-batch.d.ts.map +1 -0
- package/dist/src/issue-batch.js +138 -0
- package/dist/src/issue-batch.js.map +1 -0
- package/dist/src/issue-context-commands.d.ts.map +1 -1
- package/dist/src/issue-context-commands.js +1 -1
- package/dist/src/issue-context-commands.js.map +1 -1
- package/dist/src/issue-fields.d.ts +16 -0
- package/dist/src/issue-fields.d.ts.map +1 -1
- package/dist/src/issue-fields.js +96 -1
- package/dist/src/issue-fields.js.map +1 -1
- package/dist/src/issue-query-commands.js +2 -2
- package/dist/src/issue-query-commands.js.map +1 -1
- package/dist/src/issue-query.js +2 -2
- package/dist/src/issue-query.js.map +1 -1
- package/package.json +3 -2
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { type CommandContext, type CommandDefinition, type GatedTargetCommand, type OptionDefinition } from "@eyeauras/cli-factory";
|
|
2
2
|
import { type Connection, type IssueSearchOptions } from "./client.js";
|
|
3
3
|
export declare const bodyOptions: readonly OptionDefinition[];
|
|
4
|
+
export declare const fileOption: (flags: string, description: string, required?: boolean) => OptionDefinition;
|
|
5
|
+
/** Read one caller-selected file as strict UTF-8 (initial BOM removed); call only inside an admitted handler. */
|
|
6
|
+
export declare function readTextFile(path: string): Promise<string>;
|
|
4
7
|
export declare const projectionOptions: readonly OptionDefinition[];
|
|
5
8
|
export declare const pageOptions: readonly OptionDefinition[];
|
|
6
9
|
export declare function connection(context: CommandContext): Promise<Connection>;
|
|
@@ -12,8 +15,8 @@ type BodyOperation<Syntax extends string> = (connection: Connection, ...argument
|
|
|
12
15
|
type ProjectedBodyOperation<Syntax extends string> = (connection: Connection, ...arguments_: [...CommandValues<Syntax>, unknown, IssueSearchOptions]) => unknown;
|
|
13
16
|
export declare function pagedRead<const Syntax extends string>(syntax: Syntax, description: string, operation: ReadOperation<Syntax>): CommandDefinition;
|
|
14
17
|
export declare function projectedRead<const Syntax extends string>(syntax: Syntax, description: string, operation: ReadOperation<Syntax>): CommandDefinition;
|
|
15
|
-
export declare function bodyUpdate<const Syntax extends string>(syntax: Syntax, description: string, operation: BodyOperation<Syntax
|
|
16
|
-
export declare function projectedBodyUpdate<const Syntax extends string>(syntax: Syntax, description: string, operation: ProjectedBodyOperation<Syntax
|
|
18
|
+
export declare function bodyUpdate<const Syntax extends string>(syntax: Syntax, description: string, operation: BodyOperation<Syntax>, textField?: string): CommandDefinition;
|
|
19
|
+
export declare function projectedBodyUpdate<const Syntax extends string>(syntax: Syntax, description: string, operation: ProjectedBodyOperation<Syntax>, textField?: string): CommandDefinition;
|
|
17
20
|
export declare function readOptions(options: Record<string, unknown>): IssueSearchOptions;
|
|
18
21
|
export {};
|
|
19
22
|
//# sourceMappingURL=cli-support.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-support.d.ts","sourceRoot":"","sources":["../../src/cli-support.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-support.d.ts","sourceRoot":"","sources":["../../src/cli-support.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli-support.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { readFile, stat } from "node:fs/promises";
|
|
1
2
|
import { integerParser, jsonParser, targetCommands, } from "@eyeauras/cli-factory";
|
|
2
|
-
import { youTrackUrl } from "./client.js";
|
|
3
|
+
import { requiredText, youTrackUrl } from "./client.js";
|
|
3
4
|
export const bodyOptions = [
|
|
4
5
|
{
|
|
5
6
|
flags: "--body <json>",
|
|
@@ -8,16 +9,56 @@ export const bodyOptions = [
|
|
|
8
9
|
parse: jsonParser("YouTrack body must be valid JSON."),
|
|
9
10
|
},
|
|
10
11
|
];
|
|
12
|
+
export const fileOption = (flags, description, required = false) => ({
|
|
13
|
+
flags, description, required, parse: (value) => requiredText(value, "file path"),
|
|
14
|
+
});
|
|
15
|
+
/** Read one caller-selected file as strict UTF-8 (initial BOM removed); call only inside an admitted handler. */
|
|
16
|
+
export async function readTextFile(path) {
|
|
17
|
+
let bytes;
|
|
18
|
+
try {
|
|
19
|
+
if (!(await stat(path)).isFile())
|
|
20
|
+
throw new Error();
|
|
21
|
+
bytes = await readFile(path);
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
throw new Error("YouTrack input file must be a readable regular file.");
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
return new TextDecoder("utf-8", { fatal: true }).decode(bytes);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
throw new Error("YouTrack input file must be valid UTF-8.");
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/** Required `--body`, plus an optional `--<field>-file` that supplies one narrative property. */
|
|
34
|
+
function bodyInputOptions(textField) {
|
|
35
|
+
return textField === undefined ? bodyOptions : [
|
|
36
|
+
...bodyOptions,
|
|
37
|
+
fileOption(`--${textField}-file <path>`, `UTF-8 file supplying ${textField}; use --body '{}' when it is the only field`),
|
|
38
|
+
];
|
|
39
|
+
}
|
|
40
|
+
async function bodyInput(options, textField) {
|
|
41
|
+
const file = textField === undefined ? undefined : options[`${textField}File`];
|
|
42
|
+
const body = options.body;
|
|
43
|
+
if (typeof file !== "string")
|
|
44
|
+
return body;
|
|
45
|
+
if (body === null || typeof body !== "object" || Array.isArray(body))
|
|
46
|
+
throw new Error("YouTrack body must be a JSON object.");
|
|
47
|
+
if (Object.hasOwn(body, textField)) {
|
|
48
|
+
throw new Error(`YouTrack ${textField} must come from either --body or --${textField}-file.`);
|
|
49
|
+
}
|
|
50
|
+
return { ...body, [textField]: await readTextFile(file) };
|
|
51
|
+
}
|
|
11
52
|
export const projectionOptions = [
|
|
12
53
|
{ flags: "--fields <projection>", description: "Explicit YouTrack fields projection" },
|
|
13
54
|
];
|
|
14
55
|
export const pageOptions = [
|
|
15
56
|
...projectionOptions,
|
|
16
57
|
{
|
|
17
|
-
flags: "--top <count>", description: "Maximum results (
|
|
58
|
+
flags: "--top <count>", description: "Maximum results (positive safe integer)", defaultValue: 50,
|
|
18
59
|
parse: integerParser({
|
|
19
|
-
min: 1, max:
|
|
20
|
-
errorMessage: "YouTrack top must be a decimal integer
|
|
60
|
+
min: 1, max: Number.MAX_SAFE_INTEGER, signed: false,
|
|
61
|
+
errorMessage: "YouTrack top must be a positive safe decimal integer.",
|
|
21
62
|
}),
|
|
22
63
|
},
|
|
23
64
|
{
|
|
@@ -52,10 +93,10 @@ function positionalArguments(names, args) {
|
|
|
52
93
|
}
|
|
53
94
|
function operationCommand(leaf, syntax, description, operation, options, operationOptions) {
|
|
54
95
|
const names = positionalNames(syntax);
|
|
55
|
-
return leaf(syntax, description, (connection, input) => Reflect.apply(operation, undefined, [
|
|
96
|
+
return leaf(syntax, description, async (connection, input) => Reflect.apply(operation, undefined, [
|
|
56
97
|
connection,
|
|
57
98
|
...positionalArguments(names, input.args),
|
|
58
|
-
...operationOptions(input.options),
|
|
99
|
+
...await operationOptions(input.options),
|
|
59
100
|
]), options);
|
|
60
101
|
}
|
|
61
102
|
export function pagedRead(syntax, description, operation) {
|
|
@@ -64,11 +105,11 @@ export function pagedRead(syntax, description, operation) {
|
|
|
64
105
|
export function projectedRead(syntax, description, operation) {
|
|
65
106
|
return operationCommand(readCommand, syntax, description, operation, projectionOptions, (options) => [readOptions(options)]);
|
|
66
107
|
}
|
|
67
|
-
export function bodyUpdate(syntax, description, operation) {
|
|
68
|
-
return operationCommand(updateCommand, syntax, description, operation,
|
|
108
|
+
export function bodyUpdate(syntax, description, operation, textField) {
|
|
109
|
+
return operationCommand(updateCommand, syntax, description, operation, bodyInputOptions(textField), async (options) => [await bodyInput(options, textField)]);
|
|
69
110
|
}
|
|
70
|
-
export function projectedBodyUpdate(syntax, description, operation) {
|
|
71
|
-
return operationCommand(updateCommand, syntax, description, operation, [...
|
|
111
|
+
export function projectedBodyUpdate(syntax, description, operation, textField) {
|
|
112
|
+
return operationCommand(updateCommand, syntax, description, operation, [...bodyInputOptions(textField), ...projectionOptions], async (options) => [await bodyInput(options, textField), readOptions(options)]);
|
|
72
113
|
}
|
|
73
114
|
export function readOptions(options) {
|
|
74
115
|
return {
|
|
@@ -76,6 +117,8 @@ export function readOptions(options) {
|
|
|
76
117
|
...(typeof options.top === "number" ? { top: options.top } : {}),
|
|
77
118
|
...(typeof options.skip === "number" ? { skip: options.skip } : {}),
|
|
78
119
|
...(typeof options.query === "string" ? { query: options.query } : {}),
|
|
120
|
+
...(typeof options.maxResults === "number" ? { maxResults: options.maxResults } : {}),
|
|
121
|
+
...(typeof options.maxBytes === "number" ? { maxBytes: options.maxBytes } : {}),
|
|
79
122
|
};
|
|
80
123
|
}
|
|
81
124
|
//# sourceMappingURL=cli-support.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-support.js","sourceRoot":"","sources":["../../src/cli-support.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,UAAU,EACV,cAAc,GAKf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAA4C,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-support.js","sourceRoot":"","sources":["../../src/cli-support.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,uBAAuB,CAAC;AA2C/B,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,cAAc,CA6JtE"}
|
package/dist/src/cli.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { command, createCli, tokenAuth, } from "@eyeauras/cli-factory";
|
|
2
|
-
import { addComment,
|
|
3
|
-
import { bodyUpdate, pagedRead, pageOptions, projectedRead, readCommand, readOptions, } from "./cli-support.js";
|
|
1
|
+
import { command, createCli, downloadCommands, integerParser, Permission, tokenAuth, } from "@eyeauras/cli-factory";
|
|
2
|
+
import { addComment, currentUser, getIssue, listComments, listIssues, listProjects, readUser, youTrackUrl, } from "./client.js";
|
|
3
|
+
import { bodyUpdate, fileOption, pagedRead, pageOptions, projectedRead, readCommand, readOptions, readTextFile, updateCommand, } from "./cli-support.js";
|
|
4
|
+
import { downloadLimit, downloadName } from "./attachment-download.js";
|
|
5
|
+
import { applyIssueBatch, manifestRows } from "./issue-batch.js";
|
|
6
|
+
import { createIssue, updateIssue } from "./issue-fields.js";
|
|
4
7
|
import { contextRootCommands, contextIssueChildren, contextCommentChildren } from "./issue-context-commands.js";
|
|
5
8
|
import { timeRootCommands, timeIssueChildren } from "./issue-time-commands.js";
|
|
6
9
|
import { relationsRootCommands, relationsIssueChildren } from "./issue-relations-commands.js";
|
|
@@ -14,11 +17,13 @@ import { groupDirectoryRootCommands, groupDirectoryProjectChildren } from "./gro
|
|
|
14
17
|
import { articlesRootCommands, articlesProjectChildren } from "./articles-commands.js";
|
|
15
18
|
import { agileRootCommands } from "./agile-commands.js";
|
|
16
19
|
import { bundleValuesChildren } from "./bundle-values-commands.js";
|
|
20
|
+
const manifestOption = fileOption("--file <path>", "Required .json or .csv manifest (UTF-8)", true);
|
|
21
|
+
const manifest = async (options) => manifestRows(await readTextFile(String(options.file)), String(options.file));
|
|
17
22
|
export function createYouTrackCli(runtime) {
|
|
18
23
|
return createCli({
|
|
19
24
|
name: "youtrack-cli",
|
|
20
25
|
description: "AI-friendly access to YouTrack",
|
|
21
|
-
version: "0.
|
|
26
|
+
version: "0.3.0",
|
|
22
27
|
applicationId: "youtrack-cli",
|
|
23
28
|
permissions: {},
|
|
24
29
|
profile: {
|
|
@@ -45,6 +50,7 @@ export function createYouTrackCli(runtime) {
|
|
|
45
50
|
signal,
|
|
46
51
|
}),
|
|
47
52
|
}),
|
|
53
|
+
builtins: [downloadCommands],
|
|
48
54
|
commands: [
|
|
49
55
|
...contextRootCommands,
|
|
50
56
|
...timeRootCommands,
|
|
@@ -79,16 +85,53 @@ export function createYouTrackCli(runtime) {
|
|
|
79
85
|
...fieldsIssueChildren,
|
|
80
86
|
...attachmentsIssueChildren,
|
|
81
87
|
...queryIssueChildren,
|
|
82
|
-
bodyUpdate("create", "Create an issue with project
|
|
83
|
-
bodyUpdate("update <issueID>", "Update summary and/or
|
|
84
|
-
readCommand("list", "Search
|
|
88
|
+
bodyUpdate("create", "Create an issue with project id/shortName, summary, optional description and typed customFields", createIssue, "description"),
|
|
89
|
+
bodyUpdate("update <issueID>", "Update summary, description and/or typed customFields in one request; null or [] clears", updateIssue, "description"),
|
|
90
|
+
readCommand("list", "Search issues using YouTrack query syntax; --all reads every page within --max-results", (client, { options }) => {
|
|
91
|
+
if ((options.all === true) !== (options.maxResults !== undefined)) {
|
|
92
|
+
throw new Error("YouTrack --all and --max-results must be used together.");
|
|
93
|
+
}
|
|
94
|
+
return listIssues(client, readOptions(options));
|
|
95
|
+
}, [
|
|
85
96
|
...pageOptions,
|
|
86
97
|
{ flags: "--query <query>", description: "YouTrack search query" },
|
|
98
|
+
{ flags: "--all", description: "Read every page (--top is the page size); requires --max-results" },
|
|
99
|
+
{
|
|
100
|
+
flags: "--max-results <count>", description: "Fail instead of returning more issues than this",
|
|
101
|
+
parse: integerParser({
|
|
102
|
+
min: 1, max: Number.MAX_SAFE_INTEGER, signed: false,
|
|
103
|
+
errorMessage: "YouTrack max-results must be a positive safe decimal integer.",
|
|
104
|
+
}),
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
flags: "--max-bytes <n>", description: "Fail when this command's decoded responses exceed n bytes",
|
|
108
|
+
parse: downloadLimit,
|
|
109
|
+
},
|
|
87
110
|
]),
|
|
88
111
|
projectedRead("get <issueID>", "Show an issue by database or readable ID", getIssue),
|
|
112
|
+
command("batch", "Validate or apply JSON/CSV manifests of issue creates and updates", [
|
|
113
|
+
command("validate", "Validate a manifest locally; sends no requests and never uses the token (needs a configured profile)", async ({ options }) => {
|
|
114
|
+
const rows = await manifest(options);
|
|
115
|
+
const updates = rows.filter((row) => row.issue !== undefined).length;
|
|
116
|
+
return { rows: rows.length, create: rows.length - updates, update: updates };
|
|
117
|
+
}, { permission: Permission.ReadOnly, options: [manifestOption] }),
|
|
118
|
+
updateCommand("apply", "Apply manifest rows in order; no retries, rollback or search expansion", async (connection, { options }, context) => applyIssueBatch(connection, await manifest(options), {
|
|
119
|
+
appDataDirectory: context.appArguments.AppDataDirectory,
|
|
120
|
+
continueOnError: options.continueOnError === true,
|
|
121
|
+
...(typeof options.failedRows === "string" ? { failedRows: options.failedRows } : {}),
|
|
122
|
+
}), [
|
|
123
|
+
manifestOption,
|
|
124
|
+
{ flags: "--continue-on-error", description: "Continue after a failed or uncertain row (default: stop)" },
|
|
125
|
+
{
|
|
126
|
+
flags: "--failed-rows <name>",
|
|
127
|
+
description: "Save failed and unattempted rows as a .json manifest under downloads",
|
|
128
|
+
parse: downloadName,
|
|
129
|
+
},
|
|
130
|
+
]),
|
|
131
|
+
]),
|
|
89
132
|
command("comments", "Read and add issue comments", [
|
|
90
133
|
...contextCommentChildren,
|
|
91
|
-
bodyUpdate("add <issueID>", "Add a comment with a nonempty text field", addComment),
|
|
134
|
+
bodyUpdate("add <issueID>", "Add a comment with a nonempty text field", addComment, "text"),
|
|
92
135
|
pagedRead("list <issueID>", "List one page of comments for an issue", listComments),
|
|
93
136
|
]),
|
|
94
137
|
]),
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,SAAS,EACT,SAAS,GAGV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,UAAU,EACV,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,SAAS,GAGV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,UAAU,EACV,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,YAAY,EACZ,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAChH,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC5G,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AACpG,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AACtG,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,cAAc,GAAG,UAAU,CAAC,eAAe,EAAE,yCAAyC,EAAE,IAAI,CAAC,CAAC;AACpG,MAAM,QAAQ,GAAG,KAAK,EAAE,OAAgC,EAAE,EAAE,CAC1D,YAAY,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAE/E,MAAM,UAAU,iBAAiB,CAAC,OAAoB;IACpD,OAAO,SAAS,CAAC;QACf,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,OAAO;QAChB,aAAa,EAAE,cAAc;QAC7B,WAAW,EAAE,EAAE;QACf,OAAO,EAAE;YACP,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,aAAa;oBACpB,WAAW,EAAE,8DAA8D;oBAC3E,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,QAAQ,CAAC,MAAM;gBACb,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBAC7B,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;SACF;QACD,IAAI,EAAE,SAAS,CAAC;YACd,GAAG,EAAE,gBAAgB;YACrB,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC;gBAC3D,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;gBACxC,KAAK;gBACL,KAAK;gBACL,MAAM;aACP,CAAC;SACH,CAAC;QACF,QAAQ,EAAE,CAAC,gBAAgB,CAAC;QAC5B,QAAQ,EAAE;YACR,GAAG,mBAAmB;YACtB,GAAG,gBAAgB;YACnB,GAAG,qBAAqB;YACxB,GAAG,iBAAiB;YACpB,GAAG,wBAAwB;YAC3B,GAAG,wBAAwB;YAC3B,GAAG,0BAA0B;YAC7B,GAAG,oBAAoB;YACvB,GAAG,iBAAiB;YACpB,OAAO,CAAC,QAAQ,EAAE,8CAA8C,EAAE;gBAChE,GAAG,0BAA0B;gBAC7B,GAAG,2BAA2B;gBAC9B,GAAG,oBAAoB;aACxB,CAAC;YACF,OAAO,CAAC,MAAM,EAAE,wBAAwB,EAAE;gBACxC,GAAG,kBAAkB;gBACrB,GAAG,yBAAyB;gBAC5B,aAAa,CACX,IAAI,EACJ,qDAAqD,EACrD,QAAQ,CACT;aACF,CAAC;YACF,OAAO,CAAC,SAAS,EAAE,2BAA2B,EAAE;gBAC9C,GAAG,qBAAqB;gBACxB,GAAG,2BAA2B;gBAC9B,GAAG,6BAA6B;gBAChC,GAAG,uBAAuB;gBAC1B,SAAS,CAAC,MAAM,EAAE,2BAA2B,EAAE,YAAY,CAAC;aAC7D,CAAC;YACF,OAAO,CAAC,QAAQ,EAAE,iCAAiC,EAAE;gBACnD,GAAG,oBAAoB;gBACvB,GAAG,iBAAiB;gBACpB,GAAG,sBAAsB;gBACzB,GAAG,mBAAmB;gBACtB,GAAG,wBAAwB;gBAC3B,GAAG,kBAAkB;gBACrB,UAAU,CACR,QAAQ,EACR,iGAAiG,EACjG,WAAW,EACX,aAAa,CACd;gBACD,UAAU,CACR,kBAAkB,EAClB,yFAAyF,EACzF,WAAW,EACX,aAAa,CACd;gBACD,WAAW,CACT,MAAM,EACN,wFAAwF,EACxF,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;oBACtB,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,EAAE,CAAC;wBAClE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;oBAC7E,CAAC;oBACD,OAAO,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;gBAClD,CAAC,EACD;oBACE,GAAG,WAAW;oBACd,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,uBAAuB,EAAE;oBAClE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,kEAAkE,EAAE;oBACnG;wBACE,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,iDAAiD;wBAC9F,KAAK,EAAE,aAAa,CAAC;4BACnB,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK;4BACnD,YAAY,EAAE,+DAA+D;yBAC9E,CAAC;qBACH;oBACD;wBACE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,2DAA2D;wBAClG,KAAK,EAAE,aAAa;qBACrB;iBACF,CACF;gBACD,aAAa,CAAC,eAAe,EAAE,0CAA0C,EAAE,QAAQ,CAAC;gBACpF,OAAO,CAAC,OAAO,EAAE,mEAAmE,EAAE;oBACpF,OAAO,CACL,UAAU,EACV,sGAAsG,EACtG,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;wBACpB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;wBACrC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;wBACrE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;oBAC/E,CAAC,EACD,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,CAC/D;oBACD,aAAa,CACX,OAAO,EACP,wEAAwE,EACxE,KAAK,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE;wBAC/F,gBAAgB,EAAE,OAAO,CAAC,YAAY,CAAC,gBAAgB;wBACvD,eAAe,EAAE,OAAO,CAAC,eAAe,KAAK,IAAI;wBACjD,GAAG,CAAC,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACtF,CAAC,EACF;wBACE,cAAc;wBACd,EAAE,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,0DAA0D,EAAE;wBACzG;4BACE,KAAK,EAAE,sBAAsB;4BAC7B,WAAW,EAAE,sEAAsE;4BACnF,KAAK,EAAE,YAAY;yBACpB;qBACF,CACF;iBACF,CAAC;gBACF,OAAO,CAAC,UAAU,EAAE,6BAA6B,EAAE;oBACjD,GAAG,sBAAsB;oBACzB,UAAU,CACR,eAAe,EACf,0CAA0C,EAC1C,UAAU,EACV,MAAM,CACP;oBACD,SAAS,CACP,gBAAgB,EAChB,wCAAwC,EACxC,YAAY,CACb;iBACF,CAAC;aACH,CAAC;SACH;QACD,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;KAC9C,CAAC,CAAC;AACL,CAAC"}
|
package/dist/src/client.d.ts
CHANGED
|
@@ -22,6 +22,13 @@ export interface PageOptions extends ProjectionOptions {
|
|
|
22
22
|
}
|
|
23
23
|
export interface IssueSearchOptions extends PageOptions {
|
|
24
24
|
query?: string;
|
|
25
|
+
/** Read every page; fail instead of returning more issues. */
|
|
26
|
+
maxResults?: number;
|
|
27
|
+
/** Fail when this command's decoded response bytes exceed the budget. */
|
|
28
|
+
maxBytes?: number;
|
|
29
|
+
}
|
|
30
|
+
export interface ByteBudget {
|
|
31
|
+
remaining: number;
|
|
25
32
|
}
|
|
26
33
|
export declare function requiredText(value: string, label: string): string;
|
|
27
34
|
export declare function fields(options: ProjectionOptions, defaults: string): string;
|
|
@@ -30,13 +37,23 @@ export declare function encodedID(id: string, label?: string): string;
|
|
|
30
37
|
export declare function issuePath(id: string): string;
|
|
31
38
|
export declare function readObject(connection: Connection, path: string, query: Record<string, string>, body?: YouTrackObject): Promise<YouTrackObject>;
|
|
32
39
|
export declare function readNullableObject(connection: Connection, path: string, query: Record<string, string>): Promise<YouTrackObject | null>;
|
|
33
|
-
export declare function
|
|
40
|
+
export declare function getAttachmentDownloadMetadata(connection: Connection, attachmentPath: string): Promise<{
|
|
34
41
|
id: string;
|
|
35
42
|
name: string;
|
|
36
43
|
mimeType: string | null;
|
|
37
44
|
url: string;
|
|
38
45
|
}>;
|
|
39
|
-
export declare function readCollection(connection: Connection, path: string, query: Record<string, string
|
|
46
|
+
export declare function readCollection(connection: Connection, path: string, query: Record<string, string>, budget?: ByteBudget): Promise<YouTrackObject[]>;
|
|
47
|
+
/**
|
|
48
|
+
* Read an offset collection in server order until a short page proves the selection complete.
|
|
49
|
+
* Repeated string IDs are dropped; offset paging is not a snapshot of a changing dataset.
|
|
50
|
+
*/
|
|
51
|
+
export declare function readPages(connection: Connection, path: string, query: Record<string, string>, { top, skip, maxResults, budget }: {
|
|
52
|
+
top: number;
|
|
53
|
+
skip: number;
|
|
54
|
+
maxResults?: number;
|
|
55
|
+
budget?: ByteBudget | undefined;
|
|
56
|
+
}): Promise<YouTrackObject[]>;
|
|
40
57
|
type ResourcePath = string | ((...arguments_: never[]) => string);
|
|
41
58
|
type ResourcePathArguments<Path extends ResourcePath> = Path extends (...arguments_: infer Arguments extends string[]) => string ? Arguments : [];
|
|
42
59
|
/** Define one ordinary bounded YouTrack collection without repeating transport/query plumbing. */
|
|
@@ -55,8 +72,6 @@ export declare function nullableText(value: unknown, label: string): string | nu
|
|
|
55
72
|
export declare function mutate(connection: Connection, path: string, body: YouTrackObject, projection: string): Promise<YouTrackObject | null>;
|
|
56
73
|
export declare function deleteObject(connection: Connection, path: string): Promise<YouTrackObject | null>;
|
|
57
74
|
export declare function uploadObjectCollection(connection: Connection, path: string, body: FormData, projection: string): Promise<YouTrackObject[] | null>;
|
|
58
|
-
export declare function createIssue(connection: Connection, input: unknown): Promise<YouTrackObject | null>;
|
|
59
|
-
export declare function updateIssue(connection: Connection, id: string, input: unknown): Promise<YouTrackObject | null>;
|
|
60
75
|
export declare function addComment(connection: Connection, issueID: string, input: unknown): Promise<YouTrackObject | null>;
|
|
61
76
|
export {};
|
|
62
77
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/src/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA6BlD;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,aAAa,EAAE,CAAC;AAChG,MAAM,WAAW,cAAc;IAC7B,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;CAChC;AACD,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,WAAY,SAAQ,iBAAiB;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/src/client.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { readResponseBody } from "@eyeauras/cli-factory";
|
|
2
2
|
export function youTrackUrl(value) {
|
|
3
3
|
const message = "YouTrack URL must be an HTTPS server URL with an optional context path, " +
|
|
4
4
|
"without credentials, query, fragment or appended /api (HTTP is allowed only on localhost).";
|
|
@@ -42,8 +42,8 @@ export function fields(options, defaults) {
|
|
|
42
42
|
export function page(options, defaults) {
|
|
43
43
|
const top = options.top ?? 50;
|
|
44
44
|
const skip = options.skip ?? 0;
|
|
45
|
-
if (!Number.isSafeInteger(top) || top < 1
|
|
46
|
-
throw new Error("YouTrack top must be
|
|
45
|
+
if (!Number.isSafeInteger(top) || top < 1) {
|
|
46
|
+
throw new Error("YouTrack top must be a positive safe integer.");
|
|
47
47
|
}
|
|
48
48
|
if (!Number.isSafeInteger(skip) || skip < 0) {
|
|
49
49
|
throw new Error("YouTrack skip must be a nonnegative safe integer.");
|
|
@@ -146,7 +146,7 @@ async function request(connection, path, query, responseName = "JSON", options =
|
|
|
146
146
|
const retryAfter = response.headers.get("retry-after");
|
|
147
147
|
let retry = "";
|
|
148
148
|
if (response.status === 429 && retryAfter) {
|
|
149
|
-
if (/^\d
|
|
149
|
+
if (/^\d+$/.test(retryAfter) && Number.isSafeInteger(Number(retryAfter))) {
|
|
150
150
|
retry = ` Retry after ${Number(retryAfter)} seconds.`;
|
|
151
151
|
}
|
|
152
152
|
else if (/^[A-Z][a-z]{2}, \d{2} [A-Z][a-z]{2} \d{4} \d{2}:\d{2}:\d{2} GMT$/.test(retryAfter)) {
|
|
@@ -156,19 +156,26 @@ async function request(connection, path, query, responseName = "JSON", options =
|
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
|
-
|
|
159
|
+
// The status lets batch callers separate a definite rejection from an uncertain write.
|
|
160
|
+
throw Object.assign(new Error(`YouTrack request failed (HTTP ${response.status}).${retry}`), {
|
|
161
|
+
status: response.status,
|
|
162
|
+
});
|
|
160
163
|
}
|
|
161
164
|
let text;
|
|
162
165
|
try {
|
|
163
|
-
const bytes = await
|
|
164
|
-
maxBytes: 8 * 1024 * 1024,
|
|
166
|
+
const bytes = await readResponseBody(response, {
|
|
165
167
|
signal: connection.signal,
|
|
168
|
+
...(options.budget === undefined ? {} : { maxBytes: options.budget.remaining }),
|
|
166
169
|
});
|
|
170
|
+
if (options.budget)
|
|
171
|
+
options.budget.remaining -= bytes.length;
|
|
167
172
|
// Match Response.text(): UTF-8 replacement decoding with an initial BOM removed.
|
|
168
173
|
text = new TextDecoder().decode(bytes);
|
|
169
174
|
}
|
|
170
175
|
catch {
|
|
171
|
-
throw new Error(
|
|
176
|
+
throw new Error(options.budget === undefined
|
|
177
|
+
? "YouTrack response stream failed or was cancelled."
|
|
178
|
+
: "YouTrack response stream failed, exceeded --max-bytes, or was cancelled.");
|
|
172
179
|
}
|
|
173
180
|
let value;
|
|
174
181
|
try {
|
|
@@ -194,8 +201,8 @@ export async function readNullableObject(connection, path, query) {
|
|
|
194
201
|
return value === null ? null : object(value);
|
|
195
202
|
}
|
|
196
203
|
// Only the download implementation may consume this transient, unredacted URL.
|
|
197
|
-
export async function
|
|
198
|
-
const value = object(await request(connection,
|
|
204
|
+
export async function getAttachmentDownloadMetadata(connection, attachmentPath) {
|
|
205
|
+
const value = object(await request(connection, attachmentPath, { fields: "id,name,mimeType,url" }));
|
|
199
206
|
const token = connection.token.trim();
|
|
200
207
|
const { id, name, mimeType, url } = value;
|
|
201
208
|
if (typeof id !== "string" || !id.trim() ||
|
|
@@ -207,8 +214,8 @@ export async function getIssueAttachmentDownloadMetadata(connection, issueID, at
|
|
|
207
214
|
}
|
|
208
215
|
return { id, name, mimeType, url };
|
|
209
216
|
}
|
|
210
|
-
export async function readCollection(connection, path, query) {
|
|
211
|
-
const value = scrub(await request(connection, path, query), connection.token.trim());
|
|
217
|
+
export async function readCollection(connection, path, query, budget) {
|
|
218
|
+
const value = scrub(await request(connection, path, query, "JSON", { budget }), connection.token.trim());
|
|
212
219
|
if (!Array.isArray(value)) {
|
|
213
220
|
throw new Error("YouTrack returned an invalid collection response.");
|
|
214
221
|
}
|
|
@@ -217,6 +224,34 @@ export async function readCollection(connection, path, query) {
|
|
|
217
224
|
}
|
|
218
225
|
return value.map(object);
|
|
219
226
|
}
|
|
227
|
+
/**
|
|
228
|
+
* Read an offset collection in server order until a short page proves the selection complete.
|
|
229
|
+
* Repeated string IDs are dropped; offset paging is not a snapshot of a changing dataset.
|
|
230
|
+
*/
|
|
231
|
+
export async function readPages(connection, path, query, { top, skip, maxResults = Infinity, budget }) {
|
|
232
|
+
const items = [];
|
|
233
|
+
const ids = new Set();
|
|
234
|
+
for (let offset = skip;;) {
|
|
235
|
+
const size = Math.min(top, maxResults + 1 - items.length);
|
|
236
|
+
const page = await readCollection(connection, path, { ...query, $top: String(size), $skip: String(offset) }, budget);
|
|
237
|
+
const before = items.length;
|
|
238
|
+
for (const item of page) {
|
|
239
|
+
if (typeof item.id !== "string" || !ids.has(item.id))
|
|
240
|
+
items.push(item);
|
|
241
|
+
if (typeof item.id === "string")
|
|
242
|
+
ids.add(item.id);
|
|
243
|
+
}
|
|
244
|
+
if (items.length > maxResults) {
|
|
245
|
+
throw new Error("YouTrack selection exceeds --max-results; narrow the query or raise the budget.");
|
|
246
|
+
}
|
|
247
|
+
if (page.length < size)
|
|
248
|
+
return items;
|
|
249
|
+
if (items.length === before) {
|
|
250
|
+
throw new Error("YouTrack repeated a full page; paging stopped without a complete selection.");
|
|
251
|
+
}
|
|
252
|
+
offset += size;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
220
255
|
function resourceArguments(values) {
|
|
221
256
|
const items = [...values];
|
|
222
257
|
const tail = items.at(-1);
|
|
@@ -268,11 +303,28 @@ export async function readUser(connection, options = {}) {
|
|
|
268
303
|
: readObject(connection, "api/users/me", { fields: fields(options, "id,login") });
|
|
269
304
|
}
|
|
270
305
|
export const listProjects = readCollectionAt("api/admin/projects", "id,name,shortName");
|
|
306
|
+
function positiveBudget(value, label) {
|
|
307
|
+
if (!Number.isSafeInteger(value) || value < 1) {
|
|
308
|
+
throw new Error(`YouTrack ${label} must be a positive safe integer.`);
|
|
309
|
+
}
|
|
310
|
+
return value;
|
|
311
|
+
}
|
|
271
312
|
export async function listIssues(connection, options = {}) {
|
|
272
|
-
|
|
313
|
+
const query = {
|
|
273
314
|
...page(options, issueListFields),
|
|
274
315
|
...(options.query === undefined ? {} : { query: requiredText(options.query, "query") }),
|
|
275
|
-
}
|
|
316
|
+
};
|
|
317
|
+
const budget = options.maxBytes === undefined
|
|
318
|
+
? undefined
|
|
319
|
+
: { remaining: positiveBudget(options.maxBytes, "max-bytes") };
|
|
320
|
+
return options.maxResults === undefined
|
|
321
|
+
? readCollection(connection, "api/issues", query, budget)
|
|
322
|
+
: readPages(connection, "api/issues", query, {
|
|
323
|
+
top: Number(query.$top),
|
|
324
|
+
skip: Number(query.$skip),
|
|
325
|
+
maxResults: positiveBudget(options.maxResults, "max-results"),
|
|
326
|
+
budget,
|
|
327
|
+
});
|
|
276
328
|
}
|
|
277
329
|
export const getIssue = readObjectAt(issuePath, `${issueListFields},description,created`);
|
|
278
330
|
export const listComments = readCollectionAt((issueID) => `${issuePath(issueID)}/comments`, commentFields);
|
|
@@ -320,25 +372,6 @@ export async function uploadObjectCollection(connection, path, body, projection)
|
|
|
320
372
|
}
|
|
321
373
|
return value.map((item) => object(scrub(item, connection.token.trim())));
|
|
322
374
|
}
|
|
323
|
-
export async function createIssue(connection, input) {
|
|
324
|
-
const body = mutationBody(input, ["project", "summary", "description"]);
|
|
325
|
-
const project = mutationBody(body.project, ["id"]);
|
|
326
|
-
return mutate(connection, "api/issues", {
|
|
327
|
-
project: { id: narrative(project.id, "project.id") },
|
|
328
|
-
summary: narrative(body.summary, "summary"),
|
|
329
|
-
...(Object.hasOwn(body, "description") ? { description: nullableText(body.description, "description") } : {}),
|
|
330
|
-
}, "id,idReadable,summary,updated");
|
|
331
|
-
}
|
|
332
|
-
export async function updateIssue(connection, id, input) {
|
|
333
|
-
const body = mutationBody(input, ["summary", "description"]);
|
|
334
|
-
if (Object.keys(body).length === 0) {
|
|
335
|
-
throw new Error("YouTrack issue update requires summary or description.");
|
|
336
|
-
}
|
|
337
|
-
return mutate(connection, issuePath(id), {
|
|
338
|
-
...(Object.hasOwn(body, "summary") ? { summary: narrative(body.summary, "summary") } : {}),
|
|
339
|
-
...(Object.hasOwn(body, "description") ? { description: nullableText(body.description, "description") } : {}),
|
|
340
|
-
}, "id,idReadable,summary,updated");
|
|
341
|
-
}
|
|
342
375
|
export async function addComment(connection, issueID, input) {
|
|
343
376
|
const body = mutationBody(input, ["text"]);
|
|
344
377
|
return mutate(connection, `${issuePath(issueID)}/comments`, {
|
package/dist/src/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|