GitHub, 자동 문제 조정용 봇 출시

발행자 프로젝트의 일환으로 자동 중재 작업을 해결하는 GitHub 용 봇이 준비되었습니다. GitHub의 추적 시스템. GitHub에서는 Issue 시스템을 통해 사람들을 조정하는 기능이 유일한 리포지토리를 찾을 수 있습니다.

그들 중 일부에서는 문제를 종료 할 때 양식을 작성해야합니다., 나는 보았다중재자, 양식 작성의 정확성 확인 및 태그 게시 양식에 지정된 항목에 따라 (태그는 템플릿에 지정되지 않은 경우 권한이있는 사용자 만 중단 할 수 있음) 이러한 커뮤니티의 예로는 오픈 소스 아이디어 커뮤니티가 있습니다.

중재자는 즉시 오지 않습니다. 따라서, 뉴스에 소개 된 GitHub 작업은 양식의 유효성을 검사하고 작업을 수행하기 위해 준비되었습니다.

봇은 Python으로 작성되었습니다.하지만 GitHub에는 node.js와 docker의 두 가지 유형의 작업 만 있으므로 node.js를 통해 실행해야합니다. docker의 경우 먼저 node.js와 동일한 컨테이너가로드되고 다른 컨테이너에로드됩니다. 길다.

python3 및 필요한 모든 것이 node.js가있는 컨테이너에 있다는 점을 고려하면 종속성이 작기 때문에 여기에 종속성을로드하는 것이 합리적입니다.

문제 관리를 위해 3 가지 기능이 연결된 GitHub 작업입니다.

들어오는 문제가 어떤 식 으로든 템플릿과 일치하는지 확인하십시오.

섹션에 기본 템플릿의 행이 포함되어 있지 않음 (일반적으로 사용자가 섹션을 완료 할 필요가 없을 때 표시됨).

레이블로 설정할 확인란이 포함 된 섹션에는 원본 템플릿에있는 확인란 만 포함됩니다.

각 섹션에는 [최소, 최대] 범위에 표시된 여러 상자가 있습니다.

체크 박스에 따라 라벨을 설정합니다.

작성자가 일정 시간 내에 linter가 강조한 문제를 수정하지 않은 경우 자동으로 문제를 닫습니다.

사용자가 "셀프 서비스"를 할 수 있도록하는 것이 가장 좋기 때문에 전담 직원을 사용하여 레이블을 할당하는 것은 부담이됩니다. 사용자는 마크 다운 확장 및 확인란을 통해 수행 할 수있는 제한된 하위 집합의 문제에 일부 레이블을 할당 할 수 있습니다.

그것으로 사용자가 체크 박스를 체크 할 때 또는 라디오 버튼 봇은 그에 따라 라벨을 설정합니다.

눈에 띄는 특성의 준비된이 봇의 다음은 다음과 같습니다.

  • 작업은 YAML 설정에 의해 제어됩니다. 및 Markdown 템플릿;
  • 각 마크 다운 템플릿에 블록이 추가됩니다. 양식을 올바르게 채우고 원하는 조치를 취하기위한 조건을 설명합니다.
  • 전역 설정이있는 구성 파일이 추가됩니다.
  • 양식은 섹션으로 구성됩니다.
  • 섹션에는 두 가지 유형이 있습니다.
    무료 문자: 이 작업은 사용자가 무언가를 완료하려고했는지 확인할 수 있습니다. 텍스트의 의미는 자동으로 확인되지 않습니다.
    확인란에서 n 개의 플래그를 요청 및 / 또는 완료 할 수 있으므로 0 {= m1 {= n {= m2 {= 섹션의 총 플래그 수입니다.
  • 이 작업은 상자가 템플릿의 상자와 일치하는지 확인합니다.. 플래그가 올바르게 설정되어 있으면 작업이 문제 태그에서 중단 될 수 있습니다. 체크 박스.
  • 양식이 잘못 완성 된 경우 작업은 사용자에게 양식을 올바르게 완료하는 방법을 지시하고 특수 태그를 추가합니다.
  • 특정 시간 내에 양식이 수정되지 않으면 조치로 문제가 종결 될 수 있습니다. 자동 사용자 금지, 제거 및 문제 재배치는 필요한 작업에 대한 공식 API가 부족하고 저장 상태 문제로 인해 아직 구현되지 않았습니다.
  • 문제가 해결되면 조치가 표시를 제거합니다.
  • 물론 작업 템플릿에 대한 응답은 사용자 정의 할 수 있습니다.

최종적으로 그것에 대해 더 많이 알고 싶다면, 당신은 이동하여 세부 사항을 확인할 수 있습니다 다음 링크.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.