Back to home@LJH-snow

dsh-tool-jira

No description

Stars
0
Language
TypeScript
Created
Aug 26, 2026
Updated
Aug 26, 2026

Introduction

dsh-tool-jira

English | 中文

A Cordis tool plugin that gives DeepSeek Harness (dsh) Jira issue management capabilities. Agents can search JQL queries, inspect projects, create and update tickets, add comments, and move issues through workflow transitions.

It follows the official "everything is a plugin" architecture with ctx.tools.register(defineTool(...)) and the adding-a-tool contract.

Install

Install directly from GitHub:

npm install github:LJH-snow/dsh-tool-jira

Or from a local checkout:

git clone https://github.com/LJH-snow/dsh-tool-jira
cd dsh-tool-jira
npm install && npm run build
npm install /path/to/dsh-tool-jira

Requires @deepseek-ai/cordis (^4.0.1) and @deepseek-ai/dsh-tools (^0.1.0-rc.6) as peer dependencies, provided by the host dsh runtime.

Configuration

Load the plugin in a dsh composition config (cordis.yml):

- name: 'github:LJH-snow/dsh-tool-jira'
  config:
    baseUrl: 'https://your-domain.atlassian.net'   # required
    email: 'user@example.com'                       # required for Cloud API token auth
    apiToken: 'xxx'                                 # Atlassian API token or PAT
    timeoutMs: 15000                                # optional, default 15000

Full example: examples/cordis.yml.

Security: the first version requires credentials for every tool because Jira instances are usually access-controlled and write operations can modify tickets. Use an API token or PAT with the minimum permissions needed, and never commit it.

Tools

ToolDescriptionCredentials
jira_search_issuesSearch issues with JQL, up to 100 resultsyes
jira_search_my_issuesSearch issues assigned to the authenticated useryes
jira_get_issueGet issue details including ADF description textyes
jira_create_issueCreate an issue with summary, type, description, labels, priority, and assigneeyes
jira_update_issueUpdate summary, description, labels, priority, or assigneeyes
jira_add_issue_commentAdd a comment to an issueyes
jira_list_issue_commentsList issue comments, newest firstyes
jira_list_transitionsList workflow transitions available for an issueyes
jira_transition_issueMove an issue through a workflow transitionyes
jira_list_projectsList projects visible to the authenticated useryes
jira_get_projectGet project details including description, lead, type, style, and archived stateyes

Behavior Contract

  • Missing credentials return canonical business values: read tools return { authenticated: false, ... }, write tools return { ok: false, reason } or { created: false, reason }.
  • Missing issue/project maps to { found: false }.
  • Write validation failures (400, 404, 422) map to { ok: false, reason } or { created: false, reason }.
  • Infrastructure errors such as invalid credentials (401), forbidden access (403), or rate limiting (429) throw.
  • Every request forwards exec.signal and uses a configurable timeout (default 15 seconds).

Development

npm install
npm run typecheck
npm test
npm run build

See DEVELOPMENT.md for the architecture and test coverage.

License

MIT