Coding Tools
Open tickets directly in Claude Code, Cursor, Devin, or your preferred AI coding assistant.
The Coding Tools feature connects Spedy tickets with external AI coding assistants. Instead of copying context manually, hand it over with a single click.
Prerequisites
- The org feature AI Coding Tools must be enabled under Settings → Features (enabled by default, all plans).
- Each user picks their own tools under Account → Coding Tools.
Setting up tools
- Go to Account → Coding Tools.
- Enable the tools you use with the toggle next to each entry. No tool is enabled by default.
- For the Custom tool: enable it and enter your own URL template. Available placeholders:
{{prompt}},{{context}},{{issue.identifier}},{{issue.branchName}}.
Supported tools
Web-based: Claude Code, Codex, Devin, Lovable, Replit, v0, Netlify Agents.
Desktop (deep-link): Cursor, Windsurf, Zed, GitHub Copilot, Codex Desktop, Conductor, Factory, Warp.
CLI: OpenCode (copies the shell command to the clipboard).
Custom: Freely configurable URL template.
Ticket header menu
A split button appears in the header of every ticket:
- Left side (primary action): Runs the last-used action. Default: Copy as prompt -- copies the ticket context to the clipboard.
- Right side (dropdown): Opens the menu with all enabled tools and a link to the settings page.
When you click a tool in the dropdown, it is saved as the new primary action. On the next ticket, a single click on the left side is enough.
Customising the prompt template
Under Account → Coding Tools you will find the prompt template as an editable text field. Click the variable chips to insert them at the cursor position.
Available variables
| Variable | Description |
|---|---|
{{identifier}} | Ticket ID, e.g. ACME-42 |
{{title}} | Ticket title |
{{context}} | Full ticket context as markdown (description, comments, sub-tickets, links) |
{{branchName}} | Suggested git branch name |
The default template includes an MCP hint that tells the tool to query and update Spedy directly via the MCP server (e.g. tickets_get, tickets_update, tickets_add_comment, knowledge_search). If you prefer a purely static handover, delete that paragraph from the template.
Resetting the template
Click Reset to default to return to the built-in template.
MCP tools for ticket management
When an AI coding assistant connects to Spedy via MCP, it can read and write tickets programmatically. The MCP server exposes tools for the full ticket lifecycle.
Creating and updating tickets
tickets_create and tickets_update accept the complete set of ticket properties:
| Property | Description |
|---|---|
title, description | Basic ticket content |
assigneeId | Assign a team member (pass null to unassign) |
statusId | Move the ticket to a board column |
typeId | Set the ticket type |
priority | low, medium, high, or critical |
estimatedHours | Time estimate (0–1000 hours) |
dueDate, plannedStartDate | Dates in ISO 8601 format |
storyPoints | Complexity estimate (1–1000) |
externalReference | Customer-facing identifier |
targetEnvironment | e.g. production or staging |
impactLevel | low, medium, high, or critical |
labelIds | Array of label IDs (replaces the set; [] clears) |
milestoneId | Assign to a milestone (pass null to clear) |
Custom fields
Use tickets_set_custom_fields to set organization-wide custom field values on a ticket. Supported types: text, number, date, select, and checkbox. Values are validated against the field definition.
Discovery tools
To resolve the IDs needed by the setters, use these query tools:
labels_list— all org labels with ID, name, color, and ticket countmilestones_list— board milestones with ID, name, due date, and completion progresscustom_fields_list— custom field definitions with ID, type, required flag, and select options
Reading tickets
tickets_get returns the full property set including labels, milestone, and custom field values, so reads and writes stay consistent.
MCP tools for Pull Requests and Pipelines
AI agents can also query pull request and CI/CD pipeline data via MCP — the same data that powers the Pull Requests and Pipelines views in the browser.
Listing pull requests
pull_requests_list returns a paginated overview of all pull and merge requests across connected providers (GitHub, GitLab, Bitbucket), scoped to the boards you can access.
| Parameter | Description |
|---|---|
provider | Filter by GITHUB, GITLAB, or BITBUCKET |
state | OPEN, DRAFT, MERGED, or CLOSED |
boardId | Restrict to a single board |
repository | Filter by repository name (contains) |
author | Filter by author name (contains) |
branch | Filter by source or target branch (contains) |
search | Free-text search on title, repo, branch, author, or PR number |
onlyOpen | Shortcut for state=OPEN |
onlyFailed | Only PRs whose pipeline currently failed |
limit, page | Pagination (default: 25 per page, max 100) |
Getting pull request details
pull_requests_get returns the full detail of a single pull request by its Spedy aggregate ID (from pull_requests_list), including:
- CI pipeline steps with status, type, and duration
- Reviews with reviewer name, status, and body
- Recent events with type and timestamp
Listing pipeline runs
pipelines_list shows CI/CD pipeline runs grouped by status bucket, mirroring the Pipelines view:
| Parameter | Description |
|---|---|
status | needs-attention (default), running, failed, success, or all |
provider | Filter by GITHUB, GITLAB, or BITBUCKET |
boardId | Restrict to a single board |
limit, page | Pagination (default: 25 per page, max 100) |
Results include per-bucket counts (needsAttention, running, failed, success, total) so the agent can assess overall CI health at a glance.
All three tools are read-only (SAFE risk level), require the mcp:read scope, and are scoped to the boards the connected user can access.
Tips
- Only enable the tools you actually use -- it keeps the dropdown clean.
- Set up MCP integration under Account → MCP so tools can access live data via MCP.
- Use the Custom tool when your preferred tool is not on the list.