Generated on: {{ timestamp }}

{% if groups %} {% for group in groups %}

Group {{ group.name }}

{{ group.projects|length }} project{% if group.projects|length != 1 %}s{% endif%}
{% if group.projects %} {% set error_projects = group.projects|selectattr("errors")|list|sort(attribute='name') %} {% set warning_projects = group.projects|selectattr("warnings")|list|sort(attribute='name') %} {% set success_projects = group.projects|rejectattr("errors")|rejectattr("warnings")|list|sort(attribute='name') %} {% if error_projects %}

❌ Errors ({{ error_projects|length }})

Click to expand/collapse
{% for project in error_projects %}
{% if project.project_name %}
{{ project.project_name }}
{% endif %}
{{ project.errors|length }} error{% if project.errors|length != 1 %}s{% endif %}
{% for error in project.errors %}
{% if error.url and error.url|trim and error.url|length > 0 %} ❌ Error: {{ error.message }} {% else %} ❌ Error: {{ error.message }} {% endif %}
{% endfor %}
{% endfor %}
{% endif %} {% if warning_projects %}

⚠️ Warnings ({{ warning_projects|length }})

Click to expand/collapse
{% for project in warning_projects %}
{% if project.project_name %}
{{ project.project_name }}
{% endif %}
{{ project.warnings|length }} warning{% if project.warnings|length != 1 %}s{% endif %}
{% for warning in project.warnings %}
{% if warning.url and warning.url|trim and warning.url|length > 0 %} ⚠️ Warning: {{ warning.message }} {% else %} ⚠️ Warning: {{ warning.message }} {% endif %}
{% endfor %}
{% endfor %}
{% endif %} {% if success_projects %}

✅ Success ({{ success_projects|length }})

Click to expand/collapse
{% for project in success_projects %}
{% if project.project_name %}
{{ project.project_name }}
{% endif %}
No issues
No warnings or errors detected.
{% endfor %}
{% endif %} {% else %}

No projects in this group

{% endif %}
{% endfor %} {% else %}

No groups or projects found

{% endif %}