Przejdź do głównej zawartości

Redmine

Integracja z Redmine łączy Speedwave z instancjami lokalnymi (on-premise) lub chmurowymi. Claude może przeglądać hierarchię zgłoszeń, rejestrować czas pracy, dodawać wpisy do dziennika zmian, wiązać zależności między zadaniami i wspierać planowanie projektów.

Worker Redmine działa w odizolowanym kontenerze. Pliki poświadczeń i definicje mapowań znajdują się w katalogu ~/.speedwave/tokens/<projekt>/redmine/:

  • Folder~/.speedwave/tokens/<projekt>/redmine/
    • api_key
    • config.json

Uwierzytelnianie odbywa się za pomocą klucza API, a nie haseł użytkowników. Ponieważ instancje Redmine przypisują dynamiczne identyfikatory numeryczne do trackerów, statusów, priorytetów i kategorii aktywności, plik config.json przechowuje jednoznaczne mapowania semantyczne (np. status_in_progress -> 2, tracker_bug -> 1).

Treści zgłoszeń, notatki i wpisy w dzienniku są formatowane w składni Textile. Speedwave oczyszcza wprowadzane znaczniki przed wysłaniem, usuwając niebezpieczne elementy HTML.

W przypadku nieudanych zapytań żądania są ponawiane automatycznie do 3 razy z wykładniczym czasem oczekiwania (2s, 4s, 8s).

KategoriaKanoniczne klucze identyfikatorów
Statusstatus_new, status_in_progress, status_resolved, status_feedback, status_closed, status_rejected
Priorytetpriority_low, priority_normal, priority_high, priority_urgent, priority_immediate
Trackertracker_bug, tracker_feature, tracker_task, tracker_support
Aktywnośćactivity_design, activity_development, activity_testing, activity_documentation, activity_support, activity_management, activity_devops, activity_review

Worker Redmine udostępnia 23 dedykowane narzędzia:

NarzędzieOpis
listIssueIdsPobieranie identyfikatorów zgłoszeń z filtrowaniem według projektu, statusu, trackera, priorytetu i osoby przypisanej.
getIssueFullPobieranie pełnych metadanych zgłoszenia wraz z polami niestandardowymi, relacjami i historią.
searchIssueIdsWyszukiwanie zgłoszeń na podstawie słów kluczowych.
createIssueTworzenie nowego zgłoszenia z określeniem trackera, statusu, priorytetu, osoby przypisanej i zgłoszenia nadrzędnego.
updateIssueModyfikacja atrybutów zgłoszenia i dodanie notatki w ramach jednego atomowego wywołania.
commentIssueDodawanie komentarza (wpisu w dzienniku) do zgłoszenia.
listJournalsPobieranie historii zmian i komentarzy w zgłoszeniu.
updateJournalEdycja treści istniejącej notatki w dzienniku.
deleteJournalTrwałe usunięcie wpisu z dziennika.
listTimeEntriesSprawdzanie zarejestrowanego czasu pracy z filtrowaniem według zgłoszenia, użytkownika, projektu lub zakresu dat.
createTimeEntryRejestrowanie rozliczanego lub nierozliczanego czasu pracy przy zgłoszeniach lub projektach.
updateTimeEntryAktualizacja zarejestrowanych godzin, kategorii aktywności lub komentarza.
listUsersPobieranie listy użytkowników Redmine lub członków danego projektu.
resolveUserMapowanie nazwy użytkownika lub aliasu me na kanoniczny identyfikator użytkownika.
getCurrentUserPobieranie metadanych profilu zalogowanego użytkownika.
listProjectIdsPobieranie listy identyfikatorów dostępnych projektów.
getProjectFullPobieranie pełnej konfiguracji projektu (trackery, kategorie, moduły).
searchProjectIdsWyszukiwanie projektów po nazwie lub slugu.
listRelationsPobieranie listy relacji i powiązań między zgłoszeniami.
createRelationTworzenie powiązań między zadaniami (blocks, precedes, relates, duplicates itp.).
deleteRelationTrwałe usunięcie relacji między zgłoszeniami.
getMappingsPobieranie aktywnych tabel mapowania statusów, trackerów i rodzajów aktywności.
getConfigPobieranie aktywnego adresu URL instancji Redmine i powiązań projektów.
  1. W Redmine przejdź do Moje konto i skopiuj Klucz dostępu API.
  2. W aplikacji Desktop otwórz kartę integracji Redmine, wprowadź Adres URL Redmine oraz Klucz API, a następnie kliknij Sprawdź poprawność.
  3. Potwierdź zakres powiązanego projektu i przejrzyj wykryte mapowania identyfikatorów dla statusów i trackerów.
  4. Zapisz konfigurację, aby zainicjalizować kontener workera.

Worker Redmine montuje wyłącznie swój katalog poświadczeń w trybie tylko do odczytu. Wszelkie zapytania API przechodzą przez bezstanowy Tool Gateway. Jeśli identyfikator projektu zostanie zablokowany w pliku config.json, worker odrzuca próby modyfikacji zgłoszeń spoza wskazanego obszaru. Szczegóły znajdziesz w rozdziale Zarządzanie poświadczeniami.