Change

Time
2026-05-31 20:29:17
User
York-Simon Johannsen (YoSiJo)
Action
Updated
Object type
Extras | webhook
Object
Message
Request ID

Difference

{
    "body_template": "{%- set ns = namespace(has_failures=false, body_lines=[]) -%}\r\n\r\n{# Titel und Einleitung vorbereiten #}\r\n{%- set report_name = data.name | default(\"PlatformReport\") -%}\r\n{%- do ns.body_lines.append(\"# ❌ NetBox Report: Fehlgeschlagene Checks in \" ~ report_name) -%}\r\n{%- do ns.body_lines.append(\"[BR]## Der Report \" ~ report_name ~ \" wurde von \" ~ (username | default('YoSiJo')) ~ \" ausgefuehrt.\") -%}\r\n{%- do ns.body_lines.append(\"[BR]### Log:\") -%}\r\n\r\n{# 1. Suche in NetBox v4 Report-Tests #}\r\n{%- if data is defined and data.tests is defined -%}\r\n  {%- for test_name, test_results in data.tests.items() -%}\r\n    {%- if test_results.failure and test_results.log -%}\r\n      {# Prüfen, ob in diesem Test überhaupt Fehler existieren, um leere Überschriften zu vermeiden #}\r\n      {%- set test_has_errors = namespace(valid=false) -%}(1.3.2)\r\n      {%- for log_entry in test_results.log -%}\r\n        {%- if log_entry[1] == 'failure' or log_entry[1] == 'failed' -%}\r\n          {%- set test_has_errors.valid = true -%}\r\n          {%- set ns.has_failures = true -%}\r\n        {%- endif -%}\r\n      {%- endfor -%}\r\n\r\n      {%- if test_has_errors.valid -%}\r\n        {%- do ns.body_lines.append(\"[BR]#### \" ~ test_name) -%}\r\n        {%- for log_entry in test_results.log -%}\r\n          {%- if log_entry[1] == 'failure' or log_entry[1] == 'failed' -%}\r\n            {%- set clean_path = log_entry[3] if log_entry[3].startswith('/') else '/' ~ log_entry[3] -%}\r\n            {%- set target_url = \"https://netbox.anoxinon.de\" ~ clean_path -%}\r\n            {%- do ns.body_lines.append(\"[BR]- Name: \" ~ log_entry[2]) -%}\r\n            {%- do ns.body_lines.append(\"  Meldung: \" ~ log_entry[4]) -%}\r\n            {%- do ns.body_lines.append(\"  URL: \" ~ target_url) -%}\r\n          {%- endif -%}\r\n        {%- endfor -%}\r\n      {%- endif -%}\r\n    {%- endif -%}\r\n  {%- endfor -%}\r\n{%- endif -%}\r\n\r\n{# 2. Fallback für klassische Script-Logs #}\r\n{%- if data is defined and data.result is defined and data.result.log is defined -%}\r\n  {%- set script_has_errors = namespace(valid=false) -%}(1.3.2)\r\n  {%- for log in data.result.log -%}\r\n    {%- if log.status == 'failure' or log.status == 'failed' -%}\r\n      {%- set script_has_errors.valid = true -%}\r\n      {%- set ns.has_failures = true -%}\r\n    {%- endif -%}\r\n  {%- endfor -%}\r\n\r\n  {%- if script_has_errors.valid -%}\r\n    {%- do ns.body_lines.append(\"[BR]#### Allgemeines Script Log\") -%}\r\n    {%- for log in data.result.log -%}\r\n      {%- if log.status == 'failure' or log.status == 'failed' -%}\r\n        {%- set clean_path = log.obj.get_absolute_url() if log.obj else '' -%}\r\n        {%- set target_url = \"https://netbox.anoxinon.de\" ~ clean_path if clean_path else \"https://netbox.anoxinon.de\" -%}\r\n        {%- do ns.body_lines.append(\"[BR]- Name: \" ~ (log.obj.name | default('Allgemein'))) -%}\r\n        {%- do ns.body_lines.append(\"  Meldung: \" ~ log.message) -%}\r\n        {%- do ns.body_lines.append(\"  URL: \" ~ target_url) -%}\r\n      {%- endif -%}\r\n    {%- endfor -%}\r\n  {%- endif -%}\r\n{%- endif -%}\r\n\r\n{\r\n  \"urls\": \"{%- if ns.has_failures -%}xmpps://netbox:{{ '' | xmpp_apprise_password }}@anoxinon.me/yosijo{%- endif -%}\",\r\n  \"title\": \"❌ NetBox Report: Fehlgeschlagene Checks in {{ report_name }}\",\r\n  \"body\": \"{{ ns.body_lines | join('\\\\n').replace('[BR]', '') }}\"\r\n}"
}
{
    "body_template": "{%- set ns = namespace(has_failures=false, body=\"\") -%}\r\n\r\n{# Titel und Einleitung vorbereiten #}\r\n{%- set report_name = data.name | default(\"PlatformReport\") -%}\r\n{%- set ns.body = \"# ❌ NetBox Report: Fehlgeschlagene Checks in \" ~ report_name ~ \"[BR]## Der Report \" ~ report_name ~ \" wurde von \" ~ (username | default('YoSiJo')) ~ \" ausgefuehrt.[BR]### Log:\" -%}\r\n\r\n{# 1. Suche in NetBox v4 Report-Tests #}\r\n{%- if data is defined and data.tests is defined -%}\r\n  {%- for test_name, test_results in data.tests.items() -%}\r\n    {%- if test_results.failure and test_results.log -%}\r\n      \r\n      {# Prüfen, ob in diesem Test überhaupt Fehler existieren #}\r\n      {%- set test_has_errors = namespace(valid=false) -%}\r\n      {%- for log_entry in test_results.log -%}\r\n        {%- if log_entry[1] == 'failure' or log_entry[1] == 'failed' -%}\r\n          {%- set test_has_errors.valid = true -%}\r\n          {%- set ns.has_failures = true -%}\r\n        {%- endif -%}\r\n      {%- endfor -%}\r\n\r\n      {%- if test_has_errors.valid -%}\r\n        {%- set ns.body = ns.body ~ \"[BR][BR]#### \" ~ test_name -%}\r\n        {%- for log_entry in test_results.log -%}\r\n          {%- if log_entry[1] == 'failure' or log_entry[1] == 'failed' -%}\r\n            {%- set clean_path = log_entry[3] if log_entry[3].startswith('/') else '/' ~ log_entry[3] -%}\r\n            {%- set target_url = \"https://anoxinon.de\" ~ clean_path -%}\r\n            {%- set ns.body = ns.body ~ \"[BR]- Name: \" ~ log_entry[2] ~ \"[BR]  Meldung: \" ~ log_entry[4] ~ \"[BR]  URL: \" ~ target_url -%}\r\n          {%- endif -%}\r\n        {%- endfor -%}\r\n      {%- endif -%}\r\n\r\n    {%- endif -%}\r\n  {%- endfor -%}\r\n{%- endif -%}\r\n\r\n{# 2. Fallback für klassische Script-Logs #}\r\n{%- if data is defined and data.result is defined and data.result.log is defined -%}\r\n  {%- set script_has_errors = namespace(valid=false) -%}\r\n  {%- for log in data.result.log -%}\r\n    {%- if log.status == 'failure' or log.status == 'failed' -%}\r\n      {%- set script_has_errors.valid = true -%}\r\n      {%- set ns.has_failures = true -%}\r\n    {%- endif -%}\r\n  {%- endfor -%}\r\n\r\n  {%- if script_has_errors.valid -%}\r\n    {%- set ns.body = ns.body ~ \"[BR][BR]#### Allgemeines Script Log\" -%}\r\n    {%- for log in data.result.log -%}\r\n      {%- if log.status == 'failure' or log.status == 'failed' -%}\r\n        {%- set clean_path = log.obj.get_absolute_url() if log.obj else '' -%}\r\n        {%- set target_url = \"https://anoxinon.de\" ~ clean_path if clean_path else \"https://anoxinon.de\" -%}\r\n        {%- set ns.body = ns.body ~ \"[BR]- Name: \" ~ (log.obj.name | default('Allgemein')) ~ \"[BR]  Meldung: \" ~ log.message ~ \"[BR]  URL: \" ~ target_url -%}\r\n      {%- endif -%}\r\n    {%- endfor -%}\r\n  {%- endif -%}\r\n{%- endif -%}\r\n\r\n{\r\n  \"urls\": \"{%- if ns.has_failures -%}xmpps://netbox:{{ '' | xmpp_apprise_password }}@anoxinon.me/yosijo{%- endif -%}\",\r\n  \"title\": \"❌ NetBox Report: Fehlgeschlagene Checks in {{ report_name }}\",\r\n  \"body\": \"{{ ns.body.replace('[BR]', '\\\\n') }}\"\r\n}"
}

Pre-Change Data

name: "XMPP YoSiJo - Reports"tags: []owner: 1secret: ""description: "xmpps://netbox@anoxinon.me/yosijo"http_method: "POST"payload_url: "https://apprise-api.stage.anoxinon.de/notify/"ca_file_path: nullbody_template: "{%- set ns = namespace(has_failures=false, body_lines=[]) -%}\r\n\r\n{# Titel und Einleitung vorbereiten #}\r\n{%- set report_name = data.name | default(\"PlatformReport\") -%}\r\n{%- do ns.body_lines.append(\"# ❌ NetBox Report: Fehlgeschlagene Checks in \" ~ report_name) -%}\r\n{%- do ns.body_lines.append(\"[BR]## Der Report \" ~ report_name ~ \" wurde von \" ~ (username | default('YoSiJo')) ~ \" ausgefuehrt.\") -%}\r\n{%- do ns.body_lines.append(\"[BR]### Log:\") -%}\r\n\r\n{# 1. Suche in NetBox v4 Report-Tests #}\r\n{%- if data is defined and data.tests is defined -%}\r\n  {%- for test_name, test_results in data.tests.items() -%}\r\n    {%- if test_results.failure and test_results.log -%}\r\n      {# Prüfen, ob in diesem Test überhaupt Fehler existieren, um leere Überschriften zu vermeiden #}\r\n      {%- set test_has_errors = namespace(valid=false) -%}(1.3.2)\r\n      {%- for log_entry in test_results.log -%}\r\n        {%- if log_entry[1] == 'failure' or log_entry[1] == 'failed' -%}\r\n          {%- set test_has_errors.valid = true -%}\r\n          {%- set ns.has_failures = true -%}\r\n        {%- endif -%}\r\n      {%- endfor -%}\r\n\r\n      {%- if test_has_errors.valid -%}\r\n        {%- do ns.body_lines.append(\"[BR]#### \" ~ test_name) -%}\r\n        {%- for log_entry in test_results.log -%}\r\n          {%- if log_entry[1] == 'failure' or log_entry[1] == 'failed' -%}\r\n            {%- set clean_path = log_entry[3] if log_entry[3].startswith('/') else '/' ~ log_entry[3] -%}\r\n            {%- set target_url = \"https://netbox.anoxinon.de\" ~ clean_path -%}\r\n            {%- do ns.body_lines.append(\"[BR]- Name: \" ~ log_entry[2]) -%}\r\n            {%- do ns.body_lines.append(\"  Meldung: \" ~ log_entry[4]) -%}\r\n            {%- do ns.body_lines.append(\"  URL: \" ~ target_url) -%}\r\n          {%- endif -%}\r\n        {%- endfor -%}\r\n      {%- endif -%}\r\n    {%- endif -%}\r\n  {%- endfor -%}\r\n{%- endif -%}\r\n\r\n{# 2. Fallback für klassische Script-Logs #}\r\n{%- if data is defined and data.result is defined and data.result.log is defined -%}\r\n  {%- set script_has_errors = namespace(valid=false) -%}(1.3.2)\r\n  {%- for log in data.result.log -%}\r\n    {%- if log.status == 'failure' or log.status == 'failed' -%}\r\n      {%- set script_has_errors.valid = true -%}\r\n      {%- set ns.has_failures = true -%}\r\n    {%- endif -%}\r\n  {%- endfor -%}\r\n\r\n  {%- if script_has_errors.valid -%}\r\n    {%- do ns.body_lines.append(\"[BR]#### Allgemeines Script Log\") -%}\r\n    {%- for log in data.result.log -%}\r\n      {%- if log.status == 'failure' or log.status == 'failed' -%}\r\n        {%- set clean_path = log.obj.get_absolute_url() if log.obj else '' -%}\r\n        {%- set target_url = \"https://netbox.anoxinon.de\" ~ clean_path if clean_path else \"https://netbox.anoxinon.de\" -%}\r\n        {%- do ns.body_lines.append(\"[BR]- Name: \" ~ (log.obj.name | default('Allgemein'))) -%}\r\n        {%- do ns.body_lines.append(\"  Meldung: \" ~ log.message) -%}\r\n        {%- do ns.body_lines.append(\"  URL: \" ~ target_url) -%}\r\n      {%- endif -%}\r\n    {%- endfor -%}\r\n  {%- endif -%}\r\n{%- endif -%}\r\n\r\n{\r\n  \"urls\": \"{%- if ns.has_failures -%}xmpps://netbox:{{ '' | xmpp_apprise_password }}@anoxinon.me/yosijo{%- endif -%}\",\r\n  \"title\": \"❌ NetBox Report: Fehlgeschlagene Checks in {{ report_name }}\",\r\n  \"body\": \"{{ ns.body_lines | join('\\\\n').replace('[BR]', '') }}\"\r\n}"custom_fields: {}ssl_verification: truehttp_content_type: "application/json"additional_headers: ""

Post-Change Data

name: "XMPP YoSiJo - Reports"tags: []owner: 1secret: ""description: "xmpps://netbox@anoxinon.me/yosijo"http_method: "POST"payload_url: "https://apprise-api.stage.anoxinon.de/notify/"ca_file_path: nullbody_template: "{%- set ns = namespace(has_failures=false, body=\"\") -%}\r\n\r\n{# Titel und Einleitung vorbereiten #}\r\n{%- set report_name = data.name | default(\"PlatformReport\") -%}\r\n{%- set ns.body = \"# ❌ NetBox Report: Fehlgeschlagene Checks in \" ~ report_name ~ \"[BR]## Der Report \" ~ report_name ~ \" wurde von \" ~ (username | default('YoSiJo')) ~ \" ausgefuehrt.[BR]### Log:\" -%}\r\n\r\n{# 1. Suche in NetBox v4 Report-Tests #}\r\n{%- if data is defined and data.tests is defined -%}\r\n  {%- for test_name, test_results in data.tests.items() -%}\r\n    {%- if test_results.failure and test_results.log -%}\r\n      \r\n      {# Prüfen, ob in diesem Test überhaupt Fehler existieren #}\r\n      {%- set test_has_errors = namespace(valid=false) -%}\r\n      {%- for log_entry in test_results.log -%}\r\n        {%- if log_entry[1] == 'failure' or log_entry[1] == 'failed' -%}\r\n          {%- set test_has_errors.valid = true -%}\r\n          {%- set ns.has_failures = true -%}\r\n        {%- endif -%}\r\n      {%- endfor -%}\r\n\r\n      {%- if test_has_errors.valid -%}\r\n        {%- set ns.body = ns.body ~ \"[BR][BR]#### \" ~ test_name -%}\r\n        {%- for log_entry in test_results.log -%}\r\n          {%- if log_entry[1] == 'failure' or log_entry[1] == 'failed' -%}\r\n            {%- set clean_path = log_entry[3] if log_entry[3].startswith('/') else '/' ~ log_entry[3] -%}\r\n            {%- set target_url = \"https://anoxinon.de\" ~ clean_path -%}\r\n            {%- set ns.body = ns.body ~ \"[BR]- Name: \" ~ log_entry[2] ~ \"[BR]  Meldung: \" ~ log_entry[4] ~ \"[BR]  URL: \" ~ target_url -%}\r\n          {%- endif -%}\r\n        {%- endfor -%}\r\n      {%- endif -%}\r\n\r\n    {%- endif -%}\r\n  {%- endfor -%}\r\n{%- endif -%}\r\n\r\n{# 2. Fallback für klassische Script-Logs #}\r\n{%- if data is defined and data.result is defined and data.result.log is defined -%}\r\n  {%- set script_has_errors = namespace(valid=false) -%}\r\n  {%- for log in data.result.log -%}\r\n    {%- if log.status == 'failure' or log.status == 'failed' -%}\r\n      {%- set script_has_errors.valid = true -%}\r\n      {%- set ns.has_failures = true -%}\r\n    {%- endif -%}\r\n  {%- endfor -%}\r\n\r\n  {%- if script_has_errors.valid -%}\r\n    {%- set ns.body = ns.body ~ \"[BR][BR]#### Allgemeines Script Log\" -%}\r\n    {%- for log in data.result.log -%}\r\n      {%- if log.status == 'failure' or log.status == 'failed' -%}\r\n        {%- set clean_path = log.obj.get_absolute_url() if log.obj else '' -%}\r\n        {%- set target_url = \"https://anoxinon.de\" ~ clean_path if clean_path else \"https://anoxinon.de\" -%}\r\n        {%- set ns.body = ns.body ~ \"[BR]- Name: \" ~ (log.obj.name | default('Allgemein')) ~ \"[BR]  Meldung: \" ~ log.message ~ \"[BR]  URL: \" ~ target_url -%}\r\n      {%- endif -%}\r\n    {%- endfor -%}\r\n  {%- endif -%}\r\n{%- endif -%}\r\n\r\n{\r\n  \"urls\": \"{%- if ns.has_failures -%}xmpps://netbox:{{ '' | xmpp_apprise_password }}@anoxinon.me/yosijo{%- endif -%}\",\r\n  \"title\": \"❌ NetBox Report: Fehlgeschlagene Checks in {{ report_name }}\",\r\n  \"body\": \"{{ ns.body.replace('[BR]', '\\\\n') }}\"\r\n}"custom_fields: {}ssl_verification: truehttp_content_type: "application/json"additional_headers: ""
Documents
None

Related Changes

None