GitHub에서 issue를 등록할 때 자동으로 프로젝트 지정

5541 단어 GitHub
GitHub에서 issue를 등록할 때 매번 프로젝트 지정을 수동으로 하는 것이 번거롭기 때문에 자동으로 설정하는 방법을 정리했습니다. 구그라고 보면 GitHub Actions 를 사용한 방법이 많았지만, 이 방법에서는 GitHub Actions 를 이용하지 않습니다.

↑하고 싶은 일

템플릿 기능으로 할 수 없습니까?


GitHub에는 Issue 또는 Pull Request를 만들 때 사용할 수 있는 템플릿 기능이 있습니다.
assignees 와 labels 는 이하와 같이 템플릿으로 지정할 수 있으므로 projects 도 지정할 수 있게 되었으면 좋겠습니다만, 이 기사의 집필 시점에서는 그러한 사양은 없는 것 같습니다. 이쪽이 대응되면 이 기사의 방법은 채취하지 않아도 좋다고 생각합니다.

.github/ISSUE_TEMPLATE/issue.md
---
name: 🐞 Bug
about: File a bug/issue
title: '[BUG] <title>'
labels: Bug, Needs Triage
assignees: ''
---

## TODO
- [ ] 

방법


GitHub issue 등록시 URL에 쿼리 매개변수을 설정할 수 있지만 projects를 지정할 수 있습니다. 이와 함께 템플릿 선택 화면 사용자 정의config.yml를 사용하면 프로젝트 지정이 가능합니다. config.yml에서는 contact_links 부분에 대상 URL을 지정할 수 있으므로 Issue 작성 URL의 쿼리 매개 변수에 projects를 지정합니다. 다음 값을 각 환경으로 바꿉니다.
  • {ORGANIZATION OR REPO} : GitHub Project가있는 조직 또는 리포지토리
  • {REPO} : Issue를 만드는 리포지토리
  • {PROJECT_NUMBER} : GitHub Project의 자동 번호 매기기

  • .github/ISSUE_TEMPLATE/config.yml
    blank_issues_enabled: true
    contact_links:
      - name: Issue
        about: Issue template
        url: https://github.com/{REPO}/issues/new?template=issue.md&projects={ORGANIZATION OR REPO}/{PROJECT_NUMBER}&labels=enhancement
    

    예를 들어 tanabee/issue-automation-sample 리포지토리에서 tanabee/issue-automation-sample/projects/1 GitHub Project를 지정하려면 url 부분에 https://github.com/tanabee/issue-automation-sample/issues/new?template=issue.md&projects=tanabee/issue-automation-sample/1&labels=enhancement를 입력합니다.
    Organization 바로 아래 프로젝트와 연결하려면 {ORGANIZATION OR REPO} 부분에 Organization 이름을 삽입합니다.
    쿼리 파라미터로 template=issue.md 를 지정하고 있습니다만, issue.md 안에 assignees 나 labels 의 기술이 있어도 해석해 주지 않는 것 같습니다. 따라서 assignees 또는 labels 를 지정하려면 config.yml 의 쿼리 매개 변수로 지정해야 합니다 (지정 가능한 매개 변수는 Creating an issue from a URL query 참조). 특히 템플릿의 본문이 불필요한 경우는 template=issue.md 의 지정을 제외해도 문제 없습니다.
    궁극적으로 다음 두 파일이되었습니다.

    .github/ISSUE_TEMPLATE/config.yml
    blank_issues_enabled: true
    contact_links:
      - name: Issue
        about: Issue template
        url: https://github.com/{REPO}/issues/new?template=issue.md&projects={ORGANIZATION OR REPO}/{PROJECT_NUMBER}&labels=enhancement
    

    .github/ISSUE_TEMPLATE/config.yml

    .github/ISSUE_TEMPLATE/issue.md
    ## TODO
    - [ ] 
    

    .github/ISSUE_TEMPLATE/issue.md
    실제로 동작하는 리포지토리를 준비했으므로, 모르는 경우에는 참고해 주십시오.
  • 리포지토리: htps : // 기주 b. 코 m / 타나베 / 이스에 - 아토 마치 온 - mp ぇ
  • GitHub Project: htps : // 기주 b. 코 m / 타나 베 / 이스에 - 아우토 마치 온 - mp ぇ / p 로지 cts / 1

  • 이상.

    좋은 웹페이지 즐겨찾기