Improve default task failure email template for readability#61729
Improve default task failure email template for readability#61729Fury0508 wants to merge 6 commits into
Conversation
|
Hi everyone, Apologies for the lack of activity on this PR. Due to a family emergency, I was unable to dedicate time to updating the code over the past few days. I am now back and will be actively working on this. I plan to address all the pending review comments and push the necessary changes within the next 2 days. Thank you for your patience and understanding. 🙏 |
|
@Fury0508 lets us know when the PR is ready for 2nd review. |
- Replace plain text email with professional HTML template - Add dark-themed design matching Airflow UI - Include structured task details (run, attempt, host, tags) - Add Airflow 3.x compatibility (conditional rendering for URLs) - Provide plain text fallback for email clients without HTML support - Maintain backward compatibility (custom templates still work) Fixes apache#61667
Replace the current default task failure email template with a modern, operator-friendly version that addresses readability issues. - Add professional HTML template with dark theme matching Airflow UI - Include structured task details (DAG, task, run ID, attempt, host, tags) - Add clear exception formatting in highlighted box - Include action buttons for View Log and Mark Success - Provide plain text fallback for non-HTML email clients - Add Airflow 3.x compatibility with conditional rendering - Maintain backward compatibility (custom templates still work) - Add Apache License headers to all template files closes: apache#61667
Replace the current default task failure email template with a modern, operator-friendly version that addresses readability issues. - Add professional HTML template with dark theme matching Airflow UI - Include structured task details (DAG, task, run ID, attempt, host, tags) - Add clear exception formatting in highlighted box - Include action buttons for View Log and Mark Success - Provide plain text fallback for non-HTML email clients - Add Airflow 3.x compatibility with conditional rendering - Maintain backward compatibility (custom templates still work) - Add Apache License headers to all template files closes: apache#61667
…string - Move email templates from airflow-core to task-sdk to avoid cross-package dependency between airflow-core and task-sdk - Update template path to use Path(__file__).parent.parent - Restore accidentally removed module docstring
…string - Move email templates from airflow-core to task-sdk to avoid cross-package dependency between airflow-core and task-sdk - Update template path to use Path(__file__).parent.parent - Restore accidentally removed module docstring
- Improve subject line to show DAG.task and run context clearly - Add new email_content.jinja2 HTML template with dark theme matching Airflow UI - Display task details (DAG, task, run ID, attempt, state, host) in structured grid - Conditional action buttons for View Log and Mark Success (Airflow 3.x safe) - Handle both task failure (ti context) and SLA missed context - Remove task-sdk templates and revert task_runner.py (email belongs in smtp provider) Closes apache#61667
839d94a to
ae6eeeb
Compare
jscheffl
left a comment
There was a problem hiding this comment.
Looks good for me, @amoghrajesh how about you?
|
@Fury0508 This PR has had no activity for 5 weeks. Converting to draft to signal that maintainer review is paused until you resume work. When you're ready to continue, please rebase onto the current Note: This comment was drafted by an AI-assisted triage tool and may contain mistakes. Once you have addressed the points above, an Apache Airflow maintainer — a real person — will take the next look at your PR. We use this two-stage triage process so that our maintainers' limited time is spent where it matters most: the conversation with you. |
|
@Fury0508 This draft PR has had no activity for 2 weeks. Closing to keep the queue clean. You are welcome to reopen and continue when you're ready. If you'd like to pick it back up, please rebase onto the current Note: This comment was drafted by an AI-assisted triage tool and may contain mistakes. Once you have addressed the points above, an Apache Airflow maintainer — a real person — will take the next look at your PR. We use this two-stage triage process so that our maintainers' limited time is spent where it matters most: the conversation with you. |
Improve default task failure email template for readability
Description
Replaces the default task failure email template to improve operator experience and mobile readability.
Problem:
Current default shows raw Python object dumps (UUIDs, repr(), internal fields), making it hard to quickly identify which DAG/task failed and find logs.
Solution:
Screenshots
Testing
Files Changed
closes: #61667
Was generative AI tooling used to co-author this PR?
Claude AI was used to:
task_runner.py)The contributor reviewed all code, tested the implementation, and validated against issue requirements.