Skip to content

feat(jira): REST + token fallback for clients without the Atlassian MCP - #89

Merged
atamanvega merged 2 commits into
mainfrom
feat/jira-rest-fallback
Sep 23, 2026
Merged

atamanvega merged 2 commits into
mainfrom
feat/jira-rest-fallback

Conversation

@atamanvega

Copy link
Copy Markdown
Collaborator

Jira was MCP-only — a client without the Atlassian MCP couldn't use the tracker at all (the #1 adoption friction, since MCP OAuth is the hard part). This adds an opt-in REST path, exactly the fallback the README already anticipated.

What it adds

Set "authMode": "rest" in the Jira tracker config; credentials come from the environment, never the committed config:

  • Jira Cloud: JIRA_EMAIL + JIRA_API_TOKEN (Basic auth), base https://<site> or JIRA_BASE_URL.

  • Jira Server / Data Center: JIRA_PAT (Bearer), base JIRA_BASE_URL.

  • issue-fetch — GET /rest/api/3/issue/<KEY> for summary, description, status, comments, and the configured AC/sprint/points field IDs.

  • issue-update — comment (POST .../comment), transition (GET/POST .../transitions, persisting reviewState), assign (PUT .../assignee).

  • Automatic fallback — if authMode is unset/mcp but the MCP is unavailable and the JIRA_* vars are present, use REST and say so; if neither is available, stop and offer both paths.

  • dev-kit-setup — offers the mode, tells the user to keep credentials in a git-ignored .env (never in .claude/dev-kit.json), and resolves field IDs via GET /rest/api/3/field when there's no MCP.

Default stays "mcp". Config stays secret-free — the same token-from-env pattern the Bitbucket/GitLab PR hosts already use.

Verification

  • build → 12 skills @ 0.19.16, validator clean, node --test 35/35, rebuild a no-op, source/bundle byte-identical.
  • README headless note + CHANGELOG updated. Kit → 0.19.16.

🤖 Generated with Claude Code

Atamán Vega and others added 2 commits September 23, 2026 14:55
Make this repo a proper consuming repo of its own kit so contributors
(human and agent) develop new work through the kit's flow — file a GitHub
issue, run /work-story, and let the repo's own gates apply to the kit's PRs.

- CLAUDE.md: the agent-facing conventions the kit reads — canonical
  sources vs. the generated bundle (never hand-edit plugins/), the repo's
  real gates (build → validate → node --test → rebuild-no-op; coverage/e2e
  N/A for a Markdown+scripts repo, don't scaffold), writing/frontmatter
  conventions, docs-travel-with-behavior, telemetry privacy, and a
  versioning heads-up pointing at the release-job migration (#87).
- .claude/dev-kit.json: tracker=github, prHost=github, stacks=[node]
  (no secrets, safe to commit).

Not bundled into the plugin, so no version bump and no rebuild drift
(build/validate/35 tests still green).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Jira was MCP-only, so a client without the Atlassian MCP couldn't use the
tracker at all. Add an opt-in REST path:

- issue-fetch / issue-update: honor tracker `authMode` ("mcp" default |
  "rest"). In REST mode, call the Jira REST API directly — Basic auth
  (JIRA_EMAIL + JIRA_API_TOKEN) for Cloud, Bearer (JIRA_PAT) for
  Server/DC, base URL JIRA_BASE_URL — with credentials from the
  environment, never from .claude/dev-kit.json. Fetch issue+comments+AC
  fields; comment, transition (persist reviewState), and assign via REST.
- Automatic fallback: if authMode is mcp but the MCP is unavailable and
  the JIRA_* env vars are present, use REST and say so; if neither is
  available, stop and offer both paths.
- dev-kit-setup: offer the mode, note the env vars + .env gitignore, and
  resolve field IDs via the REST field API when there's no MCP. Added
  optional `authMode` to the config shape/example.
- README: headless note documents the Jira REST fallback.

Config stays secret-free (credentials only in a git-ignored .env), matching
the token pattern already used by the Bitbucket/GitLab PR hosts.

Bundle rebuilt; validator + 35 tests pass. Kit -> 0.19.16.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
claude-dev-kit-telemetry-relay Ignored Ignored Preview Sep 23, 2026 5:10pm UTC

Request Review

@atamanvega
atamanvega merged commit e0a3b91 into main Sep 23, 2026
3 checks passed
@atamanvega
atamanvega deleted the feat/jira-rest-fallback branch September 23, 2026 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant