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