Skip to content
Diese Seite wurde mit KI-Unterstützung erstellt und übersetzt. Falls Ihnen Ungenauigkeiten auffallen, helfen Sie gerne bei der Verbesserung. Auf GitHub bearbeiten

Issues & Tracking

Issues (auch Work Items genannt) sind die zentrale Arbeitseinheit in OpenPR. Sie repräsentieren Aufgaben, Fehler, Funktionen oder jeden verfolgbaren Teil der Arbeit innerhalb eines Projekts.

Issue-Felder

FeldTypErforderlichBeschreibung
TitelstringJaKurze Beschreibung der Arbeit
BeschreibungmarkdownNeinDetaillierte Beschreibung mit Formatierung
ZustandenumJaWorkflow-Zustand (siehe Workflow)
PrioritätenumNeinlow, medium, high, urgent
BearbeiteruserNeinFür das Issue verantwortliches Teammitglied
LabelslistNeinKategorisierungs-Tags (siehe Labels)
SprintsprintNeinSprint-Zyklus, zu dem das Issue gehört
FälligkeitsdatumdatetimeNeinZiel-Abschlussdatum
AnhängefilesNeinAngehängte Dateien (Bilder, Dokumente, Logs)

Issue-Bezeichner

Jedes Issue hat einen menschenlesbaren Bezeichner, zusammengesetzt aus dem Projektschlüssel und einer fortlaufenden Nummer:

API-1, API-2, API-3, ...
FRONT-1, FRONT-2, ...

Sie können jedes Issue über seinen Bezeichner in allen Projekten des Arbeitsbereichs nachschlagen.

Issues erstellen

Über die Web-UI

  1. Zum Projekt navigieren.
  2. Auf Neues Issue klicken.
  3. Titel, Beschreibung und optionale Felder ausfüllen.
  4. Auf Erstellen klicken.

Über die REST-API

bash
curl -X POST http://localhost:8080/api/projects/<project_id>/issues \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{
    "title": "Benutzereinstellungsseite implementieren",
    "description": "Eine Einstellungsseite hinzufügen, wo Benutzer ihr Profil aktualisieren können.",
    "state": "todo",
    "priority": "medium",
    "assignee_id": "<user_uuid>"
  }'

Über MCP

json
{
  "method": "tools/call",
  "params": {
    "name": "work_items.create",
    "arguments": {
      "project_id": "<project_uuid>",
      "title": "Benutzereinstellungsseite implementieren",
      "state": "todo",
      "priority": "medium"
    }
  }
}

Kommentare

Issues unterstützen Thread-Kommentare mit Markdown-Formatierung und Dateianhängen:

bash
# Einen Kommentar hinzufügen
curl -X POST http://localhost:8080/api/issues/<issue_id>/comments \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{"content": "In Commit abc123 behoben. Bereit zum Review."}'

Kommentare sind auch über MCP-Tools verfügbar: comments.create, comments.list, comments.delete.

Aktivitäts-Feed

Jede Änderung an einem Issue wird im Aktivitäts-Feed aufgezeichnet:

  • Zustandsänderungen
  • Bearbeiter-Änderungen
  • Label-Hinzufügungen/-Entfernungen
  • Kommentare
  • Prioritätsaktualisierungen

Der Aktivitäts-Feed bietet einen vollständigen Prüfpfad für jedes Issue.

Dateianhänge

Issues und Kommentare unterstützen Dateianhänge einschließlich Bilder, Dokumente, Logs und Archive. Upload über die API:

bash
curl -X POST http://localhost:8080/api/v1/upload \
  -H "Authorization: Bearer <token>" \
  -F "[email protected]"

Unterstützte Dateitypen: Bilder (PNG, JPG, GIF, WebP), Dokumente (PDF, TXT), Daten (JSON, CSV, XML), Archive (ZIP, GZ) und Logs.

Suche

OpenPR bietet Volltextsuche über alle Issues, Kommentare und Vorschläge mit PostgreSQL FTS:

bash
# Suche über API
curl -H "Authorization: Bearer <token>" \
  "http://localhost:8080/api/search?q=authentication+bug"

# Suche über MCP
# work_items.search: Suche innerhalb eines Projekts
# search.all: Globale Suche über alle Projekte

MCP-Tools

ToolParameterBeschreibung
work_items.listproject_idIssues in einem Projekt auflisten
work_items.getwork_item_idIssue nach UUID abrufen
work_items.get_by_identifieridentifierNach menschlicher ID abrufen (z.B. API-42)
work_items.createproject_id, titleEin Issue erstellen
work_items.updatework_item_idBeliebiges Feld aktualisieren
work_items.deletework_item_idEin Issue löschen
work_items.searchqueryVolltextsuche
comments.creatework_item_id, contentKommentar hinzufügen
comments.listwork_item_idKommentare auflisten
comments.deletecomment_idKommentar löschen
files.uploadfilename, content_base64Datei hochladen

Nächste Schritte

Released under the Apache-2.0 License.