issue --json: read closure data on YouTrack and Linear #668

Open
opened 2026-10-01 21:15:39 +00:00 by claude · 1 comment
Member

The same change for two trackers: iw issue <id> --json prints closure: {"kind": "notImplemented"} for YouTrack and Linear. Forgejo implementation and closure rules: core/model/IssueState.scala, project-management/issues/IW-651/analysis.md. Deferred by Michal on 2026-10-01. Both mappings are from vendor documentation only, not tested.

  • YouTrack (was #668) — state from resolved; GET /api/issues/{id}/vcsChanges gives linked PRs with state MERGED/OPEN/DECLINED but no merge time. Linked merged PR → mergedPullRequest; none → unknown (the VCS integration may be absent). From vendor documentation only, not tested.
  • Linear (was #669) — state from state.type; a linked PR is an Attachment whose metadata is integration-specific, with no promised state or merge time. Check a real attachment before design; same mapping as YouTrack (merged → mergedPullRequest, none → unknown). From vendor documentation only, not tested.

Grouped on 2026-10-03 from #668 and #669 (follow-ups rule, iterative-works/dev-docs #432). Found during IW-651 (analysis).

The same change for two trackers: `iw issue <id> --json` prints `closure: {"kind": "notImplemented"}` for YouTrack and Linear. Forgejo implementation and closure rules: `core/model/IssueState.scala`, `project-management/issues/IW-651/analysis.md`. Deferred by Michal on 2026-10-01. Both mappings are from vendor documentation only, not tested. - [ ] YouTrack (was #668) — `state` from `resolved`; `GET /api/issues/{id}/vcsChanges` gives linked PRs with `state` `MERGED`/`OPEN`/`DECLINED` but no merge time. Linked merged PR → `mergedPullRequest`; none → `unknown` (the VCS integration may be absent). From vendor documentation only, not tested. - [ ] Linear (was #669) — `state` from `state.type`; a linked PR is an `Attachment` whose `metadata` is integration-specific, with no promised state or merge time. Check a real attachment before design; same mapping as YouTrack (merged → `mergedPullRequest`, none → `unknown`). From vendor documentation only, not tested. Grouped on 2026-10-03 from #668 and #669 (follow-ups rule, iterative-works/dev-docs #432). Found during IW-651 (analysis).
claude changed title from issue --json: read closure data on YouTrack to issue --json: read closure data on YouTrack and Linear 2026-10-03 19:31:08 +00:00
Author
Member

Intake: needs-input
Reason: readiness — the deferral of 2026-10-01 still holds, and the Linear attachment shape is not reachable from this machine

1. Do you want closure data for YouTrack and Linear now, or does the deferral stay?

You deferred this on 2026-10-01 because "the only consumer runs on Forgejo". That is still true: ~/ops/procedures/.iw/config.conf has type = forgejo. No later commit or comment sets a condition to resume. Your client projects (for example aca-services, remote-signing) use YouTrack at youtrack.e-bs.cz. No local .iw/config.conf uses Linear. Decision: https://code.iterative.works/iterative-works/iw-cli/src/branch/main/project-management/issues/IW-651/analysis.md#L206-L214

This issue implements Forgejo only. The only consumer runs on Forgejo [...] The other four trackers print notImplemented and are deferred

  • a) Keep the deferral. The issue stays open and is not analysed. Both trackers still print notImplemented.
  • b) Do YouTrack now, and keep Linear deferred. YouTrack gets real closure data from the documented vcsChanges contract, and question 2 is not needed. We split Linear into its own issue.
  • c) Do both now. Question 2 must be answered first.

Recommended: a) — No consumer reads closure data from YouTrack or Linear, and IW-666 (GitHub) and IW-667 (GitLab) are deferred for the same reason.

The issue says to read a real attachment before design, because the content of Linear's metadata field depends on the integration. No Linear token or Linear project is on this machine. Run this with your token, with an issue that has a merged GitHub PR linked, and paste the output back:

curl -s https://api.linear.app/graphql -H "Authorization: $LINEAR_API_TOKEN" -H 'Content-Type: application/json' \
  -d '{"query":"{ issue(id: \"TEAM-123\") { state { type } attachments { nodes { url sourceType metadata } } } }"}'
  • a) Paste the output. The analyst designs the Linear mapping from real data.
  • b) No Linear workspace is in use. We drop Linear from this issue and record it as not wanted.

Recommended: b) — No local project uses Linear, so this work would serve no user.

Answer in a comment on this issue, per number, for example "1: a", or in your own words; intake reads it on its next iteration.

Intake: needs-input Reason: readiness — the deferral of 2026-10-01 still holds, and the Linear attachment shape is not reachable from this machine ### 1. Do you want closure data for YouTrack and Linear now, or does the deferral stay? You deferred this on 2026-10-01 because "the only consumer runs on Forgejo". That is still true: `~/ops/procedures/.iw/config.conf` has `type = forgejo`. No later commit or comment sets a condition to resume. Your client projects (for example `aca-services`, `remote-signing`) use YouTrack at `youtrack.e-bs.cz`. No local `.iw/config.conf` uses Linear. Decision: https://code.iterative.works/iterative-works/iw-cli/src/branch/main/project-management/issues/IW-651/analysis.md#L206-L214 > This issue implements Forgejo only. The only consumer runs on Forgejo [...] The other four trackers print `notImplemented` and are deferred - **a) Keep the deferral.** The issue stays open and is not analysed. Both trackers still print `notImplemented`. - **b) Do YouTrack now, and keep Linear deferred.** YouTrack gets real closure data from the documented `vcsChanges` contract, and question 2 is not needed. We split Linear into its own issue. - **c) Do both now.** Question 2 must be answered first. **Recommended: a)** — No consumer reads closure data from YouTrack or Linear, and IW-666 (GitHub) and IW-667 (GitLab) are deferred for the same reason. ### 2. If you pick c), can you paste the metadata of one Linear attachment that links a merged PR? The issue says to read a real attachment before design, because the content of Linear's `metadata` field depends on the integration. No Linear token or Linear project is on this machine. Run this with your token, with an issue that has a merged GitHub PR linked, and paste the output back: ``` curl -s https://api.linear.app/graphql -H "Authorization: $LINEAR_API_TOKEN" -H 'Content-Type: application/json' \ -d '{"query":"{ issue(id: \"TEAM-123\") { state { type } attachments { nodes { url sourceType metadata } } } }"}' ``` - **a) Paste the output.** The analyst designs the Linear mapping from real data. - **b) No Linear workspace is in use.** We drop Linear from this issue and record it as not wanted. **Recommended: b)** — No local project uses Linear, so this work would serve no user. Answer in a comment on this issue, per number, for example "1: a", or in your own words; intake reads it on its next iteration.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
iterative-works/iw-cli#668
No description provided.