@knpkv/jira-cli 1.2.3 → 1.4.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/CHANGELOG.md +133 -0
- package/README.md +64 -0
- package/dist/AttachmentService.d.ts +2 -2
- package/dist/AttachmentService.d.ts.map +1 -1
- package/dist/AttachmentService.js +1 -1
- package/dist/AttachmentService.js.map +1 -1
- package/dist/IssueService.d.ts +82 -3
- package/dist/IssueService.d.ts.map +1 -1
- package/dist/IssueService.js +111 -16
- package/dist/IssueService.js.map +1 -1
- package/dist/JiraAuth.d.ts +3 -3
- package/dist/JiraAuth.d.ts.map +1 -1
- package/dist/JiraAuth.js +87 -23
- package/dist/JiraAuth.js.map +1 -1
- package/dist/MarkdownWriter.d.ts +4 -4
- package/dist/MarkdownWriter.d.ts.map +1 -1
- package/dist/MarkdownWriter.js +2 -2
- package/dist/MarkdownWriter.js.map +1 -1
- package/dist/SyncWorkspace.d.ts +2 -2
- package/dist/SyncWorkspace.d.ts.map +1 -1
- package/dist/SyncWorkspace.js.map +1 -1
- package/dist/VersionService.d.ts +81 -9
- package/dist/VersionService.d.ts.map +1 -1
- package/dist/VersionService.js +113 -17
- package/dist/VersionService.js.map +1 -1
- package/dist/bin.js +1 -1
- package/dist/bin.js.map +1 -1
- package/dist/commands/auth.d.ts +13 -2
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +7 -7
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/edit.d.ts +22 -0
- package/dist/commands/edit.d.ts.map +1 -0
- package/dist/commands/edit.js +49 -0
- package/dist/commands/edit.js.map +1 -0
- package/dist/commands/errorHandler.d.ts.map +1 -1
- package/dist/commands/get.d.ts +6 -1
- package/dist/commands/get.d.ts.map +1 -1
- package/dist/commands/get.js +3 -3
- package/dist/commands/get.js.map +1 -1
- package/dist/commands/issue.d.ts +2 -2
- package/dist/commands/issue.d.ts.map +1 -1
- package/dist/commands/issue.js +3 -2
- package/dist/commands/issue.js.map +1 -1
- package/dist/commands/issueAttachment.d.ts +1 -1
- package/dist/commands/issueAttachment.d.ts.map +1 -1
- package/dist/commands/issueAttachment.js +13 -11
- package/dist/commands/issueAttachment.js.map +1 -1
- package/dist/commands/layers.d.ts +3 -3
- package/dist/commands/layers.d.ts.map +1 -1
- package/dist/commands/layers.js +5 -2
- package/dist/commands/layers.js.map +1 -1
- package/dist/commands/search.d.ts +6 -1
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +7 -7
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/version.d.ts +17 -2
- package/dist/commands/version.d.ts.map +1 -1
- package/dist/commands/version.js +131 -19
- package/dist/commands/version.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/NodeLayers.js +1 -1
- package/dist/internal/NodeLayers.js.map +1 -1
- package/dist/internal/attachmentInsertion.d.ts.map +1 -1
- package/dist/internal/frontmatter.d.ts.map +1 -1
- package/dist/internal/frontmatter.js +2 -1
- package/dist/internal/frontmatter.js.map +1 -1
- package/dist/internal/jqlBuilder.d.ts.map +1 -1
- package/dist/internal/oauthServer.d.ts +10 -4
- package/dist/internal/oauthServer.d.ts.map +1 -1
- package/dist/internal/oauthServer.js +13 -8
- package/dist/internal/oauthServer.js.map +1 -1
- package/dist/internal/openBrowser.d.ts +1 -1
- package/dist/internal/openBrowser.d.ts.map +1 -1
- package/dist/internal/openBrowser.js +1 -1
- package/dist/internal/openBrowser.js.map +1 -1
- package/dist/internal/sync/baseline.d.ts.map +1 -1
- package/dist/internal/sync/baseline.js +2 -2
- package/dist/internal/sync/baseline.js.map +1 -1
- package/dist/internal/sync/changes.d.ts.map +1 -1
- package/dist/internal/sync/config.d.ts.map +1 -1
- package/dist/internal/sync/config.js +1 -1
- package/dist/internal/sync/config.js.map +1 -1
- package/dist/internal/sync/document.d.ts.map +1 -1
- package/dist/internal/sync/document.js +8 -8
- package/dist/internal/sync/document.js.map +1 -1
- package/dist/internal/sync/fieldValues.d.ts +9 -9
- package/dist/internal/sync/fieldValues.d.ts.map +1 -1
- package/dist/internal/sync/fieldValues.js +12 -16
- package/dist/internal/sync/fieldValues.js.map +1 -1
- package/dist/internal/sync/manifest.d.ts.map +1 -1
- package/dist/internal/sync/manifest.js +1 -1
- package/dist/internal/sync/manifest.js.map +1 -1
- package/dist/internal/sync/paths.d.ts.map +1 -1
- package/dist/internal/sync/schemas.d.ts +17 -9
- package/dist/internal/sync/schemas.d.ts.map +1 -1
- package/dist/internal/sync/schemas.js +6 -6
- package/dist/internal/sync/schemas.js.map +1 -1
- package/dist/internal/sync/types.d.ts +4 -4
- package/dist/internal/sync/types.d.ts.map +1 -1
- package/dist/internal/sync/types.js +1 -1
- package/dist/internal/sync/types.js.map +1 -1
- package/package.json +15 -11
- package/skills/jira/SKILL.md +17 -1
- package/src/AttachmentService.ts +6 -6
- package/src/IssueService.ts +214 -27
- package/src/JiraAuth.ts +106 -42
- package/src/MarkdownWriter.ts +6 -6
- package/src/SyncWorkspace.ts +12 -11
- package/src/VersionService.ts +199 -27
- package/src/bin.ts +1 -1
- package/src/commands/auth.ts +7 -7
- package/src/commands/edit.ts +88 -0
- package/src/commands/get.ts +3 -3
- package/src/commands/issue.ts +3 -2
- package/src/commands/issueAttachment.ts +21 -20
- package/src/commands/layers.ts +5 -2
- package/src/commands/search.ts +7 -7
- package/src/commands/version.ts +176 -23
- package/src/index.ts +13 -3
- package/src/internal/NodeLayers.ts +1 -1
- package/src/internal/frontmatter.ts +3 -2
- package/src/internal/oauthServer.ts +29 -16
- package/src/internal/openBrowser.ts +1 -1
- package/src/internal/sync/baseline.ts +3 -2
- package/src/internal/sync/config.ts +2 -1
- package/src/internal/sync/document.ts +15 -14
- package/src/internal/sync/fieldValues.ts +21 -22
- package/src/internal/sync/manifest.ts +1 -1
- package/src/internal/sync/schemas.ts +6 -6
- package/src/internal/sync/types.ts +4 -4
- package/test/IssueService.test.ts +2 -2
- package/test/JiraAuthRefresh.test.ts +269 -0
- package/test/VersionService.test.ts +2 -2
- package/test/commandTree.test.ts +158 -2
- package/test/editIssuePayload.test.ts +103 -0
- package/test/frontmatter.test.ts +4 -2
- package/test/integration.test.ts +12 -10
- package/test/oauthServer.test.ts +77 -4
- package/test/publicApi.test.ts +34 -0
- package/test/relatedWorkSync.test.ts +179 -0
- package/test/remoteWrites.test.ts +220 -0
- package/test/syncChanges.test.ts +2 -2
- package/test/syncConfig.test.ts +2 -2
package/dist/VersionService.d.ts
CHANGED
|
@@ -11,16 +11,21 @@
|
|
|
11
11
|
* though it is not in the public OpenAPI spec).
|
|
12
12
|
* - **Account-id resolution**: account IDs are looked up against
|
|
13
13
|
* `/rest/api/3/user?accountId={id}` and cached per service instance.
|
|
14
|
-
* - **Mutations**: {@link
|
|
15
|
-
* (e.g. description)
|
|
16
|
-
* {@link
|
|
14
|
+
* - **Mutations**: {@link VersionServiceContract.createVersion} opens a new release,
|
|
15
|
+
* {@link VersionServiceContract.updateVersion} edits version fields (e.g. description)
|
|
16
|
+
* and {@link VersionServiceContract.addRelatedWork} /
|
|
17
|
+
* {@link VersionServiceContract.listRelatedWork} manage the "Related work" links that
|
|
17
18
|
* surface as Confluence pages on a release report. Mutations require the
|
|
18
19
|
* `manage:jira-project` OAuth scope (see `JiraAuth`).
|
|
20
|
+
* - **Project id resolution**: the create endpoint takes a numeric `projectId`
|
|
21
|
+
* (`project` is deprecated), so {@link VersionServiceContract.createVersion} accepts the
|
|
22
|
+
* project *key* callers already use elsewhere and resolves it via `/project/{key}`.
|
|
19
23
|
*
|
|
20
24
|
* **Common tasks**
|
|
21
25
|
*
|
|
22
26
|
* - List versions for a project: `service.listProjectVersions("RPS", { released: true })`
|
|
23
27
|
* - Get a single version: `service.getVersion("12345")`
|
|
28
|
+
* - Open a new release: `service.createVersion({ projectKey: "RPS", name: "OOB 100" })`
|
|
24
29
|
* - Set the description: `service.updateVersion("12345", { description: "..." })`
|
|
25
30
|
* - Attach a Confluence page: `service.addRelatedWork("12345", { title, category, url })`
|
|
26
31
|
*
|
|
@@ -30,6 +35,7 @@ import { JiraApiClient } from "@knpkv/jira-api-client";
|
|
|
30
35
|
import * as Context from "effect/Context";
|
|
31
36
|
import * as Effect from "effect/Effect";
|
|
32
37
|
import * as Layer from "effect/Layer";
|
|
38
|
+
import type * as Schema from "effect/Schema";
|
|
33
39
|
import { JiraApiError } from "./JiraCliError.js";
|
|
34
40
|
/**
|
|
35
41
|
* A resolved Jira user (account ID + display name).
|
|
@@ -123,6 +129,20 @@ export interface AddRelatedWorkInput {
|
|
|
123
129
|
export interface UpdateVersionInput {
|
|
124
130
|
readonly description?: string;
|
|
125
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Fields for a new version. `projectKey` is the key (e.g. `RPS`) — it is resolved
|
|
134
|
+
* to the numeric `projectId` the create endpoint requires. Dates are ISO 8601
|
|
135
|
+
* `yyyy-mm-dd`.
|
|
136
|
+
*
|
|
137
|
+
* @category Types
|
|
138
|
+
*/
|
|
139
|
+
export interface CreateVersionInput {
|
|
140
|
+
readonly projectKey: string;
|
|
141
|
+
readonly name: string;
|
|
142
|
+
readonly description?: string;
|
|
143
|
+
readonly startDate?: string;
|
|
144
|
+
readonly releaseDate?: string;
|
|
145
|
+
}
|
|
126
146
|
/**
|
|
127
147
|
* Filters for listing versions.
|
|
128
148
|
*
|
|
@@ -148,17 +168,24 @@ export interface ListVersionsOptions {
|
|
|
148
168
|
*
|
|
149
169
|
* @category Services
|
|
150
170
|
*/
|
|
151
|
-
export interface
|
|
171
|
+
export interface VersionServiceContract {
|
|
152
172
|
readonly listProjectVersions: (projectKey: string, options?: ListVersionsOptions) => Effect.Effect<ReadonlyArray<Version>, JiraApiError>;
|
|
153
173
|
readonly getVersion: (id: string) => Effect.Effect<Version, JiraApiError>;
|
|
174
|
+
/**
|
|
175
|
+
* Create a new (unreleased) version on a project. Needs `manage:jira-project`.
|
|
176
|
+
* Resolves `projectKey` to the numeric project id the API requires.
|
|
177
|
+
*/
|
|
178
|
+
readonly createVersion: (input: CreateVersionInput) => Effect.Effect<Version, JiraApiError>;
|
|
154
179
|
/** Update editable fields (currently description) on a version. Needs `manage:jira-project`. */
|
|
155
180
|
readonly updateVersion: (id: string, input: UpdateVersionInput) => Effect.Effect<Version, JiraApiError>;
|
|
156
181
|
/** List the "Related work" links attached to a version. */
|
|
157
182
|
readonly listRelatedWork: (id: string) => Effect.Effect<ReadonlyArray<RelatedWork>, JiraApiError>;
|
|
158
183
|
/** Attach a "Related work" link (e.g. a Confluence page) to a version. Needs `manage:jira-project`. */
|
|
159
184
|
readonly addRelatedWork: (id: string, input: AddRelatedWorkInput) => Effect.Effect<RelatedWork, JiraApiError>;
|
|
185
|
+
/** Remove a "Related work" link from a version. Needs `manage:jira-project`. */
|
|
186
|
+
readonly deleteRelatedWork: (id: string, relatedWorkId: string) => Effect.Effect<void, JiraApiError>;
|
|
160
187
|
}
|
|
161
|
-
declare const VersionService_base: Context.ServiceClass<VersionService, "@knpkv/jira-cli/VersionService",
|
|
188
|
+
declare const VersionService_base: Context.ServiceClass<VersionService, "@knpkv/jira-cli/VersionService", VersionServiceContract>;
|
|
162
189
|
/**
|
|
163
190
|
* VersionService tag.
|
|
164
191
|
*
|
|
@@ -179,7 +206,7 @@ declare const VersionService_base: Context.ServiceClass<VersionService, "@knpkv/
|
|
|
179
206
|
export declare class VersionService extends VersionService_base {
|
|
180
207
|
}
|
|
181
208
|
/** Loosely-typed record helper for navigating untyped API JSON. */
|
|
182
|
-
type Raw = Record<string,
|
|
209
|
+
type Raw = Record<string, Schema.Json>;
|
|
183
210
|
/**
|
|
184
211
|
* Render a Jira custom-field value as a flat string.
|
|
185
212
|
*
|
|
@@ -191,11 +218,56 @@ type Raw = Record<string, unknown>;
|
|
|
191
218
|
* - array of any of the above → values joined with `, `
|
|
192
219
|
* - null / unset / unknown shape → `null`
|
|
193
220
|
*/
|
|
194
|
-
export declare const renderCustomFieldValue: (raw:
|
|
195
|
-
export declare const personFromObject: (raw:
|
|
221
|
+
export declare const renderCustomFieldValue: <UnparsedInput>(raw: UnparsedInput) => string | null;
|
|
222
|
+
export declare const personFromObject: <UnparsedInput>(raw: UnparsedInput, fallbackId?: string) => Person | null;
|
|
196
223
|
export declare const extractContributorIds: (raw: Raw) => ReadonlyArray<string>;
|
|
197
224
|
/** Normalise a Jira "Related work" entry into a {@link RelatedWork}. */
|
|
198
|
-
export declare const toRelatedWork: (raw:
|
|
225
|
+
export declare const toRelatedWork: <UnparsedInput>(raw: UnparsedInput) => RelatedWork;
|
|
226
|
+
/**
|
|
227
|
+
* Desired related-work link for {@link planRelatedWorkSync}.
|
|
228
|
+
*
|
|
229
|
+
* @category Types
|
|
230
|
+
*/
|
|
231
|
+
export interface DesiredRelatedWork {
|
|
232
|
+
readonly title: string;
|
|
233
|
+
readonly url: string;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Plan for reconciling a version's related-work links.
|
|
237
|
+
*
|
|
238
|
+
* @category Types
|
|
239
|
+
*/
|
|
240
|
+
export interface RelatedWorkSyncPlan {
|
|
241
|
+
readonly toAdd: ReadonlyArray<DesiredRelatedWork>;
|
|
242
|
+
readonly kept: ReadonlyArray<string>;
|
|
243
|
+
readonly toRemove: ReadonlyArray<{
|
|
244
|
+
readonly relatedWorkId: string;
|
|
245
|
+
readonly url: string | null;
|
|
246
|
+
}>;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Work out which related-work links to add, keep and remove.
|
|
250
|
+
*
|
|
251
|
+
* Matching is by URL: Jira assigns the id, and the title is editable, so the
|
|
252
|
+
* URL is the only stable identity a link has. Scoped to one category so a
|
|
253
|
+
* `Communication` reconcile cannot disturb `Testing` links. Removal is opt-in
|
|
254
|
+
* (`prune`) because links added by hand in the Jira UI are legitimate.
|
|
255
|
+
*
|
|
256
|
+
* URL identity is applied on both sides, which is what makes "exactly the given
|
|
257
|
+
* set" true: repeated desired entries collapse to one, and `prune` removes
|
|
258
|
+
* surplus copies of a desired URL as well as links to undesired ones — a pile-up
|
|
259
|
+
* of identical `Release notes` links is the case this exists to clean up, so
|
|
260
|
+
* keeping every copy merely because its URL is wanted would defeat it.
|
|
261
|
+
*
|
|
262
|
+
* Pure so that repeated scaffolding runs can be tested without the API — the
|
|
263
|
+
* property that matters is that running it twice adds nothing the second time.
|
|
264
|
+
*
|
|
265
|
+
* @category Utilities
|
|
266
|
+
*/
|
|
267
|
+
export declare const planRelatedWorkSync: (existing: ReadonlyArray<RelatedWork>, desired: ReadonlyArray<DesiredRelatedWork>, options: {
|
|
268
|
+
readonly category: string;
|
|
269
|
+
readonly prune: boolean;
|
|
270
|
+
}) => RelatedWorkSyncPlan;
|
|
199
271
|
/**
|
|
200
272
|
* Layer for VersionService.
|
|
201
273
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionService.d.ts","sourceRoot":"","sources":["../src/VersionService.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"VersionService.d.ts","sourceRoot":"","sources":["../src/VersionService.ts"],"names":[],"mappings":"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"}
|
package/dist/VersionService.js
CHANGED
|
@@ -11,16 +11,21 @@
|
|
|
11
11
|
* though it is not in the public OpenAPI spec).
|
|
12
12
|
* - **Account-id resolution**: account IDs are looked up against
|
|
13
13
|
* `/rest/api/3/user?accountId={id}` and cached per service instance.
|
|
14
|
-
* - **Mutations**: {@link
|
|
15
|
-
* (e.g. description)
|
|
16
|
-
* {@link
|
|
14
|
+
* - **Mutations**: {@link VersionServiceContract.createVersion} opens a new release,
|
|
15
|
+
* {@link VersionServiceContract.updateVersion} edits version fields (e.g. description)
|
|
16
|
+
* and {@link VersionServiceContract.addRelatedWork} /
|
|
17
|
+
* {@link VersionServiceContract.listRelatedWork} manage the "Related work" links that
|
|
17
18
|
* surface as Confluence pages on a release report. Mutations require the
|
|
18
19
|
* `manage:jira-project` OAuth scope (see `JiraAuth`).
|
|
20
|
+
* - **Project id resolution**: the create endpoint takes a numeric `projectId`
|
|
21
|
+
* (`project` is deprecated), so {@link VersionServiceContract.createVersion} accepts the
|
|
22
|
+
* project *key* callers already use elsewhere and resolves it via `/project/{key}`.
|
|
19
23
|
*
|
|
20
24
|
* **Common tasks**
|
|
21
25
|
*
|
|
22
26
|
* - List versions for a project: `service.listProjectVersions("RPS", { released: true })`
|
|
23
27
|
* - Get a single version: `service.getVersion("12345")`
|
|
28
|
+
* - Open a new release: `service.createVersion({ projectKey: "RPS", name: "OOB 100" })`
|
|
24
29
|
* - Set the description: `service.updateVersion("12345", { description: "..." })`
|
|
25
30
|
* - Attach a Confluence page: `service.addRelatedWork("12345", { title, category, url })`
|
|
26
31
|
*
|
|
@@ -30,6 +35,7 @@ import { JiraApiClient } from "@knpkv/jira-api-client";
|
|
|
30
35
|
import * as Context from "effect/Context";
|
|
31
36
|
import * as Effect from "effect/Effect";
|
|
32
37
|
import * as Layer from "effect/Layer";
|
|
38
|
+
import * as Predicate from "effect/Predicate";
|
|
33
39
|
import { buildByVersionJql } from "./internal/jqlBuilder.js";
|
|
34
40
|
import { JiraApiError } from "./JiraCliError.js";
|
|
35
41
|
/**
|
|
@@ -52,7 +58,7 @@ import { JiraApiError } from "./JiraCliError.js";
|
|
|
52
58
|
export class VersionService extends Context.Service()("@knpkv/jira-cli/VersionService") {
|
|
53
59
|
}
|
|
54
60
|
const EXPAND = "approvers,driver,operations,issuesstatus,contributors";
|
|
55
|
-
const isRaw = (value) =>
|
|
61
|
+
const isRaw = (value) => Predicate.isObjectOrArray(value) && value !== null && !Array.isArray(value);
|
|
56
62
|
const asRaw = (value) => isRaw(value) ? value : {};
|
|
57
63
|
const rawArray = (value) => Array.isArray(value) ? value.filter(isRaw) : [];
|
|
58
64
|
/**
|
|
@@ -69,9 +75,9 @@ const rawArray = (value) => Array.isArray(value) ? value.filter(isRaw) : [];
|
|
|
69
75
|
export const renderCustomFieldValue = (raw) => {
|
|
70
76
|
if (raw === null || raw === undefined)
|
|
71
77
|
return null;
|
|
72
|
-
if (
|
|
78
|
+
if (Predicate.isString(raw))
|
|
73
79
|
return raw.length > 0 ? raw : null;
|
|
74
|
-
if (
|
|
80
|
+
if (Predicate.isNumber(raw) || Predicate.isBoolean(raw))
|
|
75
81
|
return String(raw);
|
|
76
82
|
if (Array.isArray(raw)) {
|
|
77
83
|
const parts = raw.map(renderCustomFieldValue).filter((v) => !!v);
|
|
@@ -98,7 +104,7 @@ export const renderCustomFieldValue = (raw) => {
|
|
|
98
104
|
}
|
|
99
105
|
return null;
|
|
100
106
|
};
|
|
101
|
-
const stringOrNull = (v) =>
|
|
107
|
+
const stringOrNull = (v) => Predicate.isString(v) && v.length > 0 ? v : null;
|
|
102
108
|
export const personFromObject = (raw, fallbackId) => {
|
|
103
109
|
if (isRaw(raw)) {
|
|
104
110
|
const obj = raw;
|
|
@@ -111,7 +117,7 @@ export const personFromObject = (raw, fallbackId) => {
|
|
|
111
117
|
emailAddress: stringOrNull(obj["emailAddress"])
|
|
112
118
|
};
|
|
113
119
|
}
|
|
114
|
-
if (
|
|
120
|
+
if (Predicate.isString(raw) && raw.length > 0) {
|
|
115
121
|
return { accountId: raw, displayName: raw, emailAddress: null };
|
|
116
122
|
}
|
|
117
123
|
return null;
|
|
@@ -125,11 +131,11 @@ export const extractContributorIds = (raw) => {
|
|
|
125
131
|
return [];
|
|
126
132
|
const ids = [];
|
|
127
133
|
for (const c of field) {
|
|
128
|
-
if (
|
|
134
|
+
if (Predicate.isString(c) && c.length > 0)
|
|
129
135
|
ids.push(c);
|
|
130
136
|
else if (isRaw(c)) {
|
|
131
137
|
const id = c["accountId"];
|
|
132
|
-
if (
|
|
138
|
+
if (Predicate.isString(id) && id.length > 0)
|
|
133
139
|
ids.push(id);
|
|
134
140
|
}
|
|
135
141
|
}
|
|
@@ -161,7 +167,7 @@ const make = Effect.gen(function* () {
|
|
|
161
167
|
const matches = [];
|
|
162
168
|
for (const field of rawArray(result)) {
|
|
163
169
|
const id = field["id"];
|
|
164
|
-
if (field["name"] === name &&
|
|
170
|
+
if (field["name"] === name && Predicate.isString(id)) {
|
|
165
171
|
matches.push(id);
|
|
166
172
|
}
|
|
167
173
|
}
|
|
@@ -231,7 +237,7 @@ const make = Effect.gen(function* () {
|
|
|
231
237
|
jql: buildByVersionJql(versionName, projectKey),
|
|
232
238
|
fields: requestedFields,
|
|
233
239
|
maxResults: PAGE,
|
|
234
|
-
...(nextPageToken
|
|
240
|
+
...(nextPageToken && { nextPageToken })
|
|
235
241
|
}
|
|
236
242
|
}).pipe(Effect.mapError((cause) => new JiraApiError({ message: `Failed to fetch tickets for fixVersion "${versionName}"`, cause })));
|
|
237
243
|
const resObj = asRaw(result);
|
|
@@ -243,14 +249,14 @@ const make = Effect.gen(function* () {
|
|
|
243
249
|
let assigneeId = null;
|
|
244
250
|
if (isRaw(assignee)) {
|
|
245
251
|
const accountId = assignee["accountId"];
|
|
246
|
-
if (
|
|
252
|
+
if (Predicate.isString(accountId) && accountId.length > 0)
|
|
247
253
|
assigneeId = accountId;
|
|
248
254
|
}
|
|
249
255
|
const labelsRaw = fields["labels"];
|
|
250
256
|
const labels = [];
|
|
251
257
|
if (Array.isArray(labelsRaw)) {
|
|
252
258
|
for (const l of labelsRaw)
|
|
253
|
-
if (
|
|
259
|
+
if (Predicate.isString(l) && l.length > 0)
|
|
254
260
|
labels.push(l);
|
|
255
261
|
}
|
|
256
262
|
const customFields = {};
|
|
@@ -276,7 +282,7 @@ const make = Effect.gen(function* () {
|
|
|
276
282
|
}
|
|
277
283
|
const isLast = resObj["isLast"];
|
|
278
284
|
const next = resObj["nextPageToken"];
|
|
279
|
-
if (isLast === true ||
|
|
285
|
+
if (isLast === true || !Predicate.isString(next) || next.length === 0)
|
|
280
286
|
break;
|
|
281
287
|
nextPageToken = next;
|
|
282
288
|
}
|
|
@@ -387,8 +393,42 @@ const make = Effect.gen(function* () {
|
|
|
387
393
|
return yield* Effect.forEach(all, (r) => mapVersion(r, customFieldNames, projectKey), { concurrency: 4 });
|
|
388
394
|
});
|
|
389
395
|
const getVersion = (id) => client.getVersion(id, { params: { expand: EXPAND } }).pipe(Effect.mapError((cause) => new JiraApiError({ message: `Failed to get version ${id}`, cause })), Effect.flatMap((raw) => mapVersion(asRaw(raw), [])));
|
|
396
|
+
/**
|
|
397
|
+
* Resolve a project key to its numeric id.
|
|
398
|
+
*
|
|
399
|
+
* `POST /version` requires `projectId`; its `project` (key) field is deprecated
|
|
400
|
+
* and ignored by newer instances, so sending the key straight through creates
|
|
401
|
+
* nothing and reports a confusing 400. Callers pass the key because that is
|
|
402
|
+
* what every other command takes.
|
|
403
|
+
*/
|
|
404
|
+
const resolveProjectId = (projectKey) => client.getProject(projectKey, undefined).pipe(Effect.mapError((cause) => new JiraApiError({ message: `Failed to look up project ${projectKey}`, cause })), Effect.flatMap((raw) => {
|
|
405
|
+
const id = asRaw(raw)["id"];
|
|
406
|
+
// Jira serialises project ids as strings here even though the version
|
|
407
|
+
// payload wants a number.
|
|
408
|
+
const numeric = Predicate.isNumber(id) ? id : Predicate.isString(id) ? Number(id) : Number.NaN;
|
|
409
|
+
return Number.isInteger(numeric)
|
|
410
|
+
? Effect.succeed(numeric)
|
|
411
|
+
: Effect.fail(new JiraApiError({
|
|
412
|
+
message: `Project ${projectKey} returned no usable numeric id; cannot create a version against it.`
|
|
413
|
+
}));
|
|
414
|
+
}));
|
|
415
|
+
const createVersion = (input) => Effect.gen(function* () {
|
|
416
|
+
const projectId = yield* resolveProjectId(input.projectKey);
|
|
417
|
+
const raw = yield* client.createVersion({
|
|
418
|
+
payload: {
|
|
419
|
+
name: input.name,
|
|
420
|
+
projectId,
|
|
421
|
+
...((input.description !== undefined) && { description: input.description }),
|
|
422
|
+
...((input.startDate !== undefined) && { startDate: input.startDate }),
|
|
423
|
+
...((input.releaseDate !== undefined) && { releaseDate: input.releaseDate })
|
|
424
|
+
}
|
|
425
|
+
}).pipe(Effect.mapError((cause) => new JiraApiError({ message: `Failed to create version "${input.name}" on ${input.projectKey}`, cause })));
|
|
426
|
+
// The 201 body carries no `expand`, so map scalars only — same reasoning as
|
|
427
|
+
// updateVersion.
|
|
428
|
+
return mapVersionScalar(asRaw(raw));
|
|
429
|
+
});
|
|
390
430
|
const updateVersion = (id, input) => client.updateVersion(id, {
|
|
391
|
-
payload: { ...(input.description !== undefined
|
|
431
|
+
payload: { ...((input.description !== undefined) && { description: input.description }) }
|
|
392
432
|
}).pipe(Effect.mapError((cause) => new JiraApiError({ message: `Failed to update version ${id}`, cause })), Effect.map((raw) => mapVersionScalar(asRaw(raw))));
|
|
393
433
|
const listRelatedWork = (id) => client.getRelatedWork(id, undefined).pipe(Effect.mapError((cause) => new JiraApiError({ message: `Failed to list related work for version ${id}`, cause })), Effect.map((raw) => (Array.isArray(raw) ? raw : []).map(toRelatedWork)));
|
|
394
434
|
const addRelatedWork = (id, input) => client.createRelatedWork(id, {
|
|
@@ -403,14 +443,70 @@ const make = Effect.gen(function* () {
|
|
|
403
443
|
url: w.url ?? input.url
|
|
404
444
|
};
|
|
405
445
|
}));
|
|
446
|
+
const deleteRelatedWork = (id, relatedWorkId) => client.deleteRelatedWork(id, relatedWorkId, undefined).pipe(Effect.mapError((cause) => new JiraApiError({ message: `Failed to remove related work ${relatedWorkId} from version ${id}`, cause })), Effect.asVoid);
|
|
406
447
|
return VersionService.of({
|
|
407
448
|
listProjectVersions,
|
|
408
449
|
getVersion,
|
|
450
|
+
createVersion,
|
|
409
451
|
updateVersion,
|
|
410
452
|
listRelatedWork,
|
|
411
|
-
addRelatedWork
|
|
453
|
+
addRelatedWork,
|
|
454
|
+
deleteRelatedWork
|
|
412
455
|
});
|
|
413
456
|
});
|
|
457
|
+
/**
|
|
458
|
+
* Work out which related-work links to add, keep and remove.
|
|
459
|
+
*
|
|
460
|
+
* Matching is by URL: Jira assigns the id, and the title is editable, so the
|
|
461
|
+
* URL is the only stable identity a link has. Scoped to one category so a
|
|
462
|
+
* `Communication` reconcile cannot disturb `Testing` links. Removal is opt-in
|
|
463
|
+
* (`prune`) because links added by hand in the Jira UI are legitimate.
|
|
464
|
+
*
|
|
465
|
+
* URL identity is applied on both sides, which is what makes "exactly the given
|
|
466
|
+
* set" true: repeated desired entries collapse to one, and `prune` removes
|
|
467
|
+
* surplus copies of a desired URL as well as links to undesired ones — a pile-up
|
|
468
|
+
* of identical `Release notes` links is the case this exists to clean up, so
|
|
469
|
+
* keeping every copy merely because its URL is wanted would defeat it.
|
|
470
|
+
*
|
|
471
|
+
* Pure so that repeated scaffolding runs can be tested without the API — the
|
|
472
|
+
* property that matters is that running it twice adds nothing the second time.
|
|
473
|
+
*
|
|
474
|
+
* @category Utilities
|
|
475
|
+
*/
|
|
476
|
+
export const planRelatedWorkSync = (existing, desired, options) => {
|
|
477
|
+
const inCategory = existing.filter((w) => w.category === options.category);
|
|
478
|
+
const existingUrls = new Set(inCategory.flatMap((w) => (w.url === null ? [] : [w.url])));
|
|
479
|
+
const desiredByUrl = new Map();
|
|
480
|
+
for (const entry of desired) {
|
|
481
|
+
if (!desiredByUrl.has(entry.url))
|
|
482
|
+
desiredByUrl.set(entry.url, entry);
|
|
483
|
+
}
|
|
484
|
+
const unique = [...desiredByUrl.values()];
|
|
485
|
+
const toAdd = unique.filter((d) => !existingUrls.has(d.url));
|
|
486
|
+
const kept = unique.filter((d) => existingUrls.has(d.url)).map((d) => d.url);
|
|
487
|
+
const keptUrls = new Set();
|
|
488
|
+
const toRemove = options.prune
|
|
489
|
+
? inCategory.flatMap((w) => {
|
|
490
|
+
// Designate the keeper before asking whether this copy is deletable. An
|
|
491
|
+
// undeletable first copy that skipped straight out never claimed the
|
|
492
|
+
// URL, so the next duplicate claimed it instead and *both* survived a
|
|
493
|
+
// reconcile that reported success.
|
|
494
|
+
if (w.url !== null && desiredByUrl.has(w.url) && !keptUrls.has(w.url)) {
|
|
495
|
+
keptUrls.add(w.url);
|
|
496
|
+
return [];
|
|
497
|
+
}
|
|
498
|
+
// Nothing to delete with; leave it alone whatever its url.
|
|
499
|
+
if (w.relatedWorkId === null)
|
|
500
|
+
return [];
|
|
501
|
+
// A url-less entry can never match a desired link — every desired link
|
|
502
|
+
// has one — so pruning must remove it rather than skip it, or the
|
|
503
|
+
// category is not reconciled to the requested set and the command
|
|
504
|
+
// reports success while the stale entry stays.
|
|
505
|
+
return [{ relatedWorkId: w.relatedWorkId, url: w.url }];
|
|
506
|
+
})
|
|
507
|
+
: [];
|
|
508
|
+
return { toAdd, kept, toRemove };
|
|
509
|
+
};
|
|
414
510
|
/**
|
|
415
511
|
* Layer for VersionService.
|
|
416
512
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionService.js","sourceRoot":"","sources":["../src/VersionService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VersionService.js","sourceRoot":"","sources":["../src/VersionService.ts"],"names":[],"mappings":"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"}
|
package/dist/bin.js
CHANGED
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { NodeRuntime, NodeStdio } from "@effect/platform-node";
|
|
10
10
|
import { makeInstallCommand } from "@knpkv/agent-skills";
|
|
11
|
+
import { Command } from "effect/cli";
|
|
11
12
|
import * as Console from "effect/Console";
|
|
12
13
|
import * as Effect from "effect/Effect";
|
|
13
14
|
import * as Stdio from "effect/Stdio";
|
|
14
|
-
import { Command } from "effect/unstable/cli";
|
|
15
15
|
import pkg from "../package.json" with { type: "json" };
|
|
16
16
|
import { AppLayer, authCommand, AuthOnlyLayer, getLayerType, handleError, issueCommand, MinimalLayer, versionCommand } from "./commands/index.js";
|
|
17
17
|
const skillsInstall = makeInstallCommand({
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AACH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AACH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACvD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACf,MAAM,qBAAqB,CAAA;AAE5B,MAAM,aAAa,GAAG,kBAAkB,CAAC;IACvC,WAAW,EAAE,8BAA8B;IAC3C,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,CAAC,MAAM,CAAC;CACjB,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CACpG,OAAO,CAAC,eAAe,CAAC,kCAAkC,CAAC,EAC3D,OAAO,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,CAAC,CACzC,CAAA;AAED,uBAAuB;AACvB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CACpC,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAC5C,OAAO,CAAC,eAAe,CAAC;IACtB,WAAW;IACX,YAAY;IACZ,aAAa;IACb,cAAc;CACf,CAAC,CACH,CAAA;AAED,kBAAkB;AAClB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE;IAChC,OAAO,EAAE,GAAG,CAAC,OAAO;CACrB,CAAC,CAAA;AAEF,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;IAChC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;IAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,SAAS,KAAK,MAAM;QAChC,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,SAAS,KAAK,MAAM;YACtB,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,YAAY,CAAA;IAEhB,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAC1B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CACtB,CAAA;AACH,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAC/B,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAC/F,CAAA;AAED,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAA"}
|
package/dist/commands/auth.d.ts
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Auth subcommands: create, configure, login, logout, status.
|
|
3
|
+
*
|
|
4
|
+
* **Mental model**
|
|
5
|
+
*
|
|
6
|
+
* - Each command is a standalone `Command.make` that yields into `JiraAuth` service methods.
|
|
7
|
+
* - `create` opens the Atlassian Developer Console; `configure` prompts for client ID/secret.
|
|
8
|
+
*
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
import { Command, Prompt } from "effect/cli";
|
|
12
|
+
import { JiraAuth } from "../JiraAuth.js";
|
|
13
|
+
export declare const authCommand: Command.Command<"auth", {}, {}, import("@knpkv/atlassian-common/config").FileSystemError | import("@knpkv/atlassian-common/config").HomeDirectoryError | import("@knpkv/atlassian-common/auth").OAuthError | import("effect/PlatformError").PlatformError | import("effect/Terminal").QuitError, import("effect/process/ChildProcessSpawner").ChildProcessSpawner | JiraAuth | Prompt.Environment>;
|
|
3
14
|
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAoB,OAAO,EAAmB,MAAM,EAAE,MAAM,YAAY,CAAA;AAK/E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAgJzC,eAAO,MAAM,WAAW,oYAYvB,CAAA"}
|
package/dist/commands/auth.js
CHANGED
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @internal
|
|
10
10
|
*/
|
|
11
|
+
import { Argument as Args, Command, Flag as Options, Prompt } from "effect/cli";
|
|
11
12
|
import * as Console from "effect/Console";
|
|
12
13
|
import * as Effect from "effect/Effect";
|
|
13
14
|
import * as Option from "effect/Option";
|
|
14
|
-
import { Argument as Args, Command, Flag as Options, Prompt } from "effect/unstable/cli";
|
|
15
15
|
import { openBrowser } from "../internal/openBrowser.js";
|
|
16
16
|
import { JiraAuth } from "../JiraAuth.js";
|
|
17
17
|
// === Auth create command ===
|
|
@@ -39,21 +39,21 @@ Creating OAuth app in Atlassian Developer Console...
|
|
|
39
39
|
yield* openBrowser(url).pipe(Effect.catch(() => Effect.void));
|
|
40
40
|
})).pipe(Command.withDescription("Create OAuth app in Atlassian Developer Console"));
|
|
41
41
|
// === Auth configure command ===
|
|
42
|
-
const clientIdOption = Options.
|
|
43
|
-
const clientSecretOption = Options.
|
|
42
|
+
const clientIdOption = Options.String("client-id").pipe(Options.withDescription("OAuth client ID from Atlassian Developer Console"), Options.optional);
|
|
43
|
+
const clientSecretOption = Options.String("client-secret").pipe(Options.withDescription("OAuth client secret"), Options.optional);
|
|
44
44
|
const configureCommand = Command.make("configure", { clientId: clientIdOption, clientSecret: clientSecretOption }, ({ clientId, clientSecret }) => Effect.gen(function* () {
|
|
45
45
|
const auth = yield* JiraAuth;
|
|
46
46
|
const rawClientId = Option.isSome(clientId)
|
|
47
47
|
? clientId.value
|
|
48
|
-
: yield* Prompt.
|
|
48
|
+
: yield* Prompt.String({ message: "Enter OAuth client ID:" });
|
|
49
49
|
const rawClientSecret = Option.isSome(clientSecret)
|
|
50
50
|
? clientSecret.value
|
|
51
|
-
: yield* Prompt.
|
|
51
|
+
: yield* Prompt.String({ message: "Enter OAuth client secret:" });
|
|
52
52
|
yield* auth.configure({ clientId: rawClientId, clientSecret: rawClientSecret });
|
|
53
53
|
yield* Console.log("OAuth configured. Run 'jira auth login' to authenticate.");
|
|
54
54
|
})).pipe(Command.withDescription("Configure OAuth client credentials"));
|
|
55
55
|
// === Auth login command ===
|
|
56
|
-
const siteOption = Options.
|
|
56
|
+
const siteOption = Options.String("site").pipe(Options.withDescription("Jira site URL to use (for accounts with multiple sites)"), Options.optional);
|
|
57
57
|
const loginCommand = Command.make("login", { site: siteOption }, ({ site }) => Effect.gen(function* () {
|
|
58
58
|
const auth = yield* JiraAuth;
|
|
59
59
|
const result = yield* auth.login(Option.isSome(site) ? { siteUrl: site.value } : undefined);
|
|
@@ -98,7 +98,7 @@ const profilesCommand = Command.make("profiles", {}, () => Effect.gen(function*
|
|
|
98
98
|
yield* Console.log(` ${profile.token.site_url}`);
|
|
99
99
|
}
|
|
100
100
|
})).pipe(Command.withDescription("List stored auth profiles"));
|
|
101
|
-
const profileArg = Args.
|
|
101
|
+
const profileArg = Args.String("profile").pipe(Args.withDescription("Profile ID, name, site URL, cloud ID, or account ID"));
|
|
102
102
|
// === Auth use command ===
|
|
103
103
|
const useCommand = Command.make("use", { profile: profileArg }, ({ profile }) => Effect.gen(function* () {
|
|
104
104
|
const auth = yield* JiraAuth;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
|