Improve default task failure email template for readability and operational clarity
#61.667 aberto em 9 de fev. de 2026
Métricas do repositório
- Stars
- (44.809 stars)
- Métricas de merge de PR
- (Mesclagem média 7d 18h) (834 fundiu PRs em 30d)
Description
Description
The default Airflow task failure email is difficult to read and not optimized for operators.
Currently the subject and body contain a raw Python object dump (UUIDs, repr(), internal fields), which makes it hard to quickly understand:
- which DAG failed
- which task failed
- when it failed
- where to click for logs
This is noisy and not human-friendly for production operations.
What is proposed
Replace the current default task failure email with a cleaner, human-readable template.
Instead of exposing a raw Python object dump (UUIDs, internal fields, repr()), the email should present structured, actionable information: DAG, task, run ID, attempt, timestamps, host, and a direct link to logs.
Provide a simple, modern HTML + text layout optimized for quick scanning and mobile readability, while keeping advanced/debug details optional.
This change improves the out-of-the-box operator experience without requiring users to create custom templates, and remains fully backward compatible since templates can still be overridden.
I’ve attached the template files I created. Feel free to reuse or adapt them if helpful.
Use case/motivation
In real deployments:
- alerts are read quickly on mobile
- operators need key info at a glance
- long debug metadata is rarely useful in email
- links to logs are more important than internal fields
Today this requires fully custom templates to get a usable format.
A better default template would improve UX out-of-the-box and reduce customization overhead.
Related issues
No response
Are you willing to submit a PR?
- Yes I am willing to submit a PR!
Code of Conduct
- I agree to follow this project's Code of Conduct