From 7c9a9707d197c23d2ba0cb238518b0a21b1c25cd Mon Sep 17 00:00:00 2001 From: Evgeni Golov Date: Sat, 31 Dec 2022 11:46:59 +0100 Subject: [PATCH] name[template]: only trigger on word characters after the template (#2836) This allows tasks being called like Do the thing with '{{ template }}' Which makes the task name better readable if `template` contains spaces --- examples/playbooks/rule-name-templated-fail.yml | 3 +++ src/ansiblelint/rules/name.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/examples/playbooks/rule-name-templated-fail.yml b/examples/playbooks/rule-name-templated-fail.yml index 1a089912fe..8a4f1562b9 100644 --- a/examples/playbooks/rule-name-templated-fail.yml +++ b/examples/playbooks/rule-name-templated-fail.yml @@ -8,3 +8,6 @@ - name: This task is correctly templated {{ sampleService }} ansible.builtin.command: echo "Hello World" changed_when: false + - name: This task is correctly templated '{{ sampleService }}' + ansible.builtin.command: echo "Hello World" + changed_when: false diff --git a/src/ansiblelint/rules/name.py b/src/ansiblelint/rules/name.py index 3b2130c271..f6e82e08bb 100644 --- a/src/ansiblelint/rules/name.py +++ b/src/ansiblelint/rules/name.py @@ -25,7 +25,7 @@ class NameRule(AnsibleLintRule): severity = "MEDIUM" tags = ["idiom"] version_added = "v6.9.1 (last update)" - _re_templated_inside = re.compile(r".*\{\{.*\}\}(.+)$") + _re_templated_inside = re.compile(r".*\{\{.*\}\}.*\w.*$") def matchplay(self, file: Lintable, data: dict[str, Any]) -> list[MatchError]: """Return matches found for a specific play (entry in playbook)."""