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.
Architektura i mapowanie identyfikatorów
Dział zatytułowany „Architektura i mapowanie identyfikatoró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).
Klucze mapowań semantycznych
Dział zatytułowany „Klucze mapowań semantycznych”| Kategoria | Kanoniczne klucze identyfikatorów |
|---|---|
| Status | status_new, status_in_progress, status_resolved, status_feedback, status_closed, status_rejected |
| Priorytet | priority_low, priority_normal, priority_high, priority_urgent, priority_immediate |
| Tracker | tracker_bug, tracker_feature, tracker_task, tracker_support |
| Aktywność | activity_design, activity_development, activity_testing, activity_documentation, activity_support, activity_management, activity_devops, activity_review |
Zestawienie narzędzi
Dział zatytułowany „Zestawienie narzędzi”Worker Redmine udostępnia 23 dedykowane narzędzia:
| Narzędzie | Opis |
|---|---|
listIssueIds | Pobieranie identyfikatorów zgłoszeń z filtrowaniem według projektu, statusu, trackera, priorytetu i osoby przypisanej. |
getIssueFull | Pobieranie pełnych metadanych zgłoszenia wraz z polami niestandardowymi, relacjami i historią. |
searchIssueIds | Wyszukiwanie zgłoszeń na podstawie słów kluczowych. |
createIssue | Tworzenie nowego zgłoszenia z określeniem trackera, statusu, priorytetu, osoby przypisanej i zgłoszenia nadrzędnego. |
updateIssue | Modyfikacja atrybutów zgłoszenia i dodanie notatki w ramach jednego atomowego wywołania. |
commentIssue | Dodawanie komentarza (wpisu w dzienniku) do zgłoszenia. |
listJournals | Pobieranie historii zmian i komentarzy w zgłoszeniu. |
updateJournal | Edycja treści istniejącej notatki w dzienniku. |
deleteJournal | Trwałe usunięcie wpisu z dziennika. |
listTimeEntries | Sprawdzanie zarejestrowanego czasu pracy z filtrowaniem według zgłoszenia, użytkownika, projektu lub zakresu dat. |
createTimeEntry | Rejestrowanie rozliczanego lub nierozliczanego czasu pracy przy zgłoszeniach lub projektach. |
updateTimeEntry | Aktualizacja zarejestrowanych godzin, kategorii aktywności lub komentarza. |
listUsers | Pobieranie listy użytkowników Redmine lub członków danego projektu. |
resolveUser | Mapowanie nazwy użytkownika lub aliasu me na kanoniczny identyfikator użytkownika. |
getCurrentUser | Pobieranie metadanych profilu zalogowanego użytkownika. |
listProjectIds | Pobieranie listy identyfikatorów dostępnych projektów. |
getProjectFull | Pobieranie pełnej konfiguracji projektu (trackery, kategorie, moduły). |
searchProjectIds | Wyszukiwanie projektów po nazwie lub slugu. |
listRelations | Pobieranie listy relacji i powiązań między zgłoszeniami. |
createRelation | Tworzenie powiązań między zadaniami (blocks, precedes, relates, duplicates itp.). |
deleteRelation | Trwałe usunięcie relacji między zgłoszeniami. |
getMappings | Pobieranie aktywnych tabel mapowania statusów, trackerów i rodzajów aktywności. |
getConfig | Pobieranie aktywnego adresu URL instancji Redmine i powiązań projektów. |
Konfiguracja
Dział zatytułowany „Konfiguracja”- W Redmine przejdź do Moje konto i skopiuj Klucz dostępu API.
- W aplikacji Desktop otwórz kartę integracji Redmine, wprowadź Adres URL Redmine oraz Klucz API, a następnie kliknij Sprawdź poprawność.
- Potwierdź zakres powiązanego projektu i przejrzyj wykryte mapowania identyfikatorów dla statusów i trackerów.
- Zapisz konfigurację, aby zainicjalizować kontener workera.
Bezpieczeństwo
Dział zatytułowany „Bezpieczeństwo”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.