README.md aktualisiert

Link zum Redmine-Ticket
This commit is contained in:
2026-07-13 11:38:59 +00:00
parent fb78c96e6b
commit ba6b119730
+14 -14
View File
@@ -1,14 +1,14 @@
# Redmine Ticket-Portal (Prototyp) # Redmine Ticket-Portal (Prototyp)
Vorgeschaltete Webseite fuer die Ticket-Anlage mit verpflichtendem Kundenbezug Vorgeschaltete Webseite für die Ticket-Anlage mit verpflichtendem Kundenbezug
(Loesungsvariante 1 aus dem Ticket). Die Kundenauswahl laeuft ueber ein (Lösungsvariante 1 aus [redmine.unicon-gmbh.de](https://redmine.unicon-gmbh.de/redmine/issues/6)).
Autocomplete gegen die eigenen Stammdaten - die 1500 Kunden muessen also Die Kundenauswahl läuft über ein Autocomplete gegen die eigenen Stammdaten.
nicht als Auswahlliste in Redmine gepflegt werden. Die Kundennummer wird in Die Kunden müssen also nicht als Auswahlliste in Redmine gepflegt werden.
ein Text-Custom-Field des Tickets geschrieben. Die Kundennummer wird in ein Text-Custom-Field des Tickets geschrieben.
## Ablauf ## Ablauf
1. Techniker sucht den Kunden per Nummer oder Firmenname (Autocomplete) 1. Mitarbeiter sucht den Kunden per Nummer oder Firmenname (Autocomplete)
2. Betreff und Beschreibung erfassen 2. Betreff und Beschreibung erfassen
3. Der Server validiert die Kundennummer gegen die Stammdaten und legt das 3. Der Server validiert die Kundennummer gegen die Stammdaten und legt das
Ticket per POST /issues.json in Redmine an (API-Key nur serverseitig) Ticket per POST /issues.json in Redmine an (API-Key nur serverseitig)
@@ -19,13 +19,13 @@ ein Text-Custom-Field des Tickets geschrieben.
cp .env.example .env # Werte anpassen (API-Key, Projekt, Feld-ID) cp .env.example .env # Werte anpassen (API-Key, Projekt, Feld-ID)
npm start npm start
Ohne gesetzten REDMINE_API_KEY laeuft der Server im Trockenlauf: die Ohne gesetzten REDMINE_API_KEY läuft der Server im Trockenlauf: die
Oberflaeche funktioniert komplett, Tickets werden aber nur simuliert. Oberfläche funktioniert komplett, Tickets werden aber nur simuliert.
Zum schnellen Ausprobieren reicht daher: Zum schnellen Ausprobieren reicht daher:
npm install && npm run start:dry npm install && npm run start:dry
Danach http://localhost:3000 oeffnen. Danach http://localhost:3000 öffnen.
## Konfiguration (.env) ## Konfiguration (.env)
@@ -33,16 +33,16 @@ Danach http://localhost:3000 oeffnen.
|---------------------|----------------------------------------------------| |---------------------|----------------------------------------------------|
| REDMINE_URL | Basis-URL der Redmine-Installation | | REDMINE_URL | Basis-URL der Redmine-Installation |
| REDMINE_API_KEY | API-Key eines technischen Users (Recht: Tickets anlegen) | | REDMINE_API_KEY | API-Key eines technischen Users (Recht: Tickets anlegen) |
| REDMINE_PROJECT_ID | Ziel-Projekt fuer neue Tickets | | REDMINE_PROJECT_ID | Ziel-Projekt für neue Tickets |
| REDMINE_TRACKER_ID | Tracker (z. B. Support) | | REDMINE_TRACKER_ID | Tracker (z. B. Support) |
| CUSTOMER_FIELD_ID | ID des Custom Fields fuer die Kundennummer | | CUSTOMER_FIELD_ID | ID des Custom Fields für die Kundennummer |
| CUSTOMERS_FILE | CSV mit den Kundenstammdaten (Nummer;Name) | | CUSTOMERS_FILE | CSV mit den Kundenstammdaten (Nummer;Name) |
Die Feld-ID laesst sich per GET /custom_fields.json ermitteln. Die Feld-ID lässt sich per GET /custom_fields.json ermitteln.
## Naechste Schritte Richtung Produktion ## Nächste Schritte Richtung Produktion
- Kundenliste direkt aus CRM/ERP ziehen (DB-View oder Export per Cron) - Kundenliste direkt aus CRM/ERP ziehen (DB-View oder Export per Cron)
- Authentifizierung fuer die Techniker (z. B. LDAP/SSO im Reverse Proxy) - Authentifizierung für die Techniker (z. B. LDAP/SSO im Reverse Proxy)
- WS-Nummer als zweites Custom Field automatisch mitschreiben - WS-Nummer als zweites Custom Field automatisch mitschreiben
- HTTPS und Betrieb hinter dem vorhandenen Reverse Proxy - HTTPS und Betrieb hinter dem vorhandenen Reverse Proxy