@softspark/jira-mcp 1.7.0 → 1.8.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/CHANGELOG.md +40 -1
- package/README.md +6 -6
- package/dist/cli.js +20 -20
- package/dist/index.js +13 -13
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,7 +7,46 @@ Versioning follows [Semantic Versioning](https://semver.org/).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
## v1.
|
|
10
|
+
## v1.8.1 -- Duplicate Detection (2026-08-03)
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **Duplicate detection never matched anything.** `findExistingTask` searched with
|
|
15
|
+
`summary = "..."`, but `summary` is a text field and JQL only supports `~` on it.
|
|
16
|
+
Jira answers `=` with an empty result set instead of an error, so every lookup
|
|
17
|
+
reported "not found": `update_existing` never updated, and re-running a bulk config
|
|
18
|
+
created a second copy of every task. The lookup now uses a quoted `~` phrase and
|
|
19
|
+
compares the returned summary exactly, since `~` is a fuzzy match. Found by running
|
|
20
|
+
a config twice against a live instance and getting a duplicate issue.
|
|
21
|
+
|
|
22
|
+
## v1.8.0 -- Status Paths (2026-08-03)
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
|
|
26
|
+
- **`status` accepts an ordered path** in bulk task configs -- `"status": ["On hold", "Open"]`
|
|
27
|
+
walks the transitions one at a time. Jira only exposes the transitions available from an
|
|
28
|
+
issue's *current* status, so a target that is not directly reachable from the initial
|
|
29
|
+
status could not be set at all before. A plain string still means a single transition.
|
|
30
|
+
- **`warnings` in `create_monthly_tasks` output** -- per-task problems that did not stop the
|
|
31
|
+
issue from being written now surface in the tool response instead of being dropped by the
|
|
32
|
+
counters-only summary.
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
|
|
36
|
+
- **A rejected status transition is no longer silent.** `setStatus` swallowed every failure,
|
|
37
|
+
including the ordinary case of the requested status simply not being reachable: the issue
|
|
38
|
+
was created, the status was ignored, and the run reported `failed: 0`. Eleven monthly admin
|
|
39
|
+
tasks sat in the wrong status for months because of this. The transition is now reported as
|
|
40
|
+
a `warning` on the task result, naming the status that failed and listing the ones that were
|
|
41
|
+
reachable at that point. The issue itself is still created -- the transition stays non-fatal.
|
|
42
|
+
|
|
43
|
+
### Changed
|
|
44
|
+
|
|
45
|
+
- **`TaskResult` gains a `warning` field** (`string | null`). `formatBulkResult` prints it
|
|
46
|
+
indented under the task line. Consumers destructuring `TaskResult` are unaffected; anyone
|
|
47
|
+
constructing one now has to supply the field.
|
|
48
|
+
|
|
49
|
+
|
|
11
50
|
|
|
12
51
|
### Changed -- licence: MIT to Apache-2.0
|
|
13
52
|
|
package/README.md
CHANGED
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
|
|
5
5
|
[](https://github.com/softspark/jira-mcp/actions/workflows/ci.yml)
|
|
6
6
|
[](https://www.npmjs.com/package/@softspark/jira-mcp)
|
|
7
|
-
[](CHANGELOG.md)
|
|
8
8
|
[](LICENSE)
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
-
## What's New in v1.
|
|
12
|
+
## What's New in v1.8.1
|
|
13
13
|
|
|
14
|
-
- **
|
|
15
|
-
-
|
|
16
|
-
- **
|
|
17
|
-
-
|
|
14
|
+
- **Duplicate detection actually works now.** The lookup used `summary = "..."`, and Jira answers `=` on a text field with an empty result set rather than an error -- so it always reported "not found". `update_existing` never updated anything, and re-running a bulk config duplicated every task. Now a quoted `~` phrase with an exact comparison on the result.
|
|
15
|
+
- **`status` takes a path, not just a name.** `"status": ["On hold", "Open"]` walks the transitions in order. Jira only ever exposes the transitions out of an issue's *current* status, so a target that is not directly reachable from the initial status was previously impossible to set -- which is exactly how workflows that gate `Open` behind a `Reopen` transition behave.
|
|
16
|
+
- **Failed transitions stop being silent.** The old code caught every transition error and moved on: issue created, status ignored, run reports `failed: 0`. It now returns a `warning` naming the status that failed and listing what was reachable instead, surfaced per task and aggregated into `create_monthly_tasks` output.
|
|
17
|
+
- **`TaskResult.warning`** -- new `string | null` field for problems that occur after the issue is already written. `formatBulkResult` prints it under the task line.
|
|
18
18
|
|
|
19
19
|
See [CHANGELOG.md](CHANGELOG.md) for full details.
|
|
20
20
|
|