Template Rendering
Template Rendering Guide mit Jinja2 für dynamische Konfiguration in Open Ticket AI mit Variablen, Konditionalen, Schleifen und benutzerdefinierten Extensions.
Template Rendering
Open Ticket AI verwendet Jinja2 für dynamisches Template Rendering in Konfigurationsdateien und Textgenerierung.
Jinja2 Template System
Jinja2 bietet:
- Variable Substitution
- Konditionale Logik
- Schleifen und Filter
- Benutzerdefinierte Extensions
Template Expressions in Konfiguration
Verwende Templates in YAML Konfiguration:
pipes:
- pipe_name: add_note
note_text: 'Classified as {{ context.queue }} with priority {{ context.priority }}'
Benutzerdefinierte Template Extensions
Open Ticket AI bietet benutzerdefinierte Jinja2 Extensions:
Context Access
Greife direkt auf Pipeline Context in Templates zu:
{{ context.ticket.id }}
{{ context.classification_result.confidence }}
Filter
Benutzerdefinierte Filter für häufige Operationen:
{{ ticket.created_at | format_date }}
{{ text | truncate(100) }}
{{ value | default("N/A") }}
Funktionen
Helper-Funktionen verfügbar in Templates:
{{ now() }}
{{ random_id() }}
{{ format_priority(value) }}
Template Context und Variablen
Der Template Context umfasst:
- Pipeline Execution Context
- Environment Variablen
- Konfigurationswerte
- Benutzerdefinierte Variablen
Examples
Konditionale Note
note_text: >
{% if context.priority == 'high' %}
URGENT: This ticket requires immediate attention.
{% else %}
Standard priority ticket.
{% endif %}
Dynamische Queue Assignment
queue: >
{% if 'billing' in context.ticket.subject.lower() %}
Billing
{% elif 'technical' in context.ticket.subject.lower() %}
Technical Support
{% else %}
General
{% endif %}
Loop Through Results
summary: >
Processed {{ context.tickets | length }} tickets:
{% for ticket in context.tickets %}
- Ticket #{{ ticket.id }}: {{ ticket.status }}
{% endfor %}
Security Considerations
- Templates werden in einer sandboxed Environment ausgeführt
- Gefährliche Operationen sind deaktiviert
- User Input wird automatisch escaped
- Verwende den
safeFilter nur für trusted Content
