GiitHub Action을 통한 마지막 워크플로우 실행

3027 단어 GitHub ActionsCItech
GiitHub Actions API의 List workflow runs를 사용합니다.
GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs
  • {owner}/{repo}에서 대상 창고를 지정합니다.
  • {workflow_id}에서 워크플로 ID 또는 워크플로 파일 이름을 지정할 수 있습니다.
  • 기타 매개 변수에 대해서는 GiitHub의 설명서를 확인하십시오.
  • 다음은 워크플로의 마지막 실행 시간을 확인하는 예입니다.
    nightly.yml
    on:
      schedule:
        cron: '0 0 * * *'
    
    jobs:
      job1:
        runs-on: ubuntu-latest
        steps:
          - id: last-execution
            name: Get the last execution time
            run: |
    	  url="https://api.github.com/repos/foo/bar/actions/workflows/nightly.yml/runs?status=success&per_page=1"
              echo "::set-output name=time::$(curl -fsSL "$url" | jq -r '.workflow_runs[0].created_at')"
          - run: echo ${{ steps.last-execution.outputs.time }}
    
    문서를 보거나 실제 API를 치면 작업 흐름의 실행 정보가 최신부터 배열에 따라 JSON으로 답장된다는 것을 알 수 있습니다.이것을 jq에게 건네주고 원하는 정보::set-output를 주면 된다.
    GiitHub Actions의 cron은 항상 지정된 시간보다 늦게 실행됩니다.나는 이 기교가 지난번 실행에서 업데이트 정보를 얻으려고 할 때 사용할 수 있다고 생각한다.

    좋은 웹페이지 즐겨찾기