Introduction¶
DSH can be extended through plugins. For developers who need to manage JIRA task context, viewing the list of currently assigned tasks directly below the conversation input box can reduce the frequency of switching windows. dsh-jira-tasks is designed specifically for this scenario, providing persistent configuration and an intuitive task panel.
Features¶
The plugin displays the list of “Open / Reopened” tasks assigned to the current user in the current JIRA project below the DSH conversation input box.
Core capabilities include:
- Panel display: The task list is displayed in both new and active sessions; it is collapsed by default, and can be expanded by clicking the title.
- Persistent configuration: The Project Key and JQL are saved and persisted per workspace.
- Connection status: The connection status is automatically detected (green = available, red = unavailable, gray = not configured) and manual connection testing is supported.
- Task information: Displays status badges, priority, type labels, and update time.
- Interaction: Clicking a task opens the JIRA details in a new tab; the panel supports one-click refresh.
- Theme support: Supports both light and dark themes.
- Compatibility: Compatible with browser and desktop clients.
Installation¶
The plugin package name is dsh-jira-tasks.
Web Profile (Browser)¶
Install using npm:
dsh plugin --profile web add dsh-jira-tasks
Desktop Profile (Desktop)¶
The desktop version must use the dsh command bundled with the application. A globally installed dsh via npm will reject --profile desktop operations.
- Open the desktop client once to ensure the
desktopprofile is initialized. - Completely quit the desktop client.
- Install the bundled
dshcommand via the application menu Manage dsh Command. - Run the installation command:
dsh plugin --profile desktop add dsh-jira-tasks
Note: The plugin must be declared in the profile’s
dsh.profile.bundleslist in order to be loaded. If the plugin has no effect after installation, check this field in~/.dsh/profiles/desktop/package.json.
Configuration¶
1. JIRA URL and Token¶
Fill in the information under Settings → JIRA Configuration.
- JIRA URL: For example,
http://jira.example.com/. The priority order isConfig.baseUrl>JIRA_BASE_URL>JIRA_URL. - Access Token / PAT: The token is written to credential storage and is not returned to the frontend. The priority order is
JIRA_TASKS_TOKEN>JIRA_API_TOKEN>JIRA_TOKEN.
You can validate the configuration by clicking the ⚙ icon to the right of the panel title or the Test Connection button on the settings page.
2. Project Key and JQL¶
Configure these settings in the panel. The configuration is persisted per workspace.
- Project Key: For example,
HCPFYH1. - JQL: If left empty, the default query is used. It supports the
{projectKey}placeholder, which is replaced with the actual Project Key.
Default JQL:
project = "{projectKey}" AND status in ("开启", "重新开启") AND assignee = currentUser() ORDER BY updated DESC
Compatibility and Verification¶
- DSH version:
>=0.1.7-rc.2 <0.3.0-0(including 0.1.7 and 0.2.x). - Platforms: Browser (web profile) and desktop client (desktop profile).
Uninstallation¶
dsh plugin --profile web remove dsh-jira-tasks
dsh plugin --profile desktop remove dsh-jira-tasks
Conclusion¶
dsh-jira-tasks is suitable for DSH users who need to frequently check JIRA progress. The plugin code is open source and licensed under MIT. For more details and the source code, refer to: GitHub repository.