GiitHub Actions에서 Cron을 통해 정기적으로 요청을 작성하고 병합합니다.

GiitHub Actions에서 자동으로 작성 및 병합하는 방법

dev->stage 요청 작성 및 병합 기회가 주어져 정기적으로 수행하기 쉬우므로 GiitHub Actions로 제작했습니다.
name: Auto merge dev2stage

on:
  schedule:
    - cron: "0 15 * * *"

jobs:
  auto-merge-dev2stage:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
        with:
          ref: dev
      - name: 【定期実行】Create Pull Request dev2stage
        id: create-pull-request
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          PULL_REQUEST_URI=$(gh pr create -B stage -t 【定期実行】dev2stage -l 'auto merge' -b "")
          echo "::set-output name=PULL_REQUEST_URI::$PULL_REQUEST_URI"
      - name: 【定期実行】Merge Pull Request dev2stage
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          gh pr merge ${{steps.create-pull-request.outputs.PULL_REQUEST_URI}} --merge

정기적으로 집행하다


정기 집행 부분은 다음과 같다.
on:
  schedule:
    - cron: "0 15 * * *"
일본 시간에 맞춰 15개를 선택했다.

요청 섹션 편집


- name: 【定期実行】Create Pull Request dev2stage
  id: create-pull-request
  env:
    GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  run: |
    PULL_REQUEST_URI=$(gh pr create -B stage -t 【定期実行】dev2stage -l 'auto merge' -b "")
    echo "::set-output name=PULL_REQUEST_URI::$PULL_REQUEST_URI"
편집 요청의 부분에서 GitHub CLI를 사용하여 편집 요청을 만듭니다.gh pr create 섹션에서는 CLI를 사용하여 요청을 생성합니다.
고급 명령의 옵션에는 기본 브랜치, 제목, 레이블 및 컨텐트가 설정되어 있습니다.
이곳에는 몇 가지 착오가 있다.
  • 이미 존재하는 경우dev->stage의 취소 요청
  • 충돌이 있는 경우
  • 차등 없이
  • 위의 세 가지 오류로 인해 종료 요청을 만들 수 없습니다.

    결합 부분


    - name: 【定期実行】Merge Pull Request dev2stage
      env:
        GH_TOKEN: ${{ secrets.GITHUB_TOKEN}}
      run: |
        gh pr merge ${{steps.create-pull-request.outputs.PULL_REQUEST_URI}} --merge
    
    합병 부분 사용GitHub CLI 합병.

    좋은 웹페이지 즐겨찾기