Prefect 작업 실패 시 Jira 티켓 만들기

3751 단어 dataengineeringpython
Prefect는 Prefect 실행을 모니터링하고 관리할 수 있는 훌륭한 UI를 제공합니다. 그리고 아침에 노트북을 열어 보면 온통 녹색으로 보이는 것보다 더 좋은 것은 없습니다. 그러나 안타깝게도 항상 그런 것은 아니며 조직의 워크플로에 따라 다르지만 일반적으로 실행에서 문제를 해결하기 전에 Jira에서 버그 티켓을 만들어야 합니다. 작업에 jira_notifier를 통합하여 이를 자동화해 보겠습니다.

전제 조건



먼저 Jira API 토큰을 생성해야 합니다. this URL 을 따라 로그인한 다음 Create API token 버튼을 클릭하면 됩니다. 토큰을 기록하고 안전한 곳에 보관하십시오. 곧 필요할 것입니다.



다음으로 방금 만든 토큰, Jira 사용자 및 Jira 서버 URL을 Prefect에 전달해야 합니다. 이를 수행하는 한 가지 쉬운 방법은 Prefect 구성 파일( ~/.prefect/config.toml )에 다음을 추가하는 것입니다.

[context.secrets]
JIRASECRETS.JIRATOKEN = "thetokenyoucreated"
JIRASECRETS.JIRAUSER = "[email protected]"
JIRASECRETS.JIRASERVER = "https://xxx.atlassian.net"


Prefect 작업 구성



이제 Prefect 작업에 jira_notifier를 추가할 수 있습니다.

from prefect import Task
from prefect.utilities.notifications.jira_notification import jira_notifier
from prefect.engine.state import Failed

@task(
    name="jira_example_task",
    state_handlers=[
        jira_notifier(
            only_states=[Failed],
            options={"project": "DE", "issuetype": {"name": "Bug"}},
        )
    ],
)
def add(x, y):
    return x + y


이 예제 작업은 실행이 실패할 때 DE 프로젝트에서 Jira 버그 티켓을 생성합니다.
한 가지 명심해야 할 점은 선택한 이슈 유형이 이슈를 생성하는 프로젝트에서 사용할 수 있어야 한다는 것입니다. 예를 들어 상태를 Retrying로 변경하여 대신 Jira 작업 티켓을 생성할 수도 있습니다. . 다양한 상태에 대한 개요를 사용할 수 있습니다here.

생성된 티켓은 다음과 같습니다.

좋은 웹페이지 즐겨찾기