Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

문제 만들기 일정 계획

GitHub Actions를 사용하여 일일 회의 또는 분기별 검토 등에 대해 정기적으로 이슈를 만들 수 있습니다.

참고: GitHub 호스트 실행기는 현재 GitHub Enterprise Server에서 지원되지 않습니다. GitHub public roadmap에 예정된 향후 지원에 대해 자세히 알아볼 수 있습니다.

소개

이 자습서에서는 imjohnbo/issue-bot 작업을 사용하여 정기적으로 문제를 만드는 방법을 보여 줍니다. 예를 들어 매주 문제를 만들어 팀 모임의 어젠더로 사용할 수 있습니다.

자습서에서는 먼저 imjohnbo/issue-bot 작업을 사용하는 워크플로 파일을 만듭니다. 그런 다음 필요에 맞게 워크플로를 사용자 지정합니다.

워크플로 만들기

  1. 이 프로젝트 관리 워크플로를 적용할 리포지토리를 선택합니다. 쓰기 권한이 있는 기존 리포지토리를 사용하거나 새 리포지토리를 만들 수 있습니다. 리포지토리를 만드는 방법에 대한 자세한 내용은 “새 리포지토리 만들기”를 참조하세요.

  2. 리포지토리에서 YOUR_WORKFLOW를 선택한 이름으로 바꾸는 .github/workflows/YOUR_WORKFLOW.yml 파일을 만듭니다. 워크플로 파일입니다. GitHub에서 새 파일을 만드는 방법에 대한 자세한 내용은 “새 파일 만들기”를 참조하세요.

  3. 다음 YAML 콘텐츠를 워크플로 파일에 복사합니다.

    YAML
    # <a name="this-workflow-uses-actions-that-are-not-certified-by-github"></a>이 워크플로는 GitHub에서 인증되지 않은 작업을 사용합니다.
    # <a name="they-are-provided-by-a-third-party-and-are-governed-by"></a>작업은 타사에서 제공하며
    # <a name="separate-terms-of-service-privacy-policy-and-support"></a>별도의 서비스 약관, 개인정보처리방침, 지원 설명서에서 규정됩니다.
    # <a name="documentation"></a>참조하세요.
    
    # <a name="github-recommends-pinning-actions-to-a-commit-sha"></a>커밋 SHA에 작업을 고정하는 것이 좋습니다.
    # <a name="to-get-a-newer-version-you-will-need-to-update-the-sha"></a>최신 버전을 얻으려면 SHA를 업데이트해야 합니다.
    # <a name="you-can-also-reference-a-tag-or-branch-but-the-action-may-change-without-warning"></a>태그 또는 분기를 참조할 수도 있지만 경고 없이 작업이 변경될 수 있습니다.
    
    name: Weekly Team Sync
    on:
      schedule:
        - cron: 20 07 * * 1
    
    jobs:
      create_issue:
        name: Create team sync issue
        runs-on: ubuntu-latest
        permissions:
          issues: write
        steps:
          - name: Create team sync issue
            uses: imjohnbo/issue-bot@3daae12aa54d38685d7ff8459fc8a2aee8cea98b
            with:
              assignees: "monalisa, doctocat, hubot"
              labels: "weekly sync, docs-team"
              title: "Team sync"
              body: |
                ### Agenda
    
                - [ ] Start the recording
                - [ ] Check-ins
                - [ ] Discussion points
                - [ ] Post the recording
                        
                ### Discussion Points
                Add things to discuss below
    
                - [Work this week](https://github.com/orgs/github/projects/3)
              pinned: false
              close-previous: false
            env:
              GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  4. 워크플로 파일에서 매개 변수를 사용자 지정합니다.

    • on.schedule 값을 변경하여 이 워크플로를 실행할 시기를 지시합니다. 위의 예제에서 워크플로는 매주 월요일 7:20 UTC에 실행됩니다. 예약된 워크플로에 대한 자세한 내용은 “예약된 이벤트”를 참조하세요.
    • assignees의 값을 문제에 할당하려는 GitHub 사용자 이름 목록으로 바꿉니다.
    • labels 값을 이슈에 적용할 레이블 목록으로 변경합니다.
    • title의 값을 문제에 포함할 제목으로 변경합니다.
    • body의 값을 문제 본문에 원하는 텍스트로 변경합니다. | 문자를 사용하면 이 매개 변수에 여러 줄 값을 사용할 수 있습니다.
    • 이 문제를 리포지토리에 고정하려면 pinnedtrue로 설정하십시오. 고정된 문제에 대한 자세한 내용은 “리포지토리에 문제 고정”을 참조하세요.
    • 새 문제가 생성될 때마다 이 워크플로에서 생성된 이전 문제를 닫으려면 close-previoustrue로 설정합니다. 워크플로는 labels 필드에 레이블이 정의된 가장 최근 문제를 닫습니다. 잘못된 문제를 닫지 않도록 하려면 고유한 레이블 또는 레이블 조합을 사용합니다.
  5. 워크플로 파일을 리포지토리의 기본 분기에 커밋합니다. 자세한 내용은 “새 파일 만들기”를 참조하세요.

예상 결과

schedule 매개 변수(예: 매주 월요일 UTC 7:20)에 따라 워크플로는 지정한 담당자, 레이블, 제목, 본문으로 새 문제를 만듭니다. pinnedtrue로 설정하면 워크플로가 문제를 리포지토리에 고정합니다. close-previous를 true로 설정하면 워크플로에서 레이블이 일치하는 가장 최근 문제를 닫습니다.

참고: GitHub Actions 워크플로가 실행되는 로드가 많은 기간 동안 schedule 이벤트가 지연될 수 있습니다. 높은 로드 시간에는 매 시간의 시작이 포함됩니다. 지연 가능성을 줄이려면 워크플로가 다른 시간에 실행되도록 예약합니다.

워크플로 실행 기록을 보고 이 워크플로 실행을 주기적으로 확인할 수 있습니다. 자세한 내용은 “워크플로 실행 기록 보기”를 참조하세요.

다음 단계

  • 담당자 순환 또는 문제 템플릿 사용과 같이 imjohnbo/issue-bot 작업으로 수행할 수 있는 추가 작업에 대한 자세한 내용은 imjohnbo/issue-bot 작업 문서를 참조하세요.
  • GitHub 검색을 통해 이 작업을 사용하는 워크플로의 예제를 확인합니다.