GitHub Actions를 사용하여 할 일 주석을 추적하는 방법
그러나 여기서 어디로 가야합니까? 할일 댓글을 작성하고 미래의 자신이 처리하도록 하세요!

이것이 최적의 솔루션이 아닐 수도 있지만 수정 사항이 너무 복잡하여 바로 구현할 수 없는 경우 반복적으로 내 브라우저로 전환하고 의미 있는 설명이 있는 문제를 생성하는 것이 상당히 산만해질 수 있으므로 여전히 정기적으로 todo 주석을 사용합니다.
Jira 문제와 동기화된 할 일 댓글을 유지하는 방법
그러나 이것은 문제를 가져옵니다. 이러한 할일은 Jira 보드와 분리되어 있으므로 스프린트를 계획할 때 고려하지 않았습니다.
코드의 주석을 Jira 문제와 수동으로 동기화하려면 상당한 노력이 필요합니다. 우리는 주기적으로 전체 코드베이스를 검토하고 새로운 할 일에 대한 문제를 생성해야 할 뿐만 아니라 해당 항목이 제거된 경우 문제와 할 일을 삭제해야 합니다.
대신 Jira 마켓플레이스에서 여러 GitHub 통합을 살펴보았지만 유사한 기능을 가진 기존 솔루션을 찾을 수 없었기 때문에 할일을 자동으로 추적하는 데 도움이 되는 GitHub Action을 구현하기로 결정했습니다.

구조에 대한 GitHub 작업
무언가가 메인 브랜치로 푸시될 때마다 Python 스크립트를 호출하여 어려운 작업을 수행하는 GitHub 워크플로가 트리거됩니다.
스크립트 자체는 다음 정규식을 사용하여 Python 파일에서 할 일 주석을 찾습니다.
pattern = r"(^[ \t]*#) TODO ?\[(LOWEST|LOW|MEDIUM|HIGH|HIGHEST|[A-Z]*?-[0-9]*?)\]:(.*$\n(\1 {2}.*$\n)*)"
걱정하지 마세요. 이 표현이 어떻게 작동하는지 자세히 설명하지는 않겠지만, 본질적으로 우리의 todo 주석이 특정 구문(대문자 TODO로 시작하는 주석은 대괄호 안에 우선 순위가 있고 콜론) 스크립트가 감지할 수 있도록 합니다.
문법적으로 올바른 할 일이 모두 발견되면 다음과 같이 처리됩니다.
새 할 일에 대한 문제 만들기: 새 코드가 저장소의 기본 분기에 병합될 때마다 스크립트는 모든 새 할 일을 감지하고 지정된 우선 순위와 설명으로 Jira 문제를 만듭니다. 생성된 문제에는 더 많은 컨텍스트를 위한 실제 댓글에 대한 github 링크가 포함되어 있으며 나중에 빠르게 찾을 수 있도록 별도의 레이블로 태그가 지정됩니다. 또한 생성된 이슈에 대한 참조를 포함하도록 댓글을 수정합니다. 이는 중복된 이슈 생성을 방지하는 데 사용될 뿐만 아니라 댓글을 발견하고 예를 들어 이미 작업 중인 사람이 있는지 확인하려는 경우 매우 유용합니다.
# before
# TODO [HIGH]: Do something very important here
# after
# TODO [ENG-123]: Do something very important here
자세한 내용에 관심이 있거나 프로젝트에 유사한 항목이 있는 경우 script 및 함께 제공되는 GitHub workflow 을 확인하십시오.
Michael Schuster는 ZenML의 기계 학습 엔지니어입니다.
Reference
이 문제에 관하여(GitHub Actions를 사용하여 할 일 주석을 추적하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/schustmi/how-we-track-our-todo-comments-using-github-actions-2bei텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)