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

카드가 프로젝트 보드 열에 추가되면 레이블 제거

GitHub Actions을(를) 사용하여 클래식 프로젝트의 특정 열에 문제 또는 끌어오기 요청이 추가되면 레이블을 자동으로 제거할 수 있습니다.

소개

이 자습서에서는 조건부와 함께 작업을 사용하여 actions/github-script 클래식 프로젝트의 특정 열에 추가된 문제 및 끌어오기 요청에서 레이블을 제거하는 방법을 보여 줍니다. 예를 들어 프로젝트 카드를 Done 열로 이동할 때 needs review 레이블을 제거할 수 있습니다.

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

워크플로 만들기

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

  2. 리포지토리에 속하는 클래식 프로젝트을(를) 선택합니다. 이 워크플로는 사용자 또는 조직에 속한 프로젝트에서 사용할 수 없습니다. 기존 클래식 프로젝트을(를) 사용하거나 새 클래식 프로젝트을(를) 만들 수 있습니다. 프로젝트 만들기에 대한 자세한 내용은 "project (classic) 만들기"을 참조하세요.

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

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

    YAML
    name: Remove a label
    on:
      project_card:
        types:
          - moved
    jobs:
      remove_label:
        if: github.event.project_card.column_id == '12345678'
        runs-on: ubuntu-latest
        permissions:
          issues: write
          pull-requests: write
        steps:
          - uses: actions/github-script@v6
            with:
              script: |
                // this gets the number at the end of the content URL, which should be the issue/PR number
                const issue_num = context.payload.project_card.content_url.split('/').pop()
                github.rest.issues.removeLabel({
                  issue_number: issue_num,
                  owner: context.repo.owner,
                  repo: context.repo.repo,
                  name: ["needs review"]
                })
  5. 워크플로 파일에서 매개 변수를 사용자 지정합니다.

    • github.event.project_card.column_id == '12345678'에서 12345678를 해당 위치로 이동된 문제 및 끌어오기 요청의 레이블을 해제하려는 열의 ID로 바꿉니다.

      열 ID를 찾으려면 클래식 프로젝트(으)로 이동합니다. 열 제목 옆에 있는 을 클릭한 다음 열 복사 링크를 클릭합니다. 열 ID는 복사된 링크의 끝에 있는 숫자입니다. 예를 들어 24687531https://github.com/octocat/octo-repo/projects/1#column-24687531의 열 ID입니다.

      둘 이상의 레이블에 대해 작업하려면 조건을 ||로 구분합니다. 예를 들어 if github.event.project_card.column_id == '12345678' || github.event.project_card.column_id == '87654321'은 프로젝트 카드가 12345678 열 또는 87654321 열에 추가될 때마다 작동합니다. 열은 다른 프로젝트 보드에 있을 수 있습니다.

    • 함수의 github.rest.issues.removeLabel() 값을 name 지정된 열로 이동된 문제 또는 끌어오기 요청에서 제거할 레이블의 이름으로 변경합니다. 레이블에 대한 자세한 내용은 "레이블 관리"을 참조하세요.

  6. 워크플로 파일을 리포지토리의 기본 분기에 커밋합니다. 자세한 내용은 "새 파일 만들기"을 참조하세요.

워크플로 테스트

리포지토리의 클래식 프로젝트에 있는 프로젝트 카드가 이동할 때마다 이 워크플로가 실행됩니다. 카드가 문제 또는 끌어오기 요청이고 지정한 열로 이동된 경우 워크플로는 문제 또는 끌어오기 요청에서 지정된 레이블을 제거합니다. 메모인 카드는 영향을 받지 않습니다.

클래식 프로젝트의 문제를 대상 열로 이동하여 워크플로를 테스트합니다.

  1. 리포지토리에서 이슈를 엽니다. 자세한 내용은 "문제 만들기"을 참조하세요.
  2. 워크플로를 제거할 레이블과 관련된 문제에 레이블을 지정합니다. 자세한 내용은 "레이블 관리"을 참조하세요.
  3. 워크플로 파일에 지정한 클래식 프로젝트 열에 문제를 추가합니다. 자세한 내용은 "자세한 내용은 project (classic)에 이슈 및 끌어오기 요청 추가를 참조하세요."을 참조하세요.
  4. 프로젝트에 문제를 추가하여 트리거된 워크플로 실행을 보려면 워크플로 실행 기록을 확인합니다. 자세한 내용은 "워크플로 실행 기록 보기"을 참조하세요.
  5. 워크플로가 완료되면 프로젝트 열에 추가한 문제에 지정된 레이블이 제거되어야 합니다.

다음 단계