@eyeauras/youtrack-cli 0.7.0 → 0.7.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 +25 -20
- package/dist/src/cli.js +1 -1
- package/package.json +17 -10
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
The scoped package provides the `youtrack-cli` command:
|
|
4
4
|
|
|
5
|
-
Agents use the [shared YouTrack workflow](
|
|
5
|
+
Agents use the [shared YouTrack workflow](docs/agent-workflow.md):
|
|
6
6
|
our executable is primary; the separate Python `yt.exe` is an explicit fallback.
|
|
7
7
|
The guide covers field selection, paging and preserving tracker/profile ownership.
|
|
8
8
|
|
|
@@ -20,9 +20,9 @@ On Windows, Core now stores DPAPI CurrentUser encrypted files under the selected
|
|
|
20
20
|
AppData `secrets/` directory. Credential Manager is no longer used or migrated. Sign in again
|
|
21
21
|
for each profile and reimport auxiliary secrets. Existing profiles and permissions remain.
|
|
22
22
|
|
|
23
|
-
Licensed under MIT. See the [release guide](
|
|
23
|
+
Licensed under MIT. See the [release guide](docs/release.md).
|
|
24
24
|
|
|
25
|
-
YouTrack
|
|
25
|
+
YouTrack consumes the exact published `@eyeauras/cli-factory` version declared in package.json. The CLI
|
|
26
26
|
provides standard profiles/auth/permissions and 118 REST operations: 98 ReadOnly and 20 Update.
|
|
27
27
|
Five workflow leaves reuse those operations instead of adding REST operations: issue and article
|
|
28
28
|
attachment download, article export, and `issues batch validate/apply`. There are 121 service
|
|
@@ -73,10 +73,10 @@ complete issue selection. There are no old aliases or array-returning modes. Pro
|
|
|
73
73
|
credentials need no reconfiguration and existing user files are untouched.
|
|
74
74
|
|
|
75
75
|
```powershell
|
|
76
|
-
npm
|
|
77
|
-
npm
|
|
78
|
-
npm
|
|
79
|
-
npm
|
|
76
|
+
npm start -- project list --page-size 3 --profile youtrack-dev
|
|
77
|
+
npm start -- issues list --query "project: DEMO #Unresolved" --profile youtrack-dev
|
|
78
|
+
npm start -- issues get DEMO-1 --fields "id,summary,description" --profile youtrack-dev
|
|
79
|
+
npm start -- issues comments list DEMO-1 --page-size 3 --profile youtrack-dev
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
Handlers return domain values for human, `--json` and persistent `--json-rpc` output.
|
|
@@ -130,13 +130,13 @@ Build from the repository root with `npm run build`, then use your current termi
|
|
|
130
130
|
the normal CLI pipeline; no wrapper or auxiliary terminal window is required:
|
|
131
131
|
|
|
132
132
|
```powershell
|
|
133
|
-
npm
|
|
133
|
+
npm start -- profile configure youtrack-dev
|
|
134
134
|
```
|
|
135
135
|
|
|
136
136
|
Only if this terminal can see the existing configured profile, resume token login without changing it:
|
|
137
137
|
|
|
138
138
|
```powershell
|
|
139
|
-
npm
|
|
139
|
+
npm start -- auth login --profile youtrack-dev
|
|
140
140
|
```
|
|
141
141
|
|
|
142
142
|
If login reports a missing profile, run `profile configure` first in that same terminal; do not assume
|
|
@@ -160,7 +160,7 @@ credential namespace is separate from TeamCity and every YouTrack profile is iso
|
|
|
160
160
|
For automation, supply token input from a trusted secret source on stdin:
|
|
161
161
|
|
|
162
162
|
```powershell
|
|
163
|
-
npm
|
|
163
|
+
npm start -- auth login --profile youtrack-dev --token-stdin
|
|
164
164
|
```
|
|
165
165
|
|
|
166
166
|
The factory selects a new candidate from explicit `--token-stdin`, then `YOUTRACK_TOKEN`,
|
|
@@ -205,7 +205,7 @@ and value selectors inside the write; the CLI performs no catalog reads or ID re
|
|
|
205
205
|
`$type` is never inferred and nothing is cached.
|
|
206
206
|
|
|
207
207
|
```powershell
|
|
208
|
-
npm
|
|
208
|
+
npm start -- issues create --profile youtrack-dev --body '{"project":{"shortName":"DEMO"},"summary":"Example","customFields":[{"$type":"SingleEnumIssueCustomField","name":"Priority","value":{"name":"Major"}}]}'
|
|
209
209
|
```
|
|
210
210
|
|
|
211
211
|
Every narrative write also accepts a UTF-8 file for its text field: `--description-file` (issue
|
|
@@ -219,19 +219,19 @@ local size ceiling, and stdin is not used because JSON-RPC owns it.
|
|
|
219
219
|
For Windows **CMD**, replace the example project ID before deliberately running a write:
|
|
220
220
|
|
|
221
221
|
```cmd
|
|
222
|
-
npm
|
|
222
|
+
npm start -- issues create --body "{\"project\":{\"id\":\"PROJECT_ID\"},\"summary\":\"Example issue\"}" --profile youtrack-dev
|
|
223
223
|
```
|
|
224
224
|
|
|
225
225
|
The equivalent **PowerShell 7** command uses ordinary single quotes around JSON:
|
|
226
226
|
|
|
227
227
|
```powershell
|
|
228
|
-
npm
|
|
228
|
+
npm start -- issues create --body '{"project":{"id":"PROJECT_ID"},"summary":"Example issue"}' --profile youtrack-dev
|
|
229
229
|
```
|
|
230
230
|
|
|
231
231
|
Windows **PowerShell 5.1** requires escaping the inner quotes through the npm/CMD pipeline:
|
|
232
232
|
|
|
233
233
|
```powershell
|
|
234
|
-
npm
|
|
234
|
+
npm start -- issues create --body '{\"project\":{\"id\":\"PROJECT_ID\"},\"summary\":\"Example issue\"}' --profile youtrack-dev
|
|
235
235
|
```
|
|
236
236
|
|
|
237
237
|
Updates return `id,idReadable,summary,updated`; comment creation returns the same finite fields
|
|
@@ -364,9 +364,9 @@ It supports `--fields` for the response. No implicit file discovery is provided,
|
|
|
364
364
|
grants permissions.
|
|
365
365
|
|
|
366
366
|
```powershell
|
|
367
|
-
npm
|
|
368
|
-
npm
|
|
369
|
-
npm
|
|
367
|
+
npm start -- issues attachments download DEMO-1 1-1 --profile youtrack-dev
|
|
368
|
+
npm start -- issues attachments download DEMO-1 1-1 --output report.txt --max-bytes 1048576 --profile youtrack-dev
|
|
369
|
+
npm start -- article attachment download KB-A-1 7-1 --profile youtrack-dev
|
|
370
370
|
```
|
|
371
371
|
|
|
372
372
|
Issue and article attachment downloads first read the exact attachment's fixed metadata, then request only
|
|
@@ -427,7 +427,7 @@ a `CliError` carrying `.result`.
|
|
|
427
427
|
|
|
428
428
|
This is a breaking change: scripts that previously relied on exit 0 plus `status: incomplete`
|
|
429
429
|
must now handle the failure path and read the same summary from the appropriate surface.
|
|
430
|
-
See the [0.6.1 release notes](
|
|
430
|
+
See the [0.6.1 release notes](https://github.com/iXab3r/EyeAuras.CliFactory/blob/6b226682ef762dd49bd1c9d7eb8e7bf18e80acc8/CHANGELOG.md#061).
|
|
431
431
|
|
|
432
432
|
`--failed-rows <path.json>` saves the `failed` and `unattempted` rows
|
|
433
433
|
as a manifest at the requested path relative to the invocation working directory for deliberate resubmission; `uncertain` rows are left out and must
|
|
@@ -459,7 +459,7 @@ Not provided:
|
|
|
459
459
|
After configuring a profile, explicitly run:
|
|
460
460
|
|
|
461
461
|
```powershell
|
|
462
|
-
npm run test:integration --
|
|
462
|
+
npm run test:integration -- --profile youtrack-dev
|
|
463
463
|
```
|
|
464
464
|
|
|
465
465
|
The explicit local proof uses twenty-four fixed ReadOnly rows through the compiled CLI, named profile
|
|
@@ -477,10 +477,15 @@ are not availability evidence, and failed prerequisites still fail the overall p
|
|
|
477
477
|
writes, automatic pagination or further resource discovery occur. CI and arbitrary URL/token/
|
|
478
478
|
command arguments are refused; inherited `YOUTRACK_TOKEN` is removed case-insensitively.
|
|
479
479
|
The shared Core proof invoker keeps the 30-second timeout and separate 64-KiB stdout/stderr bounds;
|
|
480
|
-
see the [shared CI and process contract](
|
|
480
|
+
see the [shared CI and process contract](https://github.com/iXab3r/EyeAuras.CliFactory/blob/bf79b80636bcdd790bbd6c25648842ae5213f267/docs/testing.md).
|
|
481
481
|
Do not run it in CI or add it to generic test commands. A failed proof requires local
|
|
482
482
|
configuration/TLS/permission investigation; its payloads are deliberately not logged.
|
|
483
483
|
|
|
484
484
|
`npm test` builds and runs deterministic offline tests, including MSW against the actual
|
|
485
485
|
client and declaration, synthetic profile/credential isolation, JSON-RPC and proof safety.
|
|
486
486
|
Tests inject `AppArguments` rather than redirecting the user's data directories.
|
|
487
|
+
|
|
488
|
+
## Source development
|
|
489
|
+
|
|
490
|
+
`npm ci`, `npm test`, and `npm run test:package` build and test this repository independently.
|
|
491
|
+
See [release and Core adoption gates](docs/release.md) and [migration provenance](docs/migration.md).
|
package/dist/src/cli.js
CHANGED
|
@@ -40,7 +40,7 @@ export function createYouTrackCli(runtime) {
|
|
|
40
40
|
name: "youtrack-cli",
|
|
41
41
|
description: "AI-friendly access to YouTrack",
|
|
42
42
|
examples: [...issueExamples.slice(0, 3), "article get KB-A-7", "project list"],
|
|
43
|
-
version: "0.7.
|
|
43
|
+
version: "0.7.1",
|
|
44
44
|
applicationId: "youtrack-cli",
|
|
45
45
|
permissions: {},
|
|
46
46
|
profile: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eyeauras/youtrack-cli",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "AI-friendly YouTrack CLI built with AI CLI Factory.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/src/index.js",
|
|
@@ -12,29 +12,35 @@
|
|
|
12
12
|
"build": "tsc --project tsconfig.json",
|
|
13
13
|
"start": "node dist/src/bin.js",
|
|
14
14
|
"test:compiled": "node --test dist/tests/*.test.js",
|
|
15
|
-
"pretest:integration": "npm run build
|
|
15
|
+
"pretest:integration": "npm run build",
|
|
16
16
|
"test:integration": "node dist/integration-tests/profile-proof.js",
|
|
17
|
-
"prepack": "npm run build"
|
|
17
|
+
"prepack": "npm run build",
|
|
18
|
+
"test": "npm run build && npm run test:compiled",
|
|
19
|
+
"check": "npm test",
|
|
20
|
+
"test:package": "node scripts/test-package.mjs",
|
|
21
|
+
"test:registry": "node scripts/test-package.mjs --registry",
|
|
22
|
+
"test:release": "node --test scripts/test-release.mjs"
|
|
18
23
|
},
|
|
19
24
|
"engines": {
|
|
20
25
|
"node": ">=22"
|
|
21
26
|
},
|
|
22
27
|
"dependencies": {
|
|
23
|
-
"@eyeauras/cli-factory": "0.7.
|
|
28
|
+
"@eyeauras/cli-factory": "0.7.1",
|
|
24
29
|
"csv-parse": "^7.0.3"
|
|
25
30
|
},
|
|
26
31
|
"devDependencies": {
|
|
27
|
-
"msw": "^2.11.0"
|
|
32
|
+
"msw": "^2.11.0",
|
|
33
|
+
"@types/node": "^24.0.0",
|
|
34
|
+
"typescript": "^7.0.2"
|
|
28
35
|
},
|
|
29
36
|
"license": "MIT",
|
|
30
37
|
"repository": {
|
|
31
38
|
"type": "git",
|
|
32
|
-
"url": "git+https://github.com/iXab3r/
|
|
33
|
-
"directory": "integrations/youtrack"
|
|
39
|
+
"url": "git+https://github.com/iXab3r/youtrack-cli.git"
|
|
34
40
|
},
|
|
35
|
-
"homepage": "https://github.com/iXab3r/
|
|
41
|
+
"homepage": "https://github.com/iXab3r/youtrack-cli",
|
|
36
42
|
"bugs": {
|
|
37
|
-
"url": "https://github.com/iXab3r/
|
|
43
|
+
"url": "https://github.com/iXab3r/youtrack-cli/issues"
|
|
38
44
|
},
|
|
39
45
|
"publishConfig": {
|
|
40
46
|
"access": "public",
|
|
@@ -42,5 +48,6 @@
|
|
|
42
48
|
},
|
|
43
49
|
"files": [
|
|
44
50
|
"dist/src"
|
|
45
|
-
]
|
|
51
|
+
],
|
|
52
|
+
"packageManager": "npm@11.20.0"
|
|
46
53
|
}
|