[
  {
    "path": ".commitlintrc",
    "content": "{\n  \"extends\": [\n    \"@commitlint/config-conventional\"\n  ]\n}"
  },
  {
    "path": ".editorconfig",
    "content": "root = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\ninsert_final_newline = true\ntrim_trailing_whitespace = true\nindent_style = space\nindent_size = 2\n\n[*.md]\ntrim_trailing_whitespace = false\n"
  },
  {
    "path": ".eslintrc",
    "content": "{\n  \"extends\": [\n    \"eslint:recommended\",\n    \"plugin:@typescript-eslint/recommended\",\n    \"plugin:@typescript-eslint/eslint-recommended\"\n  ],\n  \"plugins\": [\n    \"@typescript-eslint\",\n    \"import\"\n  ],\n  \"parser\": \"@typescript-eslint/parser\",\n  \"parserOptions\": {\n    \"sourceType\": \"module\",\n    \"ecmaVersion\": 2018\n  },\n  \"env\": {\n    \"node\": true,\n    \"jest\": true,\n    \"es6\": true,\n    \"browser\": true\n  },\n  \"settings\": {\n    \"react\": {\n      \"version\": \"latest\"\n    }\n  },\n  \"rules\": {\n    \"camelcase\": [\n      \"error\",\n      {\n        \"properties\": \"always\"\n      }\n    ],\n    \"quotes\": [\n      \"error\",\n      \"single\",\n      \"avoid-escape\"\n    ],\n    \"key-spacing\": [\n      \"error\",\n      {\n        \"singleLine\": {\n          \"beforeColon\": false,\n          \"afterColon\": true\n        },\n        \"multiLine\": {\n          \"beforeColon\": false,\n          \"afterColon\": true\n        }\n      }\n    ],\n    \"eqeqeq\": \"error\",\n    \"block-scoped-var\": \"error\",\n    \"complexity\": [\n      \"error\",\n      {\n        \"maximum\": 20\n      }\n    ],\n    \"default-case\": \"error\",\n    \"dot-location\": [\n      \"error\",\n      \"property\"\n    ],\n    \"guard-for-in\": \"error\",\n    \"no-eval\": \"error\",\n    \"block-spacing\": \"error\",\n    \"brace-style\": \"error\",\n    \"comma-spacing\": [\n      \"error\",\n      {\n        \"before\": false,\n        \"after\": true\n      }\n    ],\n    \"indent\": [\n      \"error\",\n      2,\n      {\n        \"SwitchCase\": 1\n      }\n    ],\n    \"space-before-function-paren\": [\n      \"error\",\n      \"never\"\n    ],\n    \"space-before-blocks\": \"error\",\n    \"prefer-const\": \"error\",\n    \"no-var\": \"error\",\n    \"arrow-body-style\": \"off\",\n    \"arrow-spacing\": \"error\",\n    \"strict\": [\n      \"error\"\n    ],\n    \"no-warning-comments\": [\n      \"warn\",\n      {\n        \"terms\": [\n          \"todo\",\n          \"fixme\",\n          \"hack\"\n        ],\n        \"location\": \"anywhere\"\n      }\n    ],\n    \"semi\": [\n      \"error\"\n    ],\n    \"sort-imports\": 0,\n    \"import/order\": [2, {\n      \"groups\": [\"type\", \"builtin\", \"external\", \"internal\", \"parent\", \"sibling\", \"index\", \"object\"],\n      \"alphabetize\": { \"order\": \"asc\", \"caseInsensitive\": true }\n    }],\n    \"@typescript-eslint/no-non-null-assertion\": \"off\"\n  }\n}\n"
  },
  {
    "path": ".github/CODEOWNERS",
    "content": "* @technote-space\n"
  },
  {
    "path": ".github/CODE_OF_CONDUCT.md",
    "content": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as\ncontributors and maintainers pledge to making participation in our project and\nour community a harassment-free experience for everyone, regardless of age, body\nsize, disability, ethnicity, sex characteristics, gender identity and expression,\nlevel of experience, education, socio-economic status, nationality, personal\nappearance, race, religion, or sexual identity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment\ninclude:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or\n advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic\n address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a\n professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable\nbehavior and are expected to take appropriate and fair corrective action in\nresponse to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or\nreject comments, commits, code, wiki edits, issues, and other contributions\nthat are not aligned to this Code of Conduct, or to ban temporarily or\npermanently any contributor for other behaviors that they deem inappropriate,\nthreatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces\nwhen an individual is representing the project or its community. Examples of\nrepresenting a project or community include using an official project e-mail\naddress, posting via an official social media account, or acting as an appointed\nrepresentative at an online or offline event. Representation of a project may be\nfurther defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be\nreported by contacting the project team at technote.space@gmail.com. All\ncomplaints will be reviewed and investigated and will result in a response that\nis deemed necessary and appropriate to the circumstances. The project team is\nobligated to maintain confidentiality with regard to the reporter of an incident.\nFurther details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good\nfaith may face temporary or permanent repercussions as determined by other\nmembers of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,\navailable at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html\n\n[homepage]: https://www.contributor-covenant.org\n\nFor answers to common questions about this code of conduct, see\nhttps://www.contributor-covenant.org/faq\n"
  },
  {
    "path": ".github/CONTRIBUTING.md",
    "content": "# Contributing\n[issues]: https://github.com/technote-space/gh-actions-template/issues\n[fork]: https://github.com/technote-space/gh-actions-template/fork\n[pr]: https://github.com/technote-space/gh-actions-template/compare\n[eslint]: https://eslint.org/\n[jest]: https://jestjs.io/\n[code-of-conduct]: CODE_OF_CONDUCT.md\n\nWhen contributing to this repository, please first discuss the change you wish to make via [issue][issues] with the owners of this repository before making a change. \n\nPlease note we have a [Contributor Code of Conduct][code-of-conduct], please follow it in all your interactions with the project.\n\n## Submitting a pull request\n\n1. [Fork][fork] and clone the repository\n1. Make sure the tests pass on your machine: `yarn test`, which contains\n   - [`ESLint`][eslint]\n   - [`Jest`][jest]\n1. Create a new branch: `git checkout -b my-branch-name`\n1. Make your change, add tests, and make sure the tests still pass.\n1. Push to your fork and [submit a pull request][pr].\n1. Pat your self on the back and wait for your pull request to be reviewed and merged.\n\nHere are a few things you can do that will increase the likelihood of your pull request being accepted:\n- Write and update tests.\n- Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests.\n- Write a [good commit message](https://github.com/erlang/otp/wiki/writing-good-commit-messages).\n\nWork in Progress pull request are also welcome to get feedback early on, or if there is something blocked you.\n\n## Resources\n\n- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)\n- [Using Pull Requests](https://help.github.com/articles/about-pull-requests/)\n- [GitHub Help](https://help.github.com)\n"
  },
  {
    "path": ".github/FUNDING.yml",
    "content": "custom: https://paypal.me/technote0space"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "content": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: ''\nassignees: 'technote-space'\n\n---\n\n## Describe the bug: バグの概要\n<!-- A clear and concise description of what the bug is. -->\n<!-- バグの内容を簡潔かつ明確に書いてください -->\n\n## To Reproduce: 再現手順\nSteps to reproduce the behavior:\n1. Go to '...'\n2. Click on '....'\n3. Scroll down to '....'\n4. See error\n\n## Expected behavior: 期待する動作\n<!-- A clear and concise description of what you expected to happen. -->\n<!-- あなたが期待する動きを簡潔かつ明確に書いてください -->\n\n## Screenshots: スクリーンショット\n<!-- If applicable, add screenshots to help explain your problem. -->\n<!-- バグの説明に役立つスクリーンショットを用意できる場合、ここに追加してください -->\n\n## Operating environment: バグが発生した環境\n - Version of software\n - OS: [e.g. Windows10]\n - Browser: [e.g. Chrome, Safari]\n - etc.\n\n## Additional context: 補足\n<!-- Add any other context about the problem here. -->\n<!-- このバグに関連する情報を追加してください -->\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "content": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: ''\nlabels: ''\nassignees: 'technote-space'\n\n---\n\n## Please describe your suggestion: 提案の概要\n<!-- A clear and concise description of what the problem is. e.g. I'm always frustrated when [...] -->\n<!-- 『～をするときにいつもイライラする』など、現在抱えている問題の概要 -->\n\n## Describe the solution you'd like: 考えうる解決方法\n<!-- A clear and concise description of what you want to happen. -->\n<!-- こう動けばイライラが解消するなど、期待する動作の概要 -->\n\n## Describe alternatives you've considered: 考えうる代替案\n<!-- A clear and concise description of any alternative solutions or features you've considered. -->\n<!-- あなたが考えたり試したことのある代替方法 -->\n\n## Additional context: 補足\n<!-- Add any other context or screenshots about the feature request here. -->\n<!-- 補足やスクリーンショットなど -->\n"
  },
  {
    "path": ".github/card-labeler.yml",
    "content": "Backlog:\n  'In progress':\n    - 'Status: In Progress'\n"
  },
  {
    "path": ".github/config.yml",
    "content": "# Configuration for request-info - https://github.com/behaviorbot/request-info\n\n# *Required* Comment to reply with\nrequestInfoReplyComment: >\n  :clap: We would appreciate it if you could provide us with more info about this issue/pr!\n\n# *OPTIONAL* default titles to check against for lack of descriptiveness\n# MUST BE ALL LOWERCASE\nrequestInfoDefaultTitles:\n  - update readme.md\n  - updates\n  - update\n\n# *OPTIONAL* Label to be added to Issues and Pull Requests with insufficient information given\nrequestInfoLabelToAdd: \"Status: More Information Needed\"\n\n\n\n\n# Configuration for welcome - https://github.com/behaviorbot/welcome\n\n# Configuration for new-issue-welcome - https://github.com/behaviorbot/new-issue-welcome\n\n# Comment to be posted to on first time issues\nnewIssueWelcomeComment: >\n  :raised_hands: Thanks for opening your first issue here! Be sure to follow the issue template!\n\n# Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome\n\n# Comment to be posted to on PRs from first time contributors in your repository\nnewPRWelcomeComment: >\n  :raised_hands: Thanks for opening this pull request! Please check out our contributing guidelines.\n\n# Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge\n\n# Comment to be posted to on pull requests merged by a first time user\nfirstPRMergeComment: >\n  :tada: Congrats on merging your first pull request! We here at behaviorbot are proud of you!\n\n\n\n# Configuration for todo - https://github.com/jasonetco/todo\ntodo:\n  - label: \"Type: Todo\""
  },
  {
    "path": ".github/labeler.yml",
    "content": "javascript:\n  - '**/*.js'\ntypescript:\n  - '**/*.ts'\nphp:\n  - '**/*.php'\npython:\n  - '**/*.py'\ncpp:\n  - '**/*.cpp'\n  - '**/*.cxx'\n  - '**/*.cc'\n  - '**/*.cp'\n\n'Type: Testing':\n  - '**/tests/*'\n  - '**/test/*'\n  - '**/__tests__/*'\n\n'Type: Documentation':\n  - '**/*.md'\n\n'Type: CI/CD':\n  - '.github/workflows/*.yml'\n  - '.circleci/*'\n  - '.travis.yml'\n"
  },
  {
    "path": ".github/no-response.yml",
    "content": "# Configuration for probot-no-response - https://github.com/probot/no-response\n\n# Number of days of inactivity before an Issue is closed for lack of response\ndaysUntilClose: 14\n# Label requiring a response\nresponseRequiredLabel: \"Status: More Information Needed\"\n# Comment to post when closing an Issue for lack of response. Set to `false` to disable\ncloseComment: >\n  This issue has been automatically closed because there has been no response\n  to our request for more information from the original author. With only the\n  information that is currently in the issue, we don't have enough information\n  to take action. Please reach out if you have or find the answers we need so\n  that we can investigate further.\n"
  },
  {
    "path": ".github/pr-labeler.yml",
    "content": "'Type: Feature': ['feature/*', 'feat/*']\n'Type: Bug': fix/*\n'Type: Maintenance': ['patch/*', 'chore/*']\n'Type: Release': release/*\n'Type: Refactoring': ['refactor/*', 'refactoring/*']\n'Type: Documentation': ['docs/*', 'doc/*']\n"
  },
  {
    "path": ".github/pull_request_template.md",
    "content": "## Description: 概要\n<!-- Please describe purpose of change or related Issue number -->\n<!-- 変更の目的 もしくは 関連する Issue 番号 -->\n\n## Changes: 変更内容\n<!-- Detail of changes (please add screenshots if applicable) -->\n<!-- ビューの変更がある場合はスクショによる比較などがあるとわかりやすい -->\n\n<!-- START pr-commits -->\n<!-- END pr-commits -->\n\n## Expected Impact: 影響範囲\n<!-- e.g. I changed this function, which might be affect that function. -->\n<!-- この関数を変更したのでこの機能にも影響がある、など -->\n\n## Operating Requirements: 動作要件\n<!-- e.g. Environment variables / Dependencies / DB updates -->\n<!-- 動作に必要な 環境変数 / 依存関係 / DBの更新 など -->\n\n## Additional context: 補足\n<!-- e.g. Point or review / Cautions when trying in a local environment -->\n<!-- レビューをする際に見てほしい点、ローカル環境で試す際の注意点、など -->\n"
  },
  {
    "path": ".github/release-drafter.yml",
    "content": "# Config for https://github.com/apps/release-drafter\nname-template: 'v$NEXT_PATCH_VERSION'\ntag-template: 'v$NEXT_PATCH_VERSION'\ncategories:\n  - title: ':rocket: Features'\n    labels:\n      - 'Type: Feature'\n      - 'Type: Refactoring'\n  - title: ':bug: Bug Fixes'\n    labels:\n      - 'Type: Bug'\n      - 'Type: Security'\n  - title: ':wrench: Maintenance'\n    labels:\n      - 'Type: Maintenance'\n      - 'Type: CI/CD'\n  - title: ':green_book: Docs'\n    labels:\n      - 'Type: Documentation'\n  - title: ':white_check_mark: Tested'\n    labels:\n      - 'Type: Testing'\n  - title: ':sparkles: All Changes'\n    labels:\n      - 'Type: Release'\nexclude-labels:\n  - 'dependencies'\ntemplate: |\n  ## What’s Changed\n\n  $CHANGES\n"
  },
  {
    "path": ".github/stale.yml",
    "content": "# Number of days of inactivity before an issue becomes stale\ndaysUntilStale: 180\n# Number of days of inactivity before a stale issue is closed\ndaysUntilClose: 30\n# Issues with these labels will never be considered stale\nexemptLabels:\n  - \"Priority: Critical\"\n  - \"Type: Security\"\n# Label to use when marking an issue as stale\nstaleLabel: \"Status: Abandoned\"\n# Comment to post when marking an issue as stale. Set to `false` to disable\nmarkComment: >\n  This issue has been automatically marked as stale because it has not had\n  recent activity. It will be closed if no further activity occurs. Thank you\n  for your contributions.\n# Comment to post when closing a stale issue. Set to `false` to disable\ncloseComment: false"
  },
  {
    "path": ".github/workflow-details.json",
    "content": "{\n  \"TOC_FOOTER\": \"*generated with [TOC Generator](https://github.com/technote-space/toc-generator)*\"\n}\n"
  },
  {
    "path": ".github/workflow-settings.json",
    "content": "{\n  \"EXCLUDE_MESSAGES\": [\n    \"update package version\",\n    \"update packages\",\n    \"update wp version\",\n    \"trigger workflow\",\n    \"update TOC\"\n  ],\n  \"PROJECT\": \"Backlog\",\n  \"ISSUE_COLUMN\": \"To do\",\n  \"PR_COLUMN\": \"In progress\",\n  \"PR_BODY_TITLE\": \"## Changes\",\n  \"TOC_FOLDING\": \"1\",\n  \"TOC_MAX_HEADER_LEVEL\": \"3\",\n  \"TOC_TITLE\": \"Details\",\n  \"TOC_CREATE_PR\": \"true\",\n  \"TOC_TARGET_PATHS\": \"README*.md\",\n  \"BRANCH_PREFIX\": \"release/\",\n  \"ANNOTATION_EXCLUDE_PATTERNS\": [\n    \">> warning \",\n    \">> hint: \",\n    \"Cloning into\",\n    \"has unmet peer dependency\",\n    \"has incorrect peer dependency\",\n    \"Using version\",\n    \"ci-helper\",\n    \"tests/bootstrap.php\"\n  ],\n  \"CHANGE_TEMPLATE\": \"- [ ] ${TITLE} (#${NUMBER}) @${AUTHOR}\"\n}\n"
  },
  {
    "path": ".github/workflows/add-release-tag.yml",
    "content": "on:\n  pull_request:\n    branches:\n      - master\n      - main\n      - develop/v*\n    types: [closed]\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.ref }}\n\nname: Add release tag\n\njobs:\n  tag:\n    name: Add release tag\n    runs-on: ubuntu-latest\n    timeout-minutes: 3\n    if: github.event.pull_request.merged == true && github.event.pull_request.head.user.id == github.event.pull_request.base.user.id && startsWith(github.head_ref, 'release/')\n    steps:\n      - uses: technote-space/load-config-action@v1\n        with:\n          CONFIG_FILENAME: workflow-settings.json, workflow-details.json\n          IGNORE_WARNING: 'true'\n      - name: Get version\n        uses: technote-space/get-next-version-action@v1\n        with:\n          EXCLUDE_MESSAGES: ${{ env.EXCLUDE_MESSAGES }}\n        if: \"! startsWith(github.head_ref, 'release/v')\"\n      - name: Get version\n        run: echo \"NEXT_VERSION=${HEAD_REF#release/}\" >> $GITHUB_ENV\n        env:\n          HEAD_REF: ${{ github.head_ref }}\n        if: startsWith(github.head_ref, 'release/v')\n      - uses: actions/github-script@v3\n        with:\n          github-token: ${{ secrets.ACCESS_TOKEN }}\n          script: |\n            github.git.createRef({\n              owner: context.repo.owner,\n              repo: context.repo.repo,\n              ref: `refs/tags/${process.env.NEXT_VERSION}`,\n              sha: context.sha\n            })\n        if: env.NEXT_VERSION\n      - uses: actions/github-script@v3\n        with:\n          github-token: ${{ secrets.ACCESS_TOKEN }}\n          script: |\n            github.git.createRef({\n              owner: context.repo.owner,\n              repo: context.repo.repo,\n              ref: `refs/heads/release/next-${process.env.NEXT_VERSION}`,\n              sha: context.sha\n            })\n        if: env.NEXT_VERSION\n"
  },
  {
    "path": ".github/workflows/add-test-tag.yml",
    "content": "on:\n  pull_request:\n    types: [synchronize]\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.ref }}\n\nname: Add test tag\n\njobs:\n  tag:\n    name: Add test tag\n    runs-on: ubuntu-latest\n    timeout-minutes: 3\n    if: github.event.pull_request.head.user.id == github.event.pull_request.base.user.id && startsWith(github.head_ref, 'release/')\n    steps:\n      - uses: technote-space/load-config-action@v1\n        with:\n          CONFIG_FILENAME: workflow-settings.json, workflow-details.json\n          IGNORE_WARNING: 'true'\n      - uses: actions/checkout@v3\n      - uses: technote-space/get-git-comment-action@v1\n      - name: Get version\n        uses: technote-space/get-next-version-action@v1\n        with:\n          EXCLUDE_MESSAGES: ${{ env.EXCLUDE_MESSAGES }}\n        if: \"! startsWith(github.head_ref, 'release/v') && (contains(env.COMMIT_MESSAGE, 'chore: update dependencies') || contains(env.COMMIT_MESSAGE, 'chore: update npm dependencies'))\"\n      - name: Get version\n        run: echo \"NEXT_VERSION=${HEAD_REF#release/}\" >> $GITHUB_ENV\n        env:\n          HEAD_REF: ${{ github.head_ref }}\n        if: \"startsWith(github.head_ref, 'release/v') && (contains(env.COMMIT_MESSAGE, 'chore: update dependencies') || contains(env.COMMIT_MESSAGE, 'chore: update npm dependencies'))\"\n      - name: Get tag name\n        run: echo \"TAG_NAME=${NEXT_VERSION}.${RUN_ID}\" >> $GITHUB_ENV\n        env:\n          HEAD_REF: ${{ github.head_ref }}\n          RUN_ID: ${{ github.run_id }}\n        if: env.NEXT_VERSION\n      - uses: actions/github-script@v3\n        with:\n          github-token: ${{ secrets.ACCESS_TOKEN }}\n          script: |\n            github.git.createRef({\n              owner: context.repo.owner,\n              repo: context.repo.repo,\n              ref: `refs/tags/test/${process.env.TAG_NAME}`,\n              sha: context.payload.pull_request.head.sha\n            })\n        if: env.TAG_NAME\n"
  },
  {
    "path": ".github/workflows/check-warnings.yml",
    "content": "on:\n  workflow_run:\n    workflows:\n      - CI\n      - Sync workflows\n      - Update dependencies\n      - Broken Link Check\n    types:\n      - completed\n\nname: Check Warnings\n\njobs:\n  annotations:\n    name: Annotations\n    runs-on: ubuntu-latest\n    timeout-minutes: 3\n    steps:\n      - uses: technote-space/load-config-action@v1\n        with:\n          CONFIG_FILENAME: workflow-settings.json, workflow-details.json\n          IGNORE_WARNING: 'true'\n      - uses: technote-space/download-annotations-action@v2\n        id: annotations\n        with:\n          TARGET_RUN_ID: ${{ github.event.workflow_run.id }}\n          INCLUDE_LEVELS: warning\n          EXCLUDE_MESSAGE_PATTERNS: ${{ env.ANNOTATION_EXCLUDE_PATTERNS }}\n      - name: Build attachments\n        run: |\n          arr1='[{\"fields\":[{\"title\":\"repo\",\"value\":\"<https://github.com/${{ github.repository }}|${{ github.repository }}>\",\"short\":true},{\"title\":\"action\",\"value\":\"<${{ github.event.workflow_run.html_url }}|summary>\",\"short\":true}]}]'\n          arr2=$(echo '${{ steps.annotations.outputs.messages }}' | jq -c 'map({\"color\":\"warning\",\"text\":\"```\\(.)```\"})')\n          echo \"SLACK_ATTACHMENTS=$(jq --argjson arr1 \"$arr1\" --argjson arr2 \"$arr2\" -nc '$arr1 + $arr2')\" >> $GITHUB_ENV\n        if: steps.annotations.outputs.number > 0\n      - uses: 8398a7/action-slack@v3\n        with:\n          status: custom\n          fields: repo\n          custom_payload: |\n            {\n              text: \"Warning annotations\",\n              attachments: ${{ env.SLACK_ATTACHMENTS }}\n            }\n        env:\n          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}\n        if: steps.annotations.outputs.number > 0 && env.SLACK_WEBHOOK_URL\n"
  },
  {
    "path": ".github/workflows/ci.yml",
    "content": "on: push\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.ref }}\n\nname: CI\n\njobs:\n  eslint:\n    name: ESLint\n    runs-on: ubuntu-latest\n    timeout-minutes: 5\n    env:\n      LINT: 1\n    steps:\n      - name: Set running flag\n        run: echo \"RUNNING=1\" >> $GITHUB_ENV\n      - uses: actions/checkout@v3\n      - uses: technote-space/get-git-comment-action@v1\n      - uses: technote-space/get-diff-action@v6\n        with:\n          PATTERNS: +(src|__tests__)/**/*.+(js|ts)\n          FILES: |\n            yarn.lock\n            .eslintrc\n        if: \"! contains(env.COMMIT_MESSAGE, '[skip ci]') && ! contains(env.COMMIT_MESSAGE, '[ci skip]')\"\n      - name: Set running flag\n        run: echo \"RUNNING=\" >> $GITHUB_ENV\n        if: \"! env.GIT_DIFF\"\n\n      - uses: actions/setup-node@v3\n        with:\n          node-version: 16\n          cache: yarn\n        if: env.RUNNING\n      - name: Install Package dependencies\n        run: yarn install\n        if: env.RUNNING\n      - name: Check code style\n        run: yarn eslint ${{ env.GIT_DIFF_FILTERED }}\n        if: env.RUNNING && !env.MATCHED_FILES\n      - name: Check code style\n        run: yarn lint\n        if: env.RUNNING && env.MATCHED_FILES\n\n  cover:\n    name: Coverage\n    needs: eslint\n    runs-on: ${{matrix.os}}\n    timeout-minutes: 10\n    strategy:\n      matrix:\n        os: [ubuntu-20.04, ubuntu-22.04, ubuntu-latest, macos-latest]\n    steps:\n      - name: Set running flag\n        run: echo \"RUNNING=1\" >> $GITHUB_ENV\n      - uses: actions/checkout@v3\n      - uses: technote-space/get-git-comment-action@v1\n      - uses: technote-space/get-diff-action@v6\n        with:\n          PATTERNS: +(src|__tests__)/**/*.+(js|ts|snap)\n          FILES: |\n            yarn.lock\n            jest.config.js\n            vite.config.ts\n        if: \"! contains(env.COMMIT_MESSAGE, '[skip ci]') && ! contains(env.COMMIT_MESSAGE, '[ci skip]')\"\n      - name: Set running flag\n        run: echo \"RUNNING=\" >> $GITHUB_ENV\n        if: \"! env.GIT_DIFF\"\n      - name: Set running flag\n        if: \"matrix.os == 'ubuntu-latest' && ! startsWith(github.ref, 'refs/tags/') && github.event.base_ref == format('refs/heads/{0}', github.event.repository.default_branch)\"\n        run: echo \"RUNNING=1\" >> $GITHUB_ENV\n      - name: Set running flag\n        if: \"matrix.os == 'ubuntu-latest' && ! startsWith(github.ref, 'refs/tags/') && startsWith(github.base_ref, 'refs/heads/develop/v')\"\n        run: echo \"RUNNING=1\" >> $GITHUB_ENV\n      - name: Set running flag\n        if: matrix.os == 'ubuntu-latest' && startsWith(github.ref, 'refs/tags/v')\n        run: echo \"RUNNING=1\" >> $GITHUB_ENV\n      - name: Set running flag\n        run: |\n          if [[ ! -f package.json ]] || ! < package.json jq -r '.scripts | keys[]' | grep -qe '^cover$'; then\n            echo \"RUNNING=\" >> $GITHUB_ENV\n          fi\n\n      - uses: actions/setup-node@v3\n        with:\n          node-version: 16\n          cache: yarn\n        if: env.RUNNING\n      - name: Install Package dependencies\n        run: yarn install\n        if: env.RUNNING\n      - name: Run tests\n        run: yarn cover\n        if: env.RUNNING\n      - name: Codecov\n        run: |\n          if [ -n \"$CODECOV_TOKEN\" ]; then\n            curl -s https://codecov.io/bash | bash -s -- -t $CODECOV_TOKEN -f $COVERAGE_FILE\n          fi\n        env:\n          CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}\n          COVERAGE_FILE: ./coverage/lcov.info\n        if: env.RUNNING && matrix.os == 'ubuntu-latest'\n\n  release:\n    name: Release GitHub Actions\n    needs: cover\n    runs-on: ubuntu-latest\n    timeout-minutes: 5\n    if: startsWith(github.ref, 'refs/tags/')\n    steps:\n      - uses: actions/checkout@v3\n      - uses: actions/setup-node@v3\n        with:\n          node-version: 16\n          cache: yarn\n\n      - uses: technote-space/load-config-action@v1\n        with:\n          CONFIG_FILENAME: workflow-settings.json, workflow-details.json\n          IGNORE_WARNING: 'true'\n      - name: Release GitHub Actions\n        uses: technote-space/release-github-actions@v8\n        with:\n          OUTPUT_BUILD_INFO_FILENAME: build.json\n          TEST_TAG_PREFIX: test/\n          ORIGINAL_TAG_PREFIX: original/\n          CLEAN_TEST_TAG: true\n          DELETE_NODE_MODULES: ${{ env.RELEASE_GA_DELETE_NODE_MODULES }}\n\n  package:\n    name: Publish Package\n    needs: cover\n    runs-on: ubuntu-latest\n    timeout-minutes: 5\n    if: startsWith(github.ref, 'refs/tags/v')\n    strategy:\n      matrix:\n        target: ['npm', 'gpr']\n    steps:\n      - name: Set running flag\n        run: echo \"RUNNING=1\" >> $GITHUB_ENV\n      - name: Set running flag\n        run: |\n          if [ -z \"$NPM_AUTH_TOKEN\" ]; then\n            echo \"RUNNING=\" >> $GITHUB_ENV\n          fi\n        env:\n          NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}\n      - uses: actions/checkout@v3\n        if: env.RUNNING\n      - name: Check package version\n        uses: technote-space/package-version-check-action@v1\n        with:\n          COMMIT_DISABLED: 1\n        if: env.RUNNING\n      - name: Set running flag\n        run: npx can-npm-publish || echo \"RUNNING=\" >> $GITHUB_ENV\n        if: env.RUNNING && matrix.target == 'npm'\n      - name: Set running flag\n        run: |\n          LATEST=`npm view . version` 2> /dev/null || :\n          CURRENT=`cat package.json | jq -r .version`\n          if [ \"$LATEST\" = \"$CURRENT\" ]; then\n            echo \"RUNNING=\" >> $GITHUB_ENV\n          fi\n        env:\n          NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        if: env.RUNNING && matrix.target == 'gpr'\n\n      - name: Setup Node.js\n        uses: actions/setup-node@v3\n        with:\n          node-version: 16\n          registry-url: https://registry.npmjs.org/\n          cache: yarn\n        if: env.RUNNING && matrix.target == 'npm'\n      - name: Setup Node.js\n        uses: actions/setup-node@v3\n        with:\n          node-version: 16\n          registry-url: https://npm.pkg.github.com\n          cache: yarn\n        if: env.RUNNING && matrix.target == 'gpr'\n      - name: Install Package dependencies\n        run: yarn install\n        if: env.RUNNING\n      - name: Build\n        run: yarn build\n        if: env.RUNNING\n      - name: Publish\n        run: |\n          npm config set //registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN\n          npm publish\n        env:\n          NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}\n        if: env.RUNNING && matrix.target == 'npm'\n      - name: Publish\n        run: |\n          npm publish\n        env:\n          NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        if: env.RUNNING && matrix.target == 'gpr'\n\n  publishRelease:\n    name: Create Release\n    needs: [release, package]\n    runs-on: ubuntu-latest\n    timeout-minutes: 5\n    steps:\n      - name: Get version\n        run: echo \"TAG_NAME=${HEAD_REF#refs/tags/}\" >> $GITHUB_ENV\n        env:\n          HEAD_REF: ${{ github.ref }}\n      - name: Create Release\n        id: drafter\n        uses: technote-space/release-drafter@v6\n        with:\n          GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}\n          DRAFT: false\n          NAME: ${{ env.TAG_NAME }}\n          TAG: ${{ env.TAG_NAME }}\n      - uses: 8398a7/action-slack@v3\n        with:\n          status: ${{ job.status }}\n          text: ${{ format('<{0}>', steps.drafter.outputs.html_url) }}\n        env:\n          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}\n        if: success() && env.SLACK_WEBHOOK_URL\n\n  slack:\n    name: Slack\n    needs: publishRelease\n    runs-on: ubuntu-latest\n    timeout-minutes: 3\n    if: always()\n    steps:\n      - uses: technote-space/workflow-conclusion-action@gh-actions\n      - uses: 8398a7/action-slack@v3\n        with:\n          status: failure\n        env:\n          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}\n        if: env.WORKFLOW_CONCLUSION == 'failure' && env.SLACK_WEBHOOK_URL\n"
  },
  {
    "path": ".github/workflows/issue-opened.yml",
    "content": "on:\n  issues:\n    types: [opened]\n\nname: Issue opened\n\njobs:\n  assign:\n    name: Assign issues to project\n    runs-on: ubuntu-latest\n    timeout-minutes: 3\n    steps:\n      - uses: technote-space/load-config-action@v1\n        with:\n          CONFIG_FILENAME: workflow-settings.json, workflow-details.json\n          IGNORE_WARNING: 'true'\n      - uses: technote-space/create-project-card-action@v1\n        with:\n          PROJECT: ${{ env.PROJECT }}\n          COLUMN: ${{ env.ISSUE_COLUMN }}\n\n  assignAuthor:\n    name: Assign author to issue\n    runs-on: ubuntu-latest\n    timeout-minutes: 3\n    steps:\n      - uses: technote-space/assign-author@v1\n"
  },
  {
    "path": ".github/workflows/pr-opened.yml",
    "content": "on:\n  pull_request_target:\n    types: [opened]\n\nname: Pull Request opened\n\njobs:\n  assignToProject:\n    name: Assign PullRequest to Project\n    runs-on: ubuntu-latest\n    timeout-minutes: 3\n    steps:\n      - uses: technote-space/load-config-action@v1\n        with:\n          CONFIG_FILENAME: workflow-settings.json, workflow-details.json\n          IGNORE_WARNING: 'true'\n      - uses: technote-space/create-project-card-action@v1\n        with:\n          PROJECT: ${{ env.PROJECT }}\n          COLUMN: ${{ env.PR_COLUMN }}\n          GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}\n\n  assignAuthor:\n    name: Assign author to PR\n    runs-on: ubuntu-latest\n    timeout-minutes: 3\n    steps:\n      - uses: technote-space/assign-author@v1\n\n  addLabelsByBranch:\n    name: PR Labeler\n    runs-on: ubuntu-latest\n    timeout-minutes: 3\n    steps:\n      - uses: technote-space/pr-labeler-action@v4\n"
  },
  {
    "path": ".github/workflows/pr-updated.yml",
    "content": "on: pull_request_target\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.ref }}\n\nname: Pull Request updated\n\njobs:\n  triage:\n    name: Pull Request Labeler\n    runs-on: ubuntu-latest\n    timeout-minutes: 3\n    if: \"! startsWith(github.head_ref, 'release/')\"\n    steps:\n      - uses: actions/labeler@v2\n        with:\n          repo-token: ${{ secrets.GITHUB_TOKEN }}\n\n  history:\n    name: Pull Request Body\n    runs-on: ubuntu-latest\n    timeout-minutes: 3\n    if: github.event.pull_request.head.user.id == github.event.pull_request.base.user.id\n    steps:\n      - uses: technote-space/load-config-action@v1\n        with:\n          CONFIG_FILENAME: workflow-settings.json, workflow-details.json\n          IGNORE_WARNING: 'true'\n      - uses: technote-space/pr-commit-body-action@v1\n        with:\n          EXCLUDE_MESSAGES: ${{ env.EXCLUDE_MESSAGES }}\n          TITLE: ${{ env.PR_BODY_TITLE }}\n          LINK_ISSUE_KEYWORD: ${{ (startsWith(github.head_ref, 'release/') && 'closes') || '' }}\n          FILTER_PR: true\n          CHANGE_TEMPLATE: ${{ env.CHANGE_TEMPLATE }}\n\n  manageRelease:\n    name: Manage release\n    runs-on: ubuntu-latest\n    timeout-minutes: 3\n    if: \"github.event.pull_request.head.user.id == github.event.pull_request.base.user.id && startsWith(github.head_ref, 'release/') && ! startsWith(github.head_ref, 'release/v')\"\n    steps:\n      - uses: technote-space/load-config-action@v1\n        with:\n          CONFIG_FILENAME: workflow-settings.json, workflow-details.json\n          IGNORE_WARNING: 'true'\n      - uses: technote-space/release-type-action@v1\n        with:\n          EXCLUDE_MESSAGES: ${{ env.EXCLUDE_MESSAGES }}\n          GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}\n\n  checkVersion:\n    name: Check package version\n    runs-on: ubuntu-latest\n    timeout-minutes: 3\n    if: \"github.event.action == 'synchronize' && github.event.pull_request.head.user.id == github.event.pull_request.base.user.id && startsWith(github.head_ref, 'release/')\"\n    steps:\n      - uses: technote-space/load-config-action@v1\n        with:\n          CONFIG_FILENAME: workflow-settings.json, workflow-details.json\n          IGNORE_WARNING: 'true'\n      - name: Set running flag\n        run: echo \"RUNNING=1\" >> $GITHUB_ENV\n      - uses: actions/checkout@v3\n        with:\n          ref: ${{ github.head_ref }}\n      - name: Set running flag\n        run: |\n          if [[ ! -f package.json ]] || [[ $(< package.json jq -r '.version == null') == 'true' ]]; then\n            echo \"RUNNING=\" >> $GITHUB_ENV\n          fi\n\n      - name: Sort\n        run: npx sort-package-json\n        if: env.RUNNING\n      - name: Get version\n        uses: technote-space/get-next-version-action@v1\n        with:\n          EXCLUDE_MESSAGES: ${{ env.EXCLUDE_MESSAGES }}\n        if: \"env.RUNNING && ! startsWith(github.head_ref, 'release/v')\"\n      - name: Get version\n        run: echo \"NEXT_VERSION=${HEAD_REF#release/}\" >> $GITHUB_ENV\n        env:\n          HEAD_REF: ${{ github.head_ref }}\n        if: env.RUNNING && startsWith(github.head_ref, 'release/v')\n      - name: Check package version\n        uses: technote-space/package-version-check-action@v1\n        with:\n          GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}\n          BRANCH_PREFIX: release/\n          NEXT_VERSION: ${{ env.NEXT_VERSION }}\n        if: env.NEXT_VERSION\n\n  checkPublish:\n    name: Check publish\n    runs-on: ubuntu-latest\n    timeout-minutes: 3\n    if: \"github.event.pull_request.head.user.id == github.event.pull_request.base.user.id && startsWith(github.head_ref, 'release/')\"\n    steps:\n      - name: Set running flag\n        run: echo \"RUNNING=1\" >> $GITHUB_ENV\n      - name: Set running flag\n        run: |\n          if [ -z \"$NPM_AUTH_TOKEN\" ]; then\n            echo \"RUNNING=\" >> $GITHUB_ENV\n          fi\n        env:\n          NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}\n\n      - uses: actions/checkout@v3\n        with:\n          ref: ${{ github.head_ref }}\n        if: env.RUNNING\n      - uses: technote-space/can-npm-publish-action@v1\n        if: env.RUNNING\n"
  },
  {
    "path": ".github/workflows/project-card-moved.yml",
    "content": "on:\n  project_card:\n    types: [created, moved]\n\nname: Project Card Event\n\njobs:\n  triage:\n    name: Auto card labeler\n    runs-on: ubuntu-latest\n    timeout-minutes: 3\n    steps:\n      - uses: technote-space/auto-card-labeler@v1\n"
  },
  {
    "path": ".github/workflows/sync-workflows.yml",
    "content": "on:\n  schedule:\n    - cron: 0 11 * * 4\n  repository_dispatch:\n    types: [sync-workflows]\n  workflow_dispatch:\n\nname: Sync workflows\njobs:\n  release:\n    name: Sync workflows\n    runs-on: ubuntu-latest\n    timeout-minutes: 5\n    steps:\n      - name: Sync workflows\n        uses: technote-space/create-pr-action@v2\n        with:\n          GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}\n          EXECUTE_COMMANDS: |\n            rm -rdf .github/workflows/.tmp\n            mkdir -p .github/workflows/.tmp\n            git clone --depth=1 https://github.com/technote-space/github-actions-workflows.git .github/workflows/.tmp/workflows\n\n            bash .github/workflows/.tmp/workflows/gh-actions/copy.sh\n            sed -i 's/cron:.\\+$/cron: 0 9 * * 0/' .github/workflows/update-dependencies.yml\n\n            rm -rdf .github/workflows/.tmp\n          COMMIT_MESSAGE: 'chore: sync workflows'\n          PR_BRANCH_PREFIX: chore/\n          PR_BRANCH_NAME: 'chore-sync-workflows'\n          PR_TITLE: 'chore: sync workflows'\n          ONLY_DEFAULT_BRANCH: true\n"
  },
  {
    "path": ".github/workflows/toc.yml",
    "content": "on:\n  pull_request:\n    types: [opened, synchronize, reopened, closed]\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.ref }}\n\nname: TOC Generator\n\njobs:\n  toc:\n    if: github.event.pull_request.head.user.id == github.event.pull_request.base.user.id\n    name: TOC Generator\n    runs-on: ubuntu-latest\n    timeout-minutes: 3\n    steps:\n      - uses: technote-space/load-config-action@v1\n        with:\n          CONFIG_FILENAME: workflow-settings.json, workflow-details.json\n          IGNORE_WARNING: 'true'\n      - uses: technote-space/toc-generator@v4\n        with:\n          GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}\n          TARGET_BRANCH_PREFIX: ${{ env.BRANCH_PREFIX }}\n          FOLDING: ${{ env.TOC_FOLDING }}\n          MAX_HEADER_LEVEL: ${{ env.TOC_MAX_HEADER_LEVEL }}\n          TOC_TITLE: ${{ env.TOC_TITLE }}\n          CREATE_PR: ${{ env.TOC_CREATE_PR }}\n          TARGET_PATHS: ${{ env.TOC_TARGET_PATHS }}\n          FOOTER: ${{ env.TOC_FOOTER }}\n"
  },
  {
    "path": ".github/workflows/update-dependencies.yml",
    "content": "on:\n  schedule:\n    - cron: 0 9 * * 0\n  pull_request:\n    types: [opened, reopened, closed]\n  repository_dispatch:\n    types: [update-deps]\n  workflow_dispatch:\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.ref }}\n\nname: Update dependencies\njobs:\n  update:\n    name: Update npm dependencies\n    runs-on: ubuntu-latest\n    timeout-minutes: 10\n    if: \"! startsWith(github.head_ref, 'release/v')\"\n    steps:\n      - name: Set running flag\n        run: echo \"RUNNING1=\" >> $GITHUB_ENV\n      - name: Set running flag\n        run: echo \"RUNNING1=1\" >> $GITHUB_ENV\n        if: github.event.pull_request.head.user.id == github.event.pull_request.base.user.id\n      - uses: technote-space/load-config-action@v1\n        if: env.RUNNING1\n        with:\n          CONFIG_FILENAME: workflow-settings.json, workflow-details.json\n          IGNORE_WARNING: 'true'\n      - name: Update dependencies\n        if: env.RUNNING1\n        id: update_deps\n        uses: technote-space/create-pr-action@v2\n        with:\n          GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}\n          EXECUTE_COMMANDS: |\n            npx npm-check-updates -u --packageFile package.json\n            yarn install\n            yarn upgrade\n            yarn audit\n          COMMIT_MESSAGE: 'chore: update npm dependencies'\n          PR_DEFAULT_BRANCH_PREFIX: release/\n          PR_DEFAULT_BRANCH_NAME: next-${CURRENT_VERSION}\n          PR_DEFAULT_BRANCH_TITLE: 'feat: release'\n          TARGET_BRANCH_PREFIX: release/\n          AUTO_MERGE_THRESHOLD_DAYS: 14\n\n      - name: Set running flag\n        run: echo \"RUNNING2=\" >> $GITHUB_ENV\n      - name: Set running flag\n        run: echo \"RUNNING2=1\" >> $GITHUB_ENV\n        if: env.RUNNING1 && steps.update_deps.outputs.result != 'succeeded' && github.event_name == 'pull_request' && github.event.action != 'closed' && startsWith(github.head_ref, 'release/')\n      - uses: actions/checkout@v3\n        if: env.RUNNING2\n      - name: Set running flag\n        run: |\n          if [[ ! -f package.json ]] || [[ $(< package.json jq -r '.version == null') == 'true' ]]; then\n            echo \"RUNNING2=\" >> $GITHUB_ENV\n          fi\n      - name: Sort\n        run: npx sort-package-json\n        if: env.RUNNING2\n      - name: Get version\n        uses: technote-space/get-next-version-action@v1\n        with:\n          EXCLUDE_MESSAGES: ${{ env.EXCLUDE_MESSAGES }}\n        if: \"env.RUNNING2 && ! startsWith(github.head_ref, 'release/v')\"\n      - name: Get version\n        run: echo \"NEXT_VERSION=${HEAD_REF#release/}\" >> $GITHUB_ENV\n        env:\n          HEAD_REF: ${{ github.head_ref }}\n        if: env.RUNNING2 && startsWith(github.head_ref, 'release/v')\n      - name: Check package version\n        uses: technote-space/package-version-check-action@v1\n        with:\n          GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}\n          BRANCH_PREFIX: release/\n          NEXT_VERSION: ${{ env.NEXT_VERSION }}\n        if: env.NEXT_VERSION\n"
  },
  {
    "path": ".gitignore",
    "content": "/.idea\n/node_modules\n/coverage\n/lib\n/.work\n.eslintcache\n.env\n"
  },
  {
    "path": ".husky/.gitignore",
    "content": "_\n"
  },
  {
    "path": ".husky/commit-msg",
    "content": "#!/bin/sh\n. \"$(dirname \"$0\")/_/husky.sh\"\n\nyarn commitlint -- --edit $1\n"
  },
  {
    "path": ".husky/pre-commit",
    "content": "#!/bin/sh\n. \"$(dirname \"$0\")/_/husky.sh\"\n\nyarn lint-staged\n"
  },
  {
    "path": ".lintstagedrc",
    "content": "{\n  \"*.{js,jsx,ts,tsx}\": \"yarn lint:fix\"\n}"
  },
  {
    "path": ".releasegarc",
    "content": "{\n  \"inputs\": {\n    \"OUTPUT_BUILD_INFO_FILENAME\": \"build.json\",\n    \"TEST_TAG_PREFIX\": \"test/\",\n    \"CLEAN_TEST_TAG\": \"true\"\n  }\n}"
  },
  {
    "path": "LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2020 Technote\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
  },
  {
    "path": "README.ja.md",
    "content": "# Workflow Conclusion Action\n\n[![CI Status](https://github.com/technote-space/workflow-conclusion-action/workflows/CI/badge.svg)](https://github.com/technote-space/workflow-conclusion-action/actions)\n[![codecov](https://codecov.io/gh/technote-space/workflow-conclusion-action/branch/main/graph/badge.svg)](https://codecov.io/gh/technote-space/workflow-conclusion-action)\n[![CodeFactor](https://www.codefactor.io/repository/github/technote-space/workflow-conclusion-action/badge)](https://www.codefactor.io/repository/github/technote-space/workflow-conclusion-action)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/technote-space/workflow-conclusion-action/blob/main/LICENSE)\n\n*Read this in other languages: [English](README.md), [日本語](README.ja.md).*\n\nこれはワークフローの結果を取得するための`GitHub Actions`です。\n\n## Table of Contents\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<details>\n<summary>Details</summary>\n\n- [使用方法](#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95)\n  - [Success](#success)\n  - [Failure](#failure)\n- [Author](#author)\n\n*generated with [TOC Generator](https://github.com/technote-space/toc-generator)*\n\n</details>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## 使用方法\n例：Lint => Test => Publish (タグ付与時のみ) => slack (いずれかのジョブが失敗した場合のみ)\n```yaml\non: push\n\nname: CI\n\njobs:\n  lint:\n    name: ESLint\n    runs-on: ubuntu-latest\n    ...\n\n  test:\n    name: Coverage\n    needs: lint\n    strategy:\n      matrix:\n        node: ['11', '12']\n    ...\n\n  publish:\n    name: Publish Package\n    needs: test\n    if: startsWith(github.ref, 'refs/tags/v')\n    ...\n\n  slack:\n    name: Slack\n    needs: publish # このjobを除いた最後のjobを\"needs\"に設定\n    runs-on: ubuntu-latest\n    if: always() # \"always\"を設定\n    steps:\n        # workflowの結果を取得するためにこのアクションを実行\n        # 環境変数から結果を取得できます (env.WORKFLOW_CONCLUSION)\n      - uses: technote-space/workflow-conclusion-action@v3\n\n        # workflowの結果を使用してアクションを実行\n      - uses: 8398a7/action-slack@v3\n        with:\n          # status: ${{ env.WORKFLOW_CONCLUSION }} # neutral, success, skipped, cancelled, timed_out, action_required, failure\n          status: failure\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}\n        if: env.WORKFLOW_CONCLUSION == 'failure' # 失敗を通知する場合\n```\n\n### Success\n![Success](https://raw.githubusercontent.com/technote-space/workflow-conclusion-action/images/success.png)\n\nすべてのジョブが正常だったため、Slackアクションはスキップされます。\n\n### Failure\n![Failure](https://raw.githubusercontent.com/technote-space/workflow-conclusion-action/images/failure.png)\n\nいくつかのジョブがスキップされた場合でもSlackアクションは実行されます。\n\n## Author\n[GitHub (Technote)](https://github.com/technote-space)  \n[Blog](https://technote.space)\n"
  },
  {
    "path": "README.md",
    "content": "# Workflow Conclusion Action\n\n[![CI Status](https://github.com/technote-space/workflow-conclusion-action/workflows/CI/badge.svg)](https://github.com/technote-space/workflow-conclusion-action/actions)\n[![codecov](https://codecov.io/gh/technote-space/workflow-conclusion-action/branch/main/graph/badge.svg)](https://codecov.io/gh/technote-space/workflow-conclusion-action)\n[![CodeFactor](https://www.codefactor.io/repository/github/technote-space/workflow-conclusion-action/badge)](https://www.codefactor.io/repository/github/technote-space/workflow-conclusion-action)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/technote-space/workflow-conclusion-action/blob/main/LICENSE)\n\n*Read this in other languages: [English](README.md), [日本語](README.ja.md).*\n\nGitHub action to get workflow conclusion.\n\n## Table of Contents\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n<details>\n<summary>Details</summary>\n\n- [Usage](#usage)\n  - [Success](#success)\n  - [Failure](#failure)\n- [Author](#author)\n\n*generated with [TOC Generator](https://github.com/technote-space/toc-generator)*\n\n</details>\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n## Usage\ne.g. Lint => Test => Publish (only tagged) => slack (only if any job fails)\n```yaml\non: push\n\nname: CI\n\njobs:\n  lint:\n    name: ESLint\n    runs-on: ubuntu-latest\n    ...\n\n  test:\n    name: Coverage\n    needs: lint\n    strategy:\n      matrix:\n        node: ['11', '12']\n    ...\n\n  publish:\n    name: Publish Package\n    needs: test\n    if: startsWith(github.ref, 'refs/tags/v')\n    ...\n\n  slack:\n    name: Slack\n    needs: publish # set \"needs\" only last job except this job\n    runs-on: ubuntu-latest\n    if: always() # set \"always\"\n    steps:\n        # run this action to get the workflow conclusion\n        # You can get the conclusion via env (env.WORKFLOW_CONCLUSION)\n      - uses: technote-space/workflow-conclusion-action@v3\n\n        # run other action with the workflow conclusion\n      - uses: 8398a7/action-slack@v3\n        with:\n          # status: ${{ env.WORKFLOW_CONCLUSION }} # neutral, success, skipped, cancelled, timed_out, action_required, failure\n          status: failure\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}\n        if: env.WORKFLOW_CONCLUSION == 'failure' # notify only if failure\n```\n\n### Success\n![Success](https://raw.githubusercontent.com/technote-space/workflow-conclusion-action/images/success.png)\n\nSlack action step is skipped because all jobs are success.\n\n### Failure\n![Failure](https://raw.githubusercontent.com/technote-space/workflow-conclusion-action/images/failure.png)\n\nSlack action step has been executed even if some jobs were skipped.\n\n## Author\n[GitHub (Technote)](https://github.com/technote-space)  \n[Blog](https://technote.space)\n"
  },
  {
    "path": "_config.yml",
    "content": "theme: jekyll-theme-architect\r\n\r\n# Google Analytics\r\ngoogle_analytics: UA-78163306-3"
  },
  {
    "path": "action.yml",
    "content": "name: Workflow Conclusion Action\n\ndescription: GitHub action to get workflow conclusion.\n\nauthor: technote-space\n\ninputs:\n  GITHUB_TOKEN:\n    description: Secret GitHub API token to use for making API requests.\n    default: ${{ github.token }}\n    required: false\n  TARGET_RUN_ID:\n    description: Target run id\n    default: ${{ github.run_id }}\n    required: false\n  SET_ENV_NAME:\n    description: Env name\n    required: false\n    default: WORKFLOW_CONCLUSION\n  FALLBACK_CONCLUSION:\n    description: Fallback conclusion\n    required: false\n    default: skipped\n  STRICT_SUCCESS:\n    description: Whether to report as success only if all jobs are successful\n    required: false\n    default: \"false\"\n\noutputs:\n  conclusion:\n    description: Workflow conclusion\n\nbranding:\n  icon: 'check-circle'\n  color: 'green'\n\nruns:\n  using: node16\n  main: lib/main.js\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"@technote-space/workflow-conclusion-action\",\n  \"version\": \"3.0.3\",\n  \"description\": \"GitHub action to get workflow conclusion.\",\n  \"keywords\": [\n    \"github\",\n    \"github actions\"\n  ],\n  \"homepage\": \"https://github.com/technote-space/workflow-conclusion-action\",\n  \"bugs\": {\n    \"url\": \"https://github.com/technote-space/workflow-conclusion-action/issues\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/technote-space/workflow-conclusion-action.git\"\n  },\n  \"license\": \"MIT\",\n  \"author\": {\n    \"name\": \"Technote\",\n    \"email\": \"technote.space@gmail.com\",\n    \"url\": \"https://technote.space\"\n  },\n  \"files\": [\n    \"lib\",\n    \"action.yml\"\n  ],\n  \"scripts\": {\n    \"build\": \"rm -rdf lib && rollup -c\",\n    \"cover\": \"vitest run --coverage\",\n    \"postinstall\": \"[ -n \\\"$CI\\\" ] || [ ! -f node_modules/.bin/husky ] || husky install\",\n    \"lint\": \"eslint 'src/**/*.ts' --cache\",\n    \"lint:fix\": \"eslint --fix 'src/**/*.ts'\",\n    \"prepublishOnly\": \"[ -n \\\"$CI\\\" ] || [ ! -f node_modules/.bin/pinst ] || pinst --disable\",\n    \"postpublish\": \"[ -n \\\"$CI\\\" ] || [ ! -f node_modules/.bin/pinst ] || pinst --enable\",\n    \"release\": \"yarn release-ga --test\",\n    \"test\": \"yarn lint && yarn typecheck && yarn cover\",\n    \"typecheck\": \"tsc --noEmit\",\n    \"update\": \"npm_config_yes=true npx npm-check-updates -u --timeout 100000 && yarn install && yarn upgrade && yarn audit\"\n  },\n  \"devDependencies\": {\n    \"@actions/core\": \"^1.10.0\",\n    \"@actions/github\": \"^5.1.1\",\n    \"@commitlint/cli\": \"^17.3.0\",\n    \"@commitlint/config-conventional\": \"^17.3.0\",\n    \"@octokit/openapi-types\": \"^14.0.0\",\n    \"@octokit/types\": \"^8.0.0\",\n    \"@rollup/plugin-commonjs\": \"^23.0.3\",\n    \"@rollup/plugin-json\": \"^5.0.2\",\n    \"@rollup/plugin-node-resolve\": \"^15.0.1\",\n    \"@rollup/plugin-typescript\": \"^10.0.1\",\n    \"@sindresorhus/tsconfig\": \"^3.0.1\",\n    \"@technote-space/github-action-helper\": \"^5.3.10\",\n    \"@technote-space/github-action-log-helper\": \"^0.2.9\",\n    \"@technote-space/github-action-test-helper\": \"^0.11.1\",\n    \"@technote-space/release-github-actions-cli\": \"^1.9.3\",\n    \"@types/node\": \"^18.11.11\",\n    \"@typescript-eslint/eslint-plugin\": \"^5.45.1\",\n    \"@typescript-eslint/parser\": \"^5.45.1\",\n    \"@vitest/coverage-c8\": \"^0.25.4\",\n    \"eslint\": \"^8.29.0\",\n    \"eslint-plugin-import\": \"^2.26.0\",\n    \"husky\": \"^8.0.2\",\n    \"lint-staged\": \"^13.1.0\",\n    \"nock\": \"^13.2.9\",\n    \"pinst\": \"^3.0.0\",\n    \"rollup\": \"^3.6.0\",\n    \"typescript\": \"^4.9.3\",\n    \"vitest\": \"^0.25.4\"\n  },\n  \"publishConfig\": {\n    \"access\": \"public\"\n  }\n}\n"
  },
  {
    "path": "rollup.config.mjs",
    "content": "import pluginCommonjs from '@rollup/plugin-commonjs';\nimport pluginJson from '@rollup/plugin-json';\nimport pluginNodeResolve from '@rollup/plugin-node-resolve';\nimport pluginTypescript from '@rollup/plugin-typescript';\n\nexport default {\n  input: 'src/main.ts',\n  output: {\n    file: 'lib/main.js',\n    format: 'cjs',\n  },\n  plugins: [\n    pluginTypescript(),\n    pluginNodeResolve(),\n    pluginCommonjs(),\n    pluginJson(),\n  ],\n};\n"
  },
  {
    "path": "src/constant.ts",
    "content": "export const CONCLUSIONS = [\n  'neutral',\n  'skipped',\n  'success',\n  'cancelled',\n  'timed_out',\n  'action_required',\n  'failure',\n];\n"
  },
  {
    "path": "src/fixtures/actions.list.jobs1.json",
    "content": "{\n  \"total_count\": 2,\n  \"jobs\": [\n    {\n      \"id\": 399444495,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444495\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444495\",\n      \"status\": \"queued\",\n      \"conclusion\": \"skipped\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"build\",\n      \"steps\": [],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444496\"\n    },\n    {\n      \"id\": 399444496,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444496\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444496\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"build\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444496\"\n    }\n  ]\n}\n"
  },
  {
    "path": "src/fixtures/actions.list.jobs2.json",
    "content": "{\n  \"total_count\": 4,\n  \"jobs\": [\n    {\n      \"id\": 399444496,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444496\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444496\",\n      \"status\": \"completed\",\n      \"conclusion\": null,\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"build\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444496\"\n    },\n    {\n      \"id\": 399444497,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444497\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444497\",\n      \"status\": \"completed\",\n      \"conclusion\": \"cancelled\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444497\"\n    },\n    {\n      \"id\": 399444498,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444498\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444498\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"build\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444498\"\n    },\n    {\n      \"id\": 399444499,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444499\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444499\",\n      \"status\": \"queued\",\n      \"conclusion\": \"skipped\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"release\",\n      \"steps\": [],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444499\"\n    }\n  ]\n}\n"
  },
  {
    "path": "src/fixtures/actions.list.jobs3.json",
    "content": "{\n  \"total_count\": 33,\n  \"jobs\": [\n    {\n      \"id\": 399444496,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444496\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444496\",\n      \"status\": \"completed\",\n      \"conclusion\": \"failure\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"lint\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444496\"\n    },\n    {\n      \"id\": 399444497,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444497\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444497\",\n      \"status\": \"completed\",\n      \"conclusion\": \"cancelled\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444497\"\n    },\n    {\n      \"id\": 399444498,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444498\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444498\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"build\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444498\"\n    },\n    {\n      \"id\": 399444500,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444500\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444500\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test0\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444500\"\n    },\n    {\n      \"id\": 399444501,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444501\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444501\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test1\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444501\"\n    },\n    {\n      \"id\": 399444502,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444502\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444502\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test2\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444502\"\n    },\n    {\n      \"id\": 399444503,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444503\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444503\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test3\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444503\"\n    },\n    {\n      \"id\": 399444504,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444504\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444504\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test4\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444504\"\n    },\n    {\n      \"id\": 399444505,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444505\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444505\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test5\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444505\"\n    },\n    {\n      \"id\": 399444506,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444506\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444506\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test6\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444506\"\n    },\n    {\n      \"id\": 399444507,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444507\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444507\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test7\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444507\"\n    },\n    {\n      \"id\": 399444508,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444508\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444508\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test8\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444508\"\n    },\n    {\n      \"id\": 399444509,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444509\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444509\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test9\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444509\"\n    },\n    {\n      \"id\": 399444510,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444510\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444510\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test10\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444510\"\n    },\n    {\n      \"id\": 399444511,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444511\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444511\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test11\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444511\"\n    },\n    {\n      \"id\": 399444512,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444512\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444512\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test12\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444512\"\n    },\n    {\n      \"id\": 399444513,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444513\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444513\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test13\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444513\"\n    },\n    {\n      \"id\": 399444514,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444514\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444514\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test14\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444514\"\n    },\n    {\n      \"id\": 399444515,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444515\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444515\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test15\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444515\"\n    },\n    {\n      \"id\": 399444516,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444516\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444516\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test16\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444516\"\n    },\n    {\n      \"id\": 399444517,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444517\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444517\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test17\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444517\"\n    },\n    {\n      \"id\": 399444518,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444518\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444518\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test18\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444518\"\n    },\n    {\n      \"id\": 399444519,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444519\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444519\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test19\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444519\"\n    },\n    {\n      \"id\": 399444520,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444520\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444520\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test20\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444520\"\n    },\n    {\n      \"id\": 399444521,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444521\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444521\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test21\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444521\"\n    },\n    {\n      \"id\": 399444522,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444522\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444522\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test22\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444522\"\n    },\n    {\n      \"id\": 399444523,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444523\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444523\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test23\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444523\"\n    },\n    {\n      \"id\": 399444524,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444524\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444524\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test24\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444524\"\n    },\n    {\n      \"id\": 399444525,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444525\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444525\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test25\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444525\"\n    },\n    {\n      \"id\": 399444526,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444526\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444526\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test26\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444526\"\n    },\n    {\n      \"id\": 399444527,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444527\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444527\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test27\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444527\"\n    },\n    {\n      \"id\": 399444528,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444528\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444528\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test28\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444528\"\n    },\n    {\n      \"id\": 399444529,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444529\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444529\",\n      \"status\": \"completed\",\n      \"conclusion\": \"success\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test29\",\n      \"steps\": [\n        {\n          \"name\": \"Set up job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 1,\n          \"started_at\": \"2020-01-20T09:42:40.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:41.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/checkout@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 2,\n          \"started_at\": \"2020-01-20T09:42:41.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Set up Ruby\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 3,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:45.000-08:00\"\n        },\n        {\n          \"name\": \"Run actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 4,\n          \"started_at\": \"2020-01-20T09:42:45.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:48.000-08:00\"\n        },\n        {\n          \"name\": \"Install Bundler\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 5,\n          \"started_at\": \"2020-01-20T09:42:48.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:52.000-08:00\"\n        },\n        {\n          \"name\": \"Install Gems\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 6,\n          \"started_at\": \"2020-01-20T09:42:52.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:53.000-08:00\"\n        },\n        {\n          \"name\": \"Run Tests\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 7,\n          \"started_at\": \"2020-01-20T09:42:53.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:42:59.000-08:00\"\n        },\n        {\n          \"name\": \"Deploy to Heroku\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 8,\n          \"started_at\": \"2020-01-20T09:42:59.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Post actions/cache@v2\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 16,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        },\n        {\n          \"name\": \"Complete job\",\n          \"status\": \"completed\",\n          \"conclusion\": \"success\",\n          \"number\": 17,\n          \"started_at\": \"2020-01-20T09:44:39.000-08:00\",\n          \"completed_at\": \"2020-01-20T09:44:39.000-08:00\"\n        }\n      ],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444529\"\n    }\n  ]\n}\n"
  },
  {
    "path": "src/fixtures/actions.list.jobs4.json",
    "content": "{\n  \"total_count\": 4,\n  \"jobs\": [\n    {\n      \"id\": 399444496,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444496\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444496\",\n      \"status\": \"queued\",\n      \"conclusion\": \"skipped\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"build\",\n      \"steps\": [],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444496\"\n    },\n    {\n      \"id\": 399444497,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444497\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444497\",\n      \"status\": \"queued\",\n      \"conclusion\": \"skipped\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"test\",\n      \"steps\": [],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444497\"\n    },\n    {\n      \"id\": 399444498,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444498\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444498\",\n      \"status\": \"queued\",\n      \"conclusion\": \"skipped\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"build\",\n      \"steps\": [],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444498\"\n    },\n    {\n      \"id\": 399444499,\n      \"run_id\": 29679449,\n      \"run_url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/runs/29679449\",\n      \"node_id\": \"MDEyOldvcmtmbG93IEpvYjM5OTQ0NDQ5Ng==\",\n      \"head_sha\": \"f83a356604ae3c5d03e1b46ef4d1ca77d64a90b0\",\n      \"url\": \"https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444499\",\n      \"html_url\": \"https://github.com/octo-org/octo-repo/runs/399444499\",\n      \"status\": \"queued\",\n      \"conclusion\": \"skipped\",\n      \"started_at\": \"2020-01-20T17:42:40Z\",\n      \"completed_at\": \"2020-01-20T17:44:39Z\",\n      \"name\": \"release\",\n      \"steps\": [],\n      \"check_run_url\": \"https://api.github.com/repos/octo-org/octo-repo/check-runs/399444499\"\n    }\n  ]\n}\n"
  },
  {
    "path": "src/main.ts",
    "content": "import { resolve } from 'path';\nimport { setFailed } from '@actions/core';\nimport { Context } from '@actions/github/lib/context';\nimport { ContextHelper, Utils } from '@technote-space/github-action-helper';\nimport { Logger } from '@technote-space/github-action-log-helper';\nimport { execute } from './process';\n\nconst run = async(): Promise<void> => {\n  const logger  = new Logger();\n  const context = new Context();\n  ContextHelper.showActionInfo(resolve(__dirname, '..'), logger, context);\n\n  await execute(logger, Utils.getOctokit(), context);\n};\n\nrun().catch(error => {\n  console.log(error);\n  setFailed(error.message);\n});\n"
  },
  {
    "path": "src/process.test.ts",
    "content": "import { resolve } from 'path';\nimport { Logger } from '@technote-space/github-action-log-helper';\nimport {\n  testEnv,\n  spyOnStdout,\n  getOctokit,\n  generateContext,\n  getApiFixture,\n  disableNetConnect,\n  stdoutContains,\n  getLogStdout,\n  spyOnExportVariable,\n  exportVariableCalledWith,\n  spyOnSetOutput,\n  setOutputCalledWith,\n} from '@technote-space/github-action-test-helper';\nimport nock from 'nock';\nimport { describe, expect, it } from 'vitest';\nimport { getJobs, getJobConclusions, getWorkflowConclusion, execute } from './process';\n\nconst rootDir        = resolve(__dirname, '..');\nconst fixtureRootDir = resolve(__dirname, 'fixtures');\nconst context        = generateContext({ owner: 'hello', repo: 'world' }, {\n  runId: 123,\n});\nconst octokit        = getOctokit();\nconst logger         = new Logger();\n\ndescribe('getJobs', () => {\n  testEnv(rootDir);\n  disableNetConnect(nock);\n\n  it('should get jobs', async() => {\n    nock('https://api.github.com')\n      .persist()\n      .get('/repos/hello/world/actions/runs/123/jobs')\n      .reply(200, () => getApiFixture(fixtureRootDir, 'actions.list.jobs1'));\n\n    const jobs = await getJobs(octokit, context);\n\n    expect(jobs).toHaveLength(2);\n    expect(jobs[0]).toHaveProperty('id');\n    expect(jobs[0]).toHaveProperty('status');\n    expect(jobs[0]).toHaveProperty('conclusion');\n  });\n\n  it('should get jobs with input run id', async() => {\n    process.env.INPUT_TARGET_RUN_ID = '456';\n    nock('https://api.github.com')\n      .persist()\n      .get('/repos/hello/world/actions/runs/456/jobs')\n      .reply(200, () => getApiFixture(fixtureRootDir, 'actions.list.jobs1'));\n\n    const jobs = await getJobs(octokit, context);\n\n    expect(jobs).toHaveLength(2);\n  });\n});\n\ndescribe('getJobConclusions', () => {\n  it('should get conclusions', () => {\n    expect(getJobConclusions([\n      { conclusion: 'cancelled' },\n      { conclusion: null },\n      { conclusion: 'neutral' },\n      { conclusion: 'failure' },\n      { conclusion: 'success' },\n      { conclusion: 'failure' },\n      { conclusion: 'success' },\n      { conclusion: 'cancelled' },\n      { conclusion: 'skipped' },\n      { conclusion: 'test1' },\n      { conclusion: 'test2' },\n      { conclusion: 'test3' },\n    ])).toEqual([\n      'cancelled',\n      'neutral',\n      'failure',\n      'success',\n      'skipped',\n      'test1',\n      'test2',\n      'test3',\n    ]);\n  });\n});\n\ndescribe('getWorkflowConclusion', () => {\n  testEnv(rootDir);\n\n  it('should get workflow conclusion', () => {\n    expect(getWorkflowConclusion([])).toBe('skipped');\n    expect(getWorkflowConclusion(['test'])).toBe('skipped');\n    expect(getWorkflowConclusion([\n      'neutral',\n      'cancelled',\n      'success',\n    ])).toBe('cancelled');\n    expect(getWorkflowConclusion([\n      'failure',\n      'cancelled',\n    ])).toBe('failure');\n  });\n\n  it('should get specified fallback conclusion', () => {\n    process.env.INPUT_FALLBACK_CONCLUSION = 'failure';\n    expect(getWorkflowConclusion([])).toBe('failure');\n  });\n\n  it('should get workflow conclusion (strict success)', () => {\n    process.env.INPUT_STRICT_SUCCESS = 'true';\n    expect(getWorkflowConclusion(['success'])).toBe('success');\n    expect(getWorkflowConclusion(['success', 'success'])).toBe('success');\n\n    expect(getWorkflowConclusion(['skipped'])).toBe('failure');\n    expect(getWorkflowConclusion(['success', 'success', 'skipped'])).toBe('failure');\n    expect(getWorkflowConclusion([])).toBe('skipped');\n\n    process.env.INPUT_FALLBACK_CONCLUSION = 'failure';\n    expect(getWorkflowConclusion([])).toBe('failure');\n  });\n});\n\ndescribe('execute', () => {\n  testEnv(rootDir);\n  disableNetConnect(nock);\n\n  it('should get payload 1', async() => {\n    const mockStdout = spyOnStdout();\n    const mockEnv    = spyOnExportVariable();\n    const mockOutput = spyOnSetOutput();\n    nock('https://api.github.com')\n      .persist()\n      .get('/repos/hello/world/actions/runs/123/jobs')\n      .reply(200, () => getApiFixture(fixtureRootDir, 'actions.list.jobs1'));\n\n    await execute(logger, octokit, context);\n\n    stdoutContains(mockStdout, [\n      '::group::Jobs:',\n      '::group::Conclusions:',\n      getLogStdout(['skipped', 'success']),\n      '::group::Conclusion:',\n      '\"success\"',\n    ]);\n    exportVariableCalledWith(mockEnv, [\n      { name: 'WORKFLOW_CONCLUSION', val: 'success' },\n    ]);\n    setOutputCalledWith(mockOutput, [\n      { name: 'conclusion', value: 'success' },\n    ]);\n  });\n\n  it('should get payload 2', async() => {\n    const mockStdout = spyOnStdout();\n    const mockEnv    = spyOnExportVariable();\n    const mockOutput = spyOnSetOutput();\n    nock('https://api.github.com')\n      .persist()\n      .get('/repos/hello/world/actions/runs/123/jobs')\n      .reply(200, () => getApiFixture(fixtureRootDir, 'actions.list.jobs2'));\n\n    await execute(logger, octokit, context);\n\n    stdoutContains(mockStdout, [\n      '::group::Jobs:',\n      '::group::Conclusions:',\n      getLogStdout(['cancelled', 'success', 'skipped']),\n      '::group::Conclusion:',\n      '\"cancelled\"',\n    ]);\n    exportVariableCalledWith(mockEnv, [\n      { name: 'WORKFLOW_CONCLUSION', val: 'cancelled' },\n    ]);\n    setOutputCalledWith(mockOutput, [\n      { name: 'conclusion', value: 'cancelled' },\n    ]);\n  });\n\n  it('should get payload 3', async() => {\n    const mockStdout = spyOnStdout();\n    const mockEnv    = spyOnExportVariable();\n    const mockOutput = spyOnSetOutput();\n    nock('https://api.github.com')\n      .persist()\n      .get('/repos/hello/world/actions/runs/123/jobs')\n      .reply(200, () => getApiFixture(fixtureRootDir, 'actions.list.jobs3'));\n\n    await execute(logger, octokit, context);\n\n    stdoutContains(mockStdout, [\n      '::group::Jobs:',\n      '::group::Conclusions:',\n      getLogStdout(['failure', 'cancelled', 'success']),\n      '::group::Conclusion:',\n      '\"failure\"',\n    ]);\n    exportVariableCalledWith(mockEnv, [\n      { name: 'WORKFLOW_CONCLUSION', val: 'failure' },\n    ]);\n    setOutputCalledWith(mockOutput, [\n      { name: 'conclusion', value: 'failure' },\n    ]);\n  });\n\n  it('should get payload 4', async() => {\n    const mockStdout = spyOnStdout();\n    const mockEnv    = spyOnExportVariable();\n    const mockOutput = spyOnSetOutput();\n    nock('https://api.github.com')\n      .persist()\n      .get('/repos/hello/world/actions/runs/123/jobs')\n      .reply(200, () => getApiFixture(fixtureRootDir, 'actions.list.jobs4'));\n\n    await execute(logger, octokit, context);\n\n    stdoutContains(mockStdout, [\n      '::group::Jobs:',\n      '::group::Conclusions:',\n      getLogStdout(['skipped']),\n      '::group::Conclusion:',\n      '\"skipped\"',\n    ]);\n    exportVariableCalledWith(mockEnv, [\n      { name: 'WORKFLOW_CONCLUSION', val: 'skipped' },\n    ]);\n    setOutputCalledWith(mockOutput, [\n      { name: 'conclusion', value: 'skipped' },\n    ]);\n  });\n\n  it('should get payload without env', async() => {\n    process.env.INPUT_SET_ENV_NAME = '';\n    const mockStdout               = spyOnStdout();\n    const mockOutput               = spyOnSetOutput();\n    nock('https://api.github.com')\n      .persist()\n      .get('/repos/hello/world/actions/runs/123/jobs')\n      .reply(200, () => getApiFixture(fixtureRootDir, 'actions.list.jobs1'));\n\n    await execute(logger, octokit, context);\n\n    stdoutContains(mockStdout, [\n      '::group::Jobs:',\n      '::group::Conclusions:',\n      getLogStdout(['skipped', 'success']),\n      '::group::Conclusion:',\n      '\"success\"',\n    ]);\n    setOutputCalledWith(mockOutput, [\n      { name: 'conclusion', value: 'success' },\n    ]);\n  });\n});\n"
  },
  {
    "path": "src/process.ts",
    "content": "import type { Context } from '@actions/github/lib/context';\nimport type { components } from '@octokit/openapi-types';\nimport type { Octokit } from '@technote-space/github-action-helper/dist/types';\nimport type { Logger } from '@technote-space/github-action-log-helper';\nimport { setOutput, exportVariable, getInput } from '@actions/core';\nimport { Utils } from '@technote-space/github-action-helper';\nimport { CONCLUSIONS } from './constant';\n\ntype ActionsListJobsForWorkflowRunResponseData = components['schemas']['job'];\n\nexport const getTargetRunId = (context: Context): number => /^\\d+$/.test(getInput('TARGET_RUN_ID')) ? Number(getInput('TARGET_RUN_ID')) : context.runId;\n\nexport const getJobs = async(octokit: Octokit, context: Context): Promise<Array<ActionsListJobsForWorkflowRunResponseData>> => octokit.paginate(\n  octokit.rest.actions.listJobsForWorkflowRun,\n  {\n    ...context.repo,\n    'run_id': getTargetRunId(context),\n  },\n);\n\nexport const getJobConclusions = (jobs: Array<{ conclusion: string | null }>): Array<string> => Utils.uniqueArray(\n  jobs\n    .filter((job): job is { conclusion: string } => null !== job.conclusion)\n    .map(job => job.conclusion),\n);\n\nexport const getWorkflowConclusion = (conclusions: Array<string>): string =>\n  !conclusions.length ? getInput('FALLBACK_CONCLUSION') :\n    Utils.getBoolValue(getInput('STRICT_SUCCESS')) ?\n      conclusions.some(conclusion => conclusion !== 'success') ? 'failure' : 'success' :\n      CONCLUSIONS.filter(conclusion => conclusions.includes(conclusion)).slice(-1)[0] ?? getInput('FALLBACK_CONCLUSION');\n\nexport const execute = async(logger: Logger, octokit: Octokit, context: Context): Promise<void> => {\n  const jobs        = await getJobs(octokit, context);\n  const conclusions = getJobConclusions(jobs);\n  const conclusion  = getWorkflowConclusion(conclusions);\n\n  logger.startProcess('Jobs: ');\n  console.log(jobs);\n\n  logger.startProcess('Conclusions: ');\n  console.log(conclusions);\n\n  logger.startProcess('Conclusion: ');\n  console.log(conclusion);\n\n  setOutput('conclusion', conclusion);\n  const envName = getInput('SET_ENV_NAME');\n  if (envName) {\n    exportVariable(envName, conclusion);\n  }\n};\n"
  },
  {
    "path": "src/setup.ts",
    "content": "import { setupGlobal } from '@technote-space/github-action-test-helper';\n\nsetupGlobal();\n"
  },
  {
    "path": "tsconfig.json",
    "content": "{\n  \"extends\": \"@sindresorhus/tsconfig\",\n  \"compilerOptions\": {\n    \"outDir\": \"dist\",\n    \"target\": \"ES2021\",\n    \"module\": \"ES2020\",\n    \"lib\": [\n      \"ES2021\"\n    ],\n    \"moduleResolution\": \"node\",\n    \"noPropertyAccessFromIndexSignature\": false,\n    \"noImplicitAny\": false\n  },\n  \"include\": [\n    \"src\"\n  ]\n}"
  },
  {
    "path": "vite.config.ts",
    "content": "/// <reference types=\"vitest\" />\nimport { defineConfig } from 'vite';\n\n// https://vitejs.dev/config/\nexport default defineConfig({\n  test: {\n    setupFiles: './src/setup.ts',\n    clearMocks: true,\n    mockReset: true,\n    restoreMocks: true,\n    coverage: {\n      reporter: ['html', 'lcov', 'text'],\n    },\n    deps: {\n      inline: [/github-action-test-helper/]\n    },\n  },\n});\n"
  }
]