airflow - Airflow 2.1 JiraTicketSensor DuplicateTaskId 如果指定了method_name
问题描述
我一直在尝试使用 Jira Operator 从 Airflow 创建票证并使用 JiraTicketSensor 检查票证是否已解决。创建任务工作正常,但我无法让传感器工作。
如果我不提供 method_name,我会收到一个错误,如果我将它提供为 None,我会收到一个错误,指出任务 ID 已添加到 DAG。
我在 2.0.0 上运行 Airflow 2.1 和 apache-airflow-providers-jira 包。
任何有关如何解决此问题的帮助将不胜感激。您可以在下面找到 DAG 的代码:
from airflow.providers.jira.operators.jira import JiraOperator
from airflow.providers.jira.sensors.jira import JiraTicketSensor
from airflow.utils.dates import days_ago
from airflow import DAG
issue_dict = {
'project': {'id': 101},
'summary': 'Confirmation required (TEST)',
'description': 'Test for creating tickets from airflow',
'issuetype': {'name': 'Task'},
}
extract_issue_key = lambda _, issue: issue.id
default_args = {
'start_date': days_ago(1)
}
with DAG(
dag_id='create_jira_ticket',
default_args=default_args,
schedule_interval='@daily',
catchup=False) as dag:
create_jira_issue = JiraOperator(
task_id='get_human_approval',
jira_conn_id='kg_jira',
jira_method='create_issue',
jira_method_args=issue_dict,
result_processor=extract_issue_key
)
sensor = JiraTicketSensor(
task_id='check_if_approved',
jira_conn_id='kg_jira',
ticket_id="{{ task_instance.xcom.pull('get_human_approval', key='return_value') }}",
field='status',
expected_value='Done'
)
create_jira_issue >> sensor
解决方案
推荐阅读
- python - Python 中是否有用于在 Windows 10 上即时关闭的命令?
- java - 如何在java中使用 glrotate 只旋转一个对象
- xml - 在 XML 中使用非默认命名空间时,每个标签都应该有一个前缀吗?
- c++ - 使用 TlHelp32 库时,如何将正在运行的进程列表打印到控制台?
- java - 休眠异常无法加载类“org.slf4j.impl.StaticLoggerBinder”
- ios - 在 SwiftUI 中为数据字典发出读取值
- ssh - 无法连接到端口 22,连接超时
- python - 在python中打印给定范围内每个数字的素数之和
- vb.net - FlowLayoutPanel 清除后不显示多个控件
- javascript - 自定义标头未与 axios 实例标头合并