code: def test_jira_notifier_templated(self, mock_jira_hook, dag_maker):
      with dag_maker("test_jira_notifier") as dag:
          EmptyOperator(task_id="task1")
  
      notifier = send_jira_notification(
          jira_conn_id="jira_default",
          project_id=10000,
          description="Test operator failed for dag: {{ dag.dag_id }}.",
          summary="Test Jira issue",
          issue_type_id=10003,
          labels=["airflow-dag-failure"],
      )
      notifier({"dag": dag})
      mock_jira_hook.return_value.create_issue.assert_called_once_with(
          dict(
              description="Test operator failed for dag: test_jira_notifier.",
              summary="Test Jira issue",
              project=dict(id=10000),
              issuetype=dict(id=10003),
              labels=["airflow-dag-failure"],
          )
      )
  
file_path: airflow/tests/providers/atlassian/jira/notifications/test_jira.py
imports: from __future__ import annotations
  from unittest import mock
  import pytest
  from airflow.operators.empty import EmptyOperator
  from airflow.providers.atlassian.jira.hooks.jira import JiraHook
  from airflow.providers.atlassian.jira.notifications.jira import JiraNotifier, send_jira_notification
label_desc: Use image node_id 3 for calling the TestJiraNotifier obj's underlying member method code with example usage: obj.test_jira_notifier_templated(mock_jira_hook, dag_maker) without return types