SpedySpedy Docs

Coding Tools

Öffne Tickets direkt in Claude Code, Cursor, Devin oder deinem bevorzugten KI-Coding-Assistenten.

Das Coding-Tools-Feature verbindet Spedy-Tickets mit externen KI-Coding-Assistenten. Statt Kontext manuell zu kopieren, übergibst du ihn mit einem Klick.

Voraussetzungen

  • Das Org-Feature AI Coding Tools muss in den Einstellungen unter Features aktiviert sein (standardmäßig aktiv, alle Pläne).
  • Jeder User wählt seine eigenen Tools unter Konto → Coding Tools.

Tools einrichten

  1. Gehe zu Konto → Coding Tools.
  2. Aktiviere die Tools, die du nutzt, über den Schalter neben jedem Eintrag. Kein Tool ist standardmäßig aktiv.
  3. Für das Custom-Tool: Aktiviere es und trage deine eigene URL-Vorlage ein. Verfügbare Platzhalter: {{prompt}}, {{context}}, {{issue.identifier}}, {{issue.branchName}}.

Unterstützte Tools

Web-basiert: Claude Code, Codex, Devin, Lovable, Replit, v0, Netlify Agents.

Desktop (Deep-Link): Cursor, Windsurf, Zed, GitHub Copilot, Codex Desktop, Conductor, Factory, Warp.

CLI: OpenCode (kopiert den Shell-Befehl in die Zwischenablage).

Custom: Frei konfigurierbare URL-Vorlage.

Ticket-Header-Menü

Im Header jedes Tickets erscheint ein Split-Button:

  • Linke Seite (Hauptaktion): Führt die zuletzt verwendete Aktion aus. Standard: Als Prompt kopieren -- kopiert den Ticket-Kontext in die Zwischenablage.
  • Rechte Seite (Dropdown): Öffnet das Menü mit allen aktivierten Tools und einem Link zu den Einstellungen.

Klickst du ein Tool im Dropdown, wird es als neue Hauptaktion gespeichert. Beim nächsten Ticket reicht ein Klick auf die linke Seite.

Prompt-Vorlage anpassen

Unter Konto → Coding Tools findest du die Prompt-Vorlage als bearbeitbares Textfeld. Klicke auf die Variablen-Chips, um sie an der Cursor-Position einzufügen.

Verfügbare Variablen

VariableBeschreibung
{{identifier}}Ticket-ID, z. B. ACME-42
{{title}}Ticket-Titel
{{context}}Voller Ticket-Kontext als Markdown (Beschreibung, Kommentare, Subtickets, Verknüpfungen)
{{branchName}}Vorgeschlagener Git-Branch-Name

Die Standard-Vorlage enthält einen MCP-Hinweis, der das Tool anweist, Spedy per MCP-Server direkt abzufragen und zu aktualisieren (z. B. tickets_get, tickets_update, tickets_add_comment, knowledge_search). Wenn du lieber eine rein statische Übergabe möchtest, lösche diesen Absatz aus der Vorlage.

Vorlage zurücksetzen

Klicke auf Auf Standard zurücksetzen, um zur mitgelieferten Vorlage zurückzukehren.

MCP-Tools für Ticket-Verwaltung

Wenn ein KI-Coding-Assistent per MCP mit Spedy verbunden ist, kann er Tickets programmatisch lesen und schreiben. Der MCP-Server stellt Tools für den gesamten Ticket-Lebenszyklus bereit.

Tickets erstellen und bearbeiten

tickets_create und tickets_update akzeptieren den vollständigen Eigenschaftssatz:

EigenschaftBeschreibung
title, descriptionGrundlegende Ticket-Inhalte
assigneeIdTeammitglied zuweisen (null zum Entfernen)
statusIdTicket in eine Board-Spalte verschieben
typeIdTicket-Typ setzen
prioritylow, medium, high oder critical
estimatedHoursZeitschätzung (0–1000 Stunden)
dueDate, plannedStartDateDatum im ISO-8601-Format
storyPointsKomplexitätsschätzung (1–1000)
externalReferenceKundenseitige Kennung
targetEnvironmentz. B. production oder staging
impactLevellow, medium, high oder critical
labelIdsArray von Label-IDs (ersetzt den Satz; [] löscht alle)
milestoneIdMeilenstein zuweisen (null zum Entfernen)

Benutzerdefinierte Felder

Mit tickets_set_custom_fields setzt du organisationsweite benutzerdefinierte Felder auf einem Ticket. Unterstützte Typen: Text, Zahl, Datum, Auswahl und Checkbox. Werte werden gegen die Felddefinition validiert.

Discovery-Tools

Um die nötigen IDs zu ermitteln, nutze diese Abfrage-Tools:

  • labels_list — alle Organisations-Labels mit ID, Name, Farbe und Ticket-Anzahl
  • milestones_list — Board-Meilensteine mit ID, Name, Fälligkeitsdatum und Fortschritt
  • custom_fields_list — benutzerdefinierte Felddefinitionen mit ID, Typ, Pflichtfeld-Status und Auswahloptionen

Tickets lesen

tickets_get gibt den vollständigen Eigenschaftssatz zurück, inklusive Labels, Meilenstein und benutzerdefinierter Felder — so bleiben Lese- und Schreibzugriffe konsistent.

MCP-Tools fürs Wiki

Lesen ging schon länger — wiki_spaces_list, wiki_spaces_get, wiki_pages_list, wiki_pages_get und wiki_search. Zwei Tools schreiben jetzt auch, damit ein Agent Gelerntes dort ablegen kann, wo es hingehört, statt es in einem Ticket-Kommentar zu vergraben.

ToolWas es tut
wiki_pages_createLegt eine Seite in einem Bereich an. spaceId (ID oder Slug) und title sind Pflicht, content (Markdown) und folderId optional.
wiki_pages_updateÄndert title, content und/oder folderId einer bestehenden Seite. Mindestens eins davon muss gesetzt sein — ein Aufruf, der nichts ändert, wird abgelehnt, statt eine leere Version zu schreiben.

Drei Dinge, die man vorher wissen sollte:

  • content ersetzt den Seiteninhalt, es hängt nichts an. Lies die Seite vorher mit wiki_pages_get und schicke den vollständigen neuen Text — sonst ist alles weg, was du weggelassen hast.
  • Es geht nichts verloren. Jede Änderung legt Titel und Inhalt der Vorversion in der Seitenhistorie ab, genau wie eine Bearbeitung im Browser — die Änderung eines Agenten lässt sich zurücknehmen wie die einer Kollegin.
  • folderId unterscheidet „lass es" von „verschieb es". Lässt du das Feld weg, bleibt die Seite, wo sie ist; mit null wandert sie in die Wurzel des Bereichs.

Beide Tools brauchen die Berechtigung wiki:edit und Editor-Rechte in genau diesem Bereich — dieselben zwei Bedingungen wie bei einem Menschen. Die Gruppe Agenten hat die Berechtigung standardmäßig; die Aufnahme in den Bereich ist eine eigene, bewusste Entscheidung eines Admins. Ein Nur-Lese-Token erreicht keins der beiden Tools.

MCP-Tools für Pull Requests und Pipelines

KI-Agenten können auch Pull-Request- und CI/CD-Pipeline-Daten per MCP abfragen — dieselben Daten, die die Pull-Requests- und Pipelines-Ansichten im Browser antreiben.

Pull Requests auflisten

pull_requests_list liefert eine paginierte Übersicht aller Pull- und Merge-Requests über alle verbundenen Provider (GitHub, GitLab, Bitbucket), beschränkt auf die Boards, auf die du Zugriff hast.

ParameterBeschreibung
providerFiltern nach GITHUB, GITLAB oder BITBUCKET
stateOPEN, DRAFT, MERGED oder CLOSED
boardIdAuf ein einzelnes Board beschränken
repositoryNach Repository-Name filtern (enthält)
authorNach Autor filtern (enthält)
branchNach Quell- oder Ziel-Branch filtern (enthält)
searchFreitextsuche über Titel, Repo, Branch, Autor oder PR-Nummer
onlyOpenKurzform für state=OPEN
onlyFailedNur PRs mit aktuell fehlgeschlagener Pipeline
limit, pagePaginierung (Standard: 25 pro Seite, max. 100)

Pull-Request-Details abrufen

pull_requests_get gibt die vollständigen Details eines einzelnen Pull Requests anhand seiner Spedy-Aggregate-ID (aus pull_requests_list) zurück, inklusive:

  • CI-Pipeline-Steps mit Status, Typ und Dauer
  • Reviews mit Reviewer-Name, Status und Kommentar
  • Letzte Events mit Typ und Zeitstempel

Pipeline-Läufe auflisten

pipelines_list zeigt CI/CD-Pipeline-Läufe gruppiert nach Status-Bucket, analog zur Pipelines-Ansicht:

ParameterBeschreibung
statusneeds-attention (Standard), running, failed, success oder all
providerFiltern nach GITHUB, GITLAB oder BITBUCKET
boardIdAuf ein einzelnes Board beschränken
limit, pagePaginierung (Standard: 25 pro Seite, max. 100)

Die Ergebnisse enthalten Zähler pro Bucket (needsAttention, running, failed, success, total), sodass der Agent den CI-Gesamtzustand auf einen Blick erfassen kann.

Alle drei Tools sind schreibgeschützt (Risikostufe SAFE), erfordern den mcp:read-Scope und sind auf die Boards beschränkt, auf die der verbundene User Zugriff hat.

Ein Agent, der eine Aufgabe beginnt, braucht meist drei Dinge auf einmal: die Tickets zum Thema, die Doku-Seiten, die es erklären, und das, was das Team dazu schon gelernt hat. context_search beantwortet eine Anfrage über alle drei Quellen und liefert die Treffer gruppiert, jeweils mit einem kurzen Auszug.

ParameterBeschreibung
queryWonach du suchst — ein Feature, eine Fehlermeldung, ein Kundenbegriff (1–500 Zeichen)
boardIdOptionales Projekt, auf das die Ticket-Treffer beschränkt werden
limitMaximale Treffer pro Gruppe (Standard 5, max. 20)
includeZu durchsuchende Gruppen: tickets, wiki, knowledge (Standard: alle)

Die Antwort enthält groups.tickets, groups.wiki und groups.knowledge sowie eine Liste skipped, die jede Gruppe nennt, auf die der verbundene User keinen Zugriff hat (z. B. die Wissensbasis, wenn das Feature AI Knowledge Base aus ist, oder das Wiki ohne die Berechtigung wiki:view). Nichts fällt stillschweigend weg — der Agent kann „keine Treffer" von „nicht erlaubt" unterscheiden. Jeder Ticket- und Wiki-Treffer trägt einen score und einen matchType (semantic, keyword oder both), damit der Agent ihn gewichten kann.

Semantisches Ranking

tickets_search, wiki_search und context_search sortieren nach Bedeutung, nicht nur nach exakten Wörtern: Spedy berechnet im Hintergrund für jedes Ticket (Titel + Beschreibung) und jede Wiki-Seite ein Embedding und verschmilzt das Nächste-Nachbarn-Ranking mit dem klassischen Stichwort-Ranking. Eine Suche nach „Kunde kann sich nach Passwort-Reset nicht einloggen" findet das Ticket „Reset-Flow: Session wird nicht erneuert", obwohl die Wörter andere sind.

  • tickets_search und wiki_search akzeptieren mode: "hybrid" (Standard) oder mode: "keyword" (exakte Teilstring-Suche, neueste zuerst). Hybride Treffer tragen score und matchType; die Antwort meldet search.mode bzw. meta.mode und semanticUsed.
  • Das semantische Ranking ist aktiv, sobald für deine Spedy-Instanz ein Embedding-Dienst konfiguriert ist. Ohne ihn — oder solange er nicht erreichbar ist — fällt jede Suche automatisch auf das Stichwort-Ranking zurück und semanticUsed ist false; kein Aufruf schlägt deshalb fehl oder wartet.
  • Neue und geänderte Tickets und Seiten sind innerhalb von etwa einer Minute eingebettet; ein Hintergrundjob holt Verpasstes nach.
  • Paginierung im Hybrid-Modus: Das fusionierte Ranking ist eine einzige Seite (pagination.singlePage: true). pagination.total meldet trotzdem, wie viele Tickets in deinen zugänglichen Projekten auf die Stichwörter der Suche passen — so lässt sich „das war alles“ von „da kommt noch mehr“ unterscheiden. Den Rest holst du über page: 2 und folgende, die im Stichwort-Modus laufen.

Fertige Prompts

Der Spedy-MCP-Server veröffentlicht außerdem Prompts — serverseitig erstellte Nachrichtenvorlagen, die dein MCP-Client als Slash-Befehl oder in seiner Prompt-Auswahl anbietet (prompts/list / prompts/get). Sie bündeln den Kontext, den ein Agent braucht, mit der Arbeitsvereinbarung, die Spedy erwartet — du musst sie nicht jedes Mal eintippen.

PromptArgumenteWas er tut
work-on-ticketticket (z. B. AG-12), optional boardIdTicket-Kontext (Beschreibung, Labels, Verknüpfungen, Subtickets, Kommentare), die relevantesten Wiki-Seiten und Team-Erkenntnisse, ein Branch-Vorschlag und die Arbeitsvereinbarung: Live-Details per tickets_get, Zeiterfassung per timers_start/timers_stop, Rückmeldung als interner Kommentar.
report-backticket, summary, optional prUrl, statusDie exakten Tool-Aufrufe zum sauberen Abschluss: ein interner tickets_add_comment mit den Abschnitten Ergebnis / Geändert / Offen / PR, der tickets_move_status-Aufruf für den Zielstatus und das Stoppen laufender Timer.
review-prpullRequest (Spedy-PR-ID, owner/repo#123 oder eine PR-Nummer)Die PR-Fakten, die Spedy kennt (Status, Branches, CI-Pipeline, Reviews), das verknüpfte Ticket und eine Review-Checkliste, die in einem internen Kommentar am Ticket endet. Benötigt das Feature Pull Requests.

Prompts folgen denselben Berechtigungen und Feature-Schaltern wie die Tools, auf denen sie aufbauen: Ein User ohne Wiki-Zugriff bekommt bei work-on-ticket die reine Ticket-Variante; review-pr ist ausgeblendet, wenn die Pull-Requests-Ansicht deaktiviert ist. Alles in einem Prompt, das von Menschen geschrieben wurde — Ticket-Text, Kommentare, Wiki-Auszüge, PR-Beschreibungen — ist klar als Daten, nicht Anweisungen markiert, damit ein Kommentar deinen Agenten nicht kapern kann.

Tipps

  • Aktiviere nur die Tools, die du tatsächlich nutzt -- das Dropdown bleibt übersichtlich.
  • Richte die MCP-Integration unter Konto → MCP ein, damit Tools per MCP auf Live-Daten zugreifen können.
  • Nutze das Custom-Tool, wenn dein bevorzugtes Tool nicht in der Liste steht.