Repository: chriskinsman/github-action-dashboard Branch: main Commit: 15313523fb57 Files: 35 Total size: 489.5 KB Directory structure: gitextract_680p5qqh/ ├── .dockerignore ├── .eslintrc.js ├── .github/ │ └── workflows/ │ └── ci.yaml ├── .gitignore ├── .nvmrc ├── Dockerfile ├── LICENSE ├── README.md ├── actions.js ├── client/ │ ├── .gitignore │ ├── babel.config.js │ ├── jsconfig.json │ ├── package.json │ ├── public/ │ │ ├── index.html │ │ └── robots.txt │ ├── src/ │ │ ├── App.vue │ │ ├── components/ │ │ │ └── actiondashboard.vue │ │ ├── main.js │ │ └── plugins/ │ │ ├── vue-socket-io-extended.js │ │ └── vuetify.js │ └── vue.config.js ├── configure.js ├── getinstallationid.js ├── github.js ├── index.js ├── jest.config.js ├── package.json ├── routes.js ├── runstatus.js ├── tests/ │ ├── integration/ │ │ └── github.test.js │ └── unit/ │ ├── actions.test.js │ ├── mock_data.js │ ├── runstatus.test.js │ └── webooks.test.js └── webhooks.js ================================================ FILE CONTENTS ================================================ ================================================ FILE: .dockerignore ================================================ *.crt *.key .dockerignore .git .gitignore .idea .jshintrc commit.sha # dist # dist/* Dockerfile #node_modules/* README.md .editorconfig .browserslistrc jsconfig.json .env* .env.local .env.*.local ================================================ FILE: .eslintrc.js ================================================ module.exports = { env: { browser: true, es2020: true, }, parser: "@babel/eslint-parser", parserOptions: { ecmaVersion: 11, requireConfigFile: false, sourceType: "module", }, rules: {}, }; ================================================ FILE: .github/workflows/ci.yaml ================================================ name: ci on: workflow_dispatch: push: # pull_request: # branches: main jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: cache: "npm" cache-dependency-path: "**/package-lock.json" node-version-file: ".nvmrc" - name: Install packages for server run: npm ci --ignore-scripts - name: Install Packages for client run: npm ci --ignore-scripts working-directory: ./client - name: Run tests run: npm run test - name: Eliminate devDependencies run: npm prune --production - name: Build web client run: DOCKER_BUILD=true npm run build working-directory: ./client - name: Docker meta id: docker_meta uses: crazy-max/ghaction-docker-meta@v1 with: images: ghcr.io/${{ github.repository_owner }}/github-action-dashboard tag-sha: true tag-edge: true tag-latest: true github-token: ${{ secrets.GITHUB_TOKEN }} - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx id: buildx uses: docker/setup-buildx-action@v1 #with: # hack for https://github.com/docker/build-push-action/issues/126 #driver-opts: image=moby/buildkit:master - name: Available platforms run: echo ${{ steps.buildx.outputs.platforms }} - name: Login to GitHub Container Registry if: github.event_name != 'pull_request' uses: docker/login-action@v1 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GH_CR_PAT }} - name: Build and push id: docker_build uses: docker/build-push-action@v2 with: context: . file: ./Dockerfile push: ${{ github.event_name != 'pull_request' }} platforms: linux/amd64,linux/arm64 tags: ${{ steps.docker_meta.outputs.tags }} cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/github-action-dashboard:edge cache-to: type=inline - name: Image digest run: echo ${{ steps.docker_build.outputs.digest }} #this is for logging. ================================================ FILE: .gitignore ================================================ .DS_Store node_modules /dist /client/dist # local env files .env .env.local .env.*.local # Log files npm-debug.log* yarn-debug.log* yarn-error.log* pnpm-debug.log* # Editor directories and files .idea .vscode *.suo *.ntvs* *.njsproj *.sln *.sw? wallaby.conf.js ================================================ FILE: .nvmrc ================================================ v16.13.1 ================================================ FILE: Dockerfile ================================================ FROM node:16-alpine as base LABEL org.opencontainers.image.source=https://github.com/ChrisKinsman/github-action-dashboard WORKDIR /github-action-dashboard # ---- Dependencies FROM base as dependencies RUN apk add --no-cache --virtual .gyp python3 make g++ git openssh # # ---- npm ci production FROM dependencies as npm COPY package.json package-lock.json ./ COPY node_modules ./node_modules RUN npm rebuild # production stage & clean up FROM base as release ENV NODE_ENV production COPY client/dist ./client/dist/ COPY actions.js configure.js getinstallationid.js github.js index.js routes.js runstatus.js webhooks.js ./ COPY --from=npm /github-action-dashboard/node_modules ./node_modules ================================================ FILE: LICENSE ================================================ (The MIT License) Copyright (c) 2009-2014 TJ Holowaychuk Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ # GitHub Action Dashboard - No Longer Supported My team is no longer using this for monitoring our GitHub actions. Feel free to fork and improve! ![ScreenShot](https://github.com/ChrisKinsman/github-action-dashboard/blob/main/docs/images/ActionDashboardScreenShot.png) When our current CI/CD provider shutdown I found myself evaluating GitHub actions as an alternative. Great solution with one problem. There was no single pane of glass to see the status of all the builds in our GitHub organization. Instead you had to go into each repo, check the action status, etc. I looked around for solutions to the problem and found very few. Meercode was a SaaS that was available but connecting it to my GitHub account at the time I tested it it required granting it permission to act on my behalf. I couldn't see a way that my employer would be cool with that. A self hosted solution seemed like the way to go but I couldn't really find any. Surprising given the popularity of GitHub. ## Limitations - Single organization/username. Currently the dashboard requires you to specify the organization or the username of the repositories which show on the dashboard. It doesn't support multiple organizations or usernames. ## How it works - Upon startup all repositories for the organization/username are iterated. - Each repository is checked for workflows. - Each workflow has it's runs listed - The most recent run for each branch is returned. Every 15 minutes this process is repeated. Fifteen minutes was chosen so as to not hit GitHub API limits. When you click the refresh button in the dashboard it refreshes all runs associated with that workflow across all branches. This is refreshed server side so that other consumers of the dashboard also see the update prior to the refresh of all data. When a workflow_run webhook is received the the central data is updated and the update is sent to all clients to refresh their displays via websockets. ## Setup GitHub App The dashboard runs as a GitHub App. It does not automatically register itself as a GitHub app. Automatic registration is difficult if the dashboard is private and not exposed on the internet. Instead you need to manually setup a GitHub app for your organization or username. Steps: - Go into the settings for your organization or username - Click Developer Settings - Click GitHub Apps - Click New GitHub App - Add an app name and homepage url - Put your endpoint in for the webhook url - This is optional. If you don't configure this the dashboard lag action status. For testing you can use https://smee.io but in production you will likely have to look at a solution like https://ngrok.com or https://inlets.dev - Put in a webhook secret - Repository Permissions: - Action: read-only - Subscribe to events: - Workflow run - Where can this GibHub App be installed: Only on this account - Should look like: ![General Settings Screen](https://github.com/ChrisKinsman/github-action-dashboard/blob/main/docs/images/ActionDashboardNewGitHubApp.png) - Click Create GitHub App - You should now be on the general settings page for the app - Click Generate a new client secret and save off the client secret as it will disappear after you navigate off the page. - Click Generate a private key. It will download a .pem file that you need to base64 encode. - Should look like: ![General Settings Screen](https://github.com/ChrisKinsman/github-action-dashboard/blob/main/docs/images/ActionDashboardGeneralSettings.png) - Change to Install App page: ![General Settings Screen](https://github.com/ChrisKinsman/github-action-dashboard/blob/main/docs/images/ActionDashboardInstall.png) - Click Install - You will get a permissions page like this: ![General Settings Screen](https://github.com/ChrisKinsman/github-action-dashboard/blob/main/docs/images/ActionDashboardPermissions.png) - Click install ## Configuring Dashboard The dashboard has all of it's parameters passed via environment variables. ### Variables - PORT - Optional, defaults to 8080. Port site should run on. - GITHUB_USERNAME or GITHUB_ORG - Only one is valid. If both are specified GITHUB_ORG takes precedence and the GITHUB_USERNAME is ignored. - GITHUB_APPID - The AppId from the GitHub App general settings page. - GITHUB_APP_PRIVATEKEY - The base64 encoded private key from the GitHub App general settings page. - GITHUB_APP_CLIENTID - The client id from the GitHub App general settings page. - GITHUB_APP_CLIENTSECRET - The client secret from the GitHub App general settings page. - GITHUB_APP_INSTALLATIONID - Installation id that can be retrieved using steps in the next section. - GITHUB_APP_WEBHOOK_SECRET - Optional. If you don't supply the dashboard will not setup webhooks and only update every 15 minutes. - GITHUB_APP_WEBHOOK_PORT - Optional, defaults to 8081. If set to the same as PORT must also specify GITHUB_APP_WEBHOOK_PATH - GITHUB_APP_WEBHOOK_PATH - Optional if WebHooks running on different port than main site, defaults to /, if running on the same port defaults to /webhook. - LOOKBACK_DAYS - Optional, defaults to 7. Number of days to look in the past for workflow runs. - DEBUG=action-dashboard:\* - Optional setting to help in debugging ### Installation Id GitHub doesn't make the installation id super obvious in the UI. Here is how to obtain the installation id. - Go into the settings for your organization or username - Click Developer Settings - Click GitHub Apps - Click Configure on GitHub Action Dashboard - In the URL, the digits after the slash are your installation id. Alternatively I have provided a utility to obtain the installation id. You will need all the variables from the previous section with the exception of GITHUB_APP_INSTALLATIONID set to do this. #### Option 1 Requires docker installed locally. ```bash docker run --rm -t --env GITHUB_USERNAME=XXXXXXX --env GITHUB_APPID=XXXXXX --env GITHUB_APP_PRIVATEKEY=XXXXXXXXXXXXXXXXXXX --env GITHUB_APP_CLIENTID=XXX.XXXXXXXXXXXXXXXX --env GITHUB_APP_CLIENTSECRET=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ghcr.io/chriskinsman/github-action-dashboard:edge node getinstallationid.js ``` #### Option 2 Requires nodejs installed locally. ```bash npm ci GITHUB_USERNAME=XXXXXXX GITHUB_APPID=XXXXXX GITHUB_APP_PRIVATEKEY=XXXXXXXXXXXXXXXXXXXXX GITHUB_APP_CLIENTID=XXX.XXXXXXXXXXXXXXXX GITHUB_APP_CLIENTSECRET=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX node getinstallationid.js ``` ## Running Dashboard #### Option 1 Requires docker installed locally. ```bash docker run --rm -td -p 8080:8080 --env GITHUB_USERNAME=XXXXXXX --env GITHUB_APPID=XXXXXX --env GITHUB_APP_PRIVATEKEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX --env GITHUB_APP_CLIENTID=XXX.XXXXXXXXXXXXXXXX --env GITHUB_APP_CLIENTSECRET=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --env GITHUB_APP_INSTALLATIONID=XXXXXXX ghcr.io/chriskinsman/github-action-dashboard:edge node index.js ``` #### Option 2 Requires nodejs installed locally. ```bash npm ci cd client npm ci npm run build cd .. GITHUB_USERNAME=XXXXXXX GITHUB_APPID=XXXXXX GITHUB_APP_PRIVATEKEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX GITHUB_APP_CLIENTID=XXX.XXXXXXXXXXXXXXXX GITHUB_APP_CLIENTSECRET=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX GITHUB_APP_INSTALLATIONID=XXXXXXX node index.js ``` Open your browser to http://localhost:8080 ## Debugging tips Debugging webhooks can be hard. Couple tips: 1. Run the full app outside vue-cli 2. Use the smee-client to proxy the webhook: ```bash smee --port 8081 ``` Then take the proxy endpoint and update your GitHub App webhook with it ================================================ FILE: actions.js ================================================ const debug = require("debug")("action-dashboard:actions"); const _ = require("lodash"); const dayjs = require("dayjs"); const pLimit = require("p-limit"); class Actions { constructor(gitHub, runStatus, lookbackDays) { this._gitHub = gitHub; this._runStatus = runStatus; // Cache all workflows to speed up refresh this._runs = []; this._refreshingRuns = false; this._lookbackDays = lookbackDays; } start() { debug("Performing initial refreshRuns"); // Load the initial set this.refreshRuns(); debug("Setting interval to refreshRuns at 15m"); // Refresh by default every fifteeen minutes setInterval(this.refreshRuns, 1000 * 60 * 15); } async getMostRecentRuns(repoOwner, repoName, workflowId) { try { const daysAgo = dayjs().subtract(this._lookbackDays, "day"); const runs = await this._gitHub.listWorkflowRuns( repoOwner, repoName, workflowId ); if (runs.length > 0) { const groupedRuns = _.groupBy(runs, "head_branch"); const rows = _.reduce( groupedRuns, (result, runs, branch) => { debug(`branch`, branch); if (daysAgo.isBefore(dayjs(runs[0].created_at))) { debug(`adding run.id: ${runs[0].id}`); result.push({ runId: runs[0].id, repo: runs[0].repository.name, owner: repoOwner, workflowId: workflowId, runNumber: runs[0].run_number, workflow: runs[0].name, branch: runs[0].head_branch, sha: runs[0].head_sha, message: runs[0].head_commit.message, committer: runs[0].head_commit.committer.name, status: runs[0].status === "completed" ? runs[0].conclusion : runs[0].status, createdAt: runs[0].created_at, updatedAt: runs[0].updated_at, }); } else { debug( `skipping run.id: ${runs[0].id} created_at: ${runs[0].created_at}` ); } return result; }, [] ); debug( `getting duration of runs owner: ${repoOwner}, repo: ${repoName}, workflowId: ${workflowId}` ); // Get durations of runs const limit = pLimit(10); const getUsagePromises = rows.map((row) => { return limit(async () => { const usage = await this._gitHub.getUsage( repoOwner, repoName, workflowId, row.runId ); if (usage?.run_duration_ms) { row.durationMs = usage.run_duration_ms; } return row; }); }); const rowsWithDuration = await Promise.all(getUsagePromises); debug( `most recent runs owner: ${repoOwner}, repo: ${repoName}, workflowId: ${workflowId}`, rowsWithDuration ); return rows; } else { return []; } } catch (e) { console.error("Error getting runs", e); return []; } } mergeRuns(runs) { // Merge into cache runs.forEach((run) => { debug(`merging run`, run); const index = _.findIndex(this._runs, { workflowId: run.workflowId, branch: run.branch, }); if (index >= 0) { this._runs[index] = run; } else { this._runs.push(run); } this._runStatus.updatedRun(run); }); debug("merged runs", this._runs); } refreshRuns = async () => { // Prevent re-entrant calls if (this._refreshingRuns) { return; } debug("Starting refreshing runs"); try { this._refreshingRuns = true; const repos = await this._gitHub.listRepos(); for (const repo of repos) { debug(`repo: ${repo.name}`); const workflows = await this._gitHub.listWorkflowsForRepo( repo.name, repo.owner.login ); if (workflows.length > 0) { for (const workflow of workflows) { debug(`workflow: ${workflow.name}`); const runs = await this.getMostRecentRuns( repo.owner.login, repo.name, workflow.id ); // Not using apply or spread in case there are a large number of runs returned this.mergeRuns(runs); } } } } catch (e) { console.error("Error getting initial data", e); } finally { debug("Finished refreshing runs"); this._refreshingRuns = false; } }; async refreshWorkflow(repoOwner, repoName, workflowId) { const runs = await this.getMostRecentRuns(repoOwner, repoName, workflowId); this.mergeRuns(runs); } getInitialData() { debug(`getInitialData this._runs.length: ${this._runs.length}`); if (this._runs.length === 0 && !this._refreshingRuns) { debug("getInitialData calling refreshRuns"); this.refreshRuns(); } return this._runs; } } module.exports = Actions; ================================================ FILE: client/.gitignore ================================================ .DS_Store node_modules /dist # local env files .env.local .env.*.local # Log files npm-debug.log* yarn-debug.log* yarn-error.log* pnpm-debug.log* # Editor directories and files .idea .vscode *.suo *.ntvs* *.njsproj *.sln *.sw? ================================================ FILE: client/babel.config.js ================================================ module.exports = { presets: [ '@vue/cli-plugin-babel/preset' ] } ================================================ FILE: client/jsconfig.json ================================================ { "compilerOptions": { "target": "es2015", "module": "esnext", "baseUrl": "./", "paths": { "@/*": ["components/*"] } }, "include": [ "src/**/*.vue", "src/**/*.js" ] } ================================================ FILE: client/package.json ================================================ { "name": "client", "version": "1.6.0", "private": true, "scripts": { "serve": "vue-cli-service serve", "build": "DOCKER_BUILD=true vue-cli-service build", "lint": "DOCKER_BUILD=true vue-cli-service lint" }, "dependencies": { "axios": "^0.27.2", "core-js": "^3.22.5", "dayjs": "^1.11.2", "lodash-es": "^4.17.21", "socket.io-client": "^4.5.1", "vue": "^2.6.14", "vue-socket.io-extended": "^4.2.0", "vuetify": "^2.6.6" }, "devDependencies": { "@vue/cli-plugin-babel": "~4.5.15", "@vue/cli-plugin-eslint": "^4.5.15", "@vue/cli-service": "~4.5.15", "babel-eslint": "^10.1.0", "eslint": "^6.7.2", "eslint-plugin-vue": "^6.2.2", "sass": "^1.32.13", "sass-loader": "^10.0.0", "vue-cli-plugin-vuetify": "~2.4.8", "vue-template-compiler": "^2.6.14", "vuetify-loader": "^1.7.3" }, "eslintConfig": { "root": true, "env": { "node": true }, "extends": [ "plugin:vue/essential", "eslint:recommended" ], "parserOptions": { "parser": "babel-eslint" }, "rules": {} }, "browserslist": [ "> 1%", "last 2 versions", "not dead" ] } ================================================ FILE: client/public/index.html ================================================ <%= htmlWebpackPlugin.options.title %>
================================================ FILE: client/public/robots.txt ================================================ User-agent: * Disallow: / ================================================ FILE: client/src/App.vue ================================================ ================================================ FILE: client/src/components/actiondashboard.vue ================================================ ================================================ FILE: client/src/main.js ================================================ import Vue from 'vue' import App from './App.vue' import vuetify from './plugins/vuetify'; import vueSocketIoExtended from './plugins/vue-socket-io-extended'; Vue.config.productionTip = false new Vue({ vueSocketIoExtended, vuetify, render: h => h(App) }).$mount('#app') ================================================ FILE: client/src/plugins/vue-socket-io-extended.js ================================================ import Vue from 'vue'; import VueSocketIOExt from 'vue-socket.io-extended'; import { io } from 'socket.io-client'; const socket = io(); Vue.use(VueSocketIOExt, socket); export default { sockets: { connect() { console.log('socket connected'); } } } ================================================ FILE: client/src/plugins/vuetify.js ================================================ import Vue from 'vue'; import Vuetify from 'vuetify/lib/framework'; Vue.use(Vuetify); export default new Vuetify({ }); ================================================ FILE: client/vue.config.js ================================================ const configureAPI = require('../configure'); module.exports = { chainWebpack: config => { config.plugin('html').tap(args => { args[0].title = "Action Dashboard" return args; }) }, devServer: { before: configureAPI.before, // Can't figure out how to connect up socket.io as part of webpack devServer //after: configureAPI.after }, transpileDependencies: [ 'vuetify' ] }; ================================================ FILE: configure.js ================================================ const bodyParser = require("body-parser"); const debug = require("debug")("action-dashboard:configure"); const express = require("express"); const path = require("path"); const Actions = require("./actions"); const GitHub = require("./github"); const Routes = require("./routes"); const RunStatus = require("./runstatus"); const WebHooks = require("./webhooks"); const baseDir = path.basename(process.cwd()); // Handle when server is started from vue-cli vs root if (baseDir === "client") { debug("started from vue-cli"); require("dotenv").config({ path: path.resolve(process.cwd(), "../.env") }); } // Handle when server is started from else { debug("started from index.js"); require("dotenv").config(); } debug("env", process.env); const { PORT = 8080, LOOKBACK_DAYS = 7, GITHUB_APPID, GITHUB_APP_CLIENTID, GITHUB_APP_CLIENTSECRET, GITHUB_APP_INSTALLATIONID, GITHUB_APP_WEBHOOK_PORT = 8081, GITHUB_APP_WEBHOOK_SECRET, GITHUB_APP_WEBHOOK_PATH = "/", GITHUB_ORG, GITHUB_USERNAME, } = process.env; // Handles newlines \n in private key const GITHUB_APP_PRIVATEKEY = Buffer.from( process.env.GITHUB_APP_PRIVATEKEY || "", "base64" ).toString("utf-8"); // For sharing runStatus across before/after stages let _runStatus = null; module.exports = { before: (app) => { debug("configure before"); const gitHub = new GitHub( GITHUB_ORG, GITHUB_USERNAME, GITHUB_APPID, GITHUB_APP_PRIVATEKEY, GITHUB_APP_CLIENTID, GITHUB_APP_CLIENTSECRET, GITHUB_APP_INSTALLATIONID ); _runStatus = new RunStatus(); const actions = new Actions(gitHub, _runStatus, LOOKBACK_DAYS); const routes = new Routes( actions, process.env.GITHUB_ORG || process.env.GITHUB_USERNAME ); const router = express.Router(); routes.attach(router); app.use(bodyParser.json()); app.use("/api", router); const webhooks = new WebHooks( PORT, GITHUB_APP_WEBHOOK_SECRET, GITHUB_APP_WEBHOOK_PORT, GITHUB_APP_WEBHOOK_PATH, gitHub, actions, app ); // Start everything actions.start(); webhooks.start(); }, after: (app, server) => { debug("configure after"); // Attach socket.io to server _runStatus.start(server); }, }; ================================================ FILE: getinstallationid.js ================================================ require('dotenv').config() const { createAppAuth } = require("@octokit/auth-app"); const { Octokit } = require("@octokit/rest"); const _appId = process.env.GITHUB_APPID; // Handles newlines \n in private key const _privateKey = Buffer.from(process.env.GITHUB_APP_PRIVATEKEY || "", "base64").toString("utf-8"); const _clientId = process.env.GITHUB_APP_CLIENTID; const _clientSecret = process.env.GITHUB_APP_CLIENTSECRET; const octokit = new Octokit({ auth: { appId: _appId, privateKey: _privateKey, clientId: _clientId, clientSecret: _clientSecret, }, authStrategy: createAppAuth }); octokit.apps.listInstallations() .then(response => { response.data.forEach((installation) => { console.log(`Account: ${installation.account.login}, installation id: ${installation.id}`); }); }) .catch(err => { console.error(err); }); ================================================ FILE: github.js ================================================ const { createAppAuth } = require("@octokit/auth-app"); const { throttling } = require("@octokit/plugin-throttling"); const { retry } = require("@octokit/plugin-retry"); const { Octokit } = require("@octokit/rest"); const debug = require("debug")("action-dashboard:github"); class GitHub { constructor( _org, _user, _appId, _privateKey, _clientId, _clientSecret, _installationId ) { this._org = _org; this._user = _user; this._appId = _appId; this._privateKey = _privateKey; this._clientId = _clientId; this._clientSecret = _clientSecret; this._installationId = _installationId; const MyOctoKit = Octokit.plugin(throttling).plugin(retry); this._octokit = new MyOctoKit({ auth: { appId: _appId, privateKey: _privateKey, clientId: _clientId, clientSecret: _clientSecret, installationId: _installationId, }, authStrategy: createAppAuth, throttle: { onRateLimit: (retryAfter, options) => { console.error( `Request quota exhausted for request ${options.method} ${options.url}` ); if (options.request.retryCount === 0) { // only retries once console.error(`Retrying after ${retryAfter} seconds!`); return true; } }, onAbuseLimit: (retryAfter, options) => { console.error( `Abuse detected for request ${options.method} ${options.url}` ); }, }, }); // Allows us to use the dashboard for user based repos or org based repos this._listRepos = this._org ? this._octokit.repos.listForOrg : this._octokit.repos.listForUser; this._owner = this._org ? { org: this._org } : { username: this._user }; debug("Using owner:", this._owner); } async listRepos() { try { const repos = await this._octokit.paginate(this._listRepos, this._owner); return repos; } catch (e) { console.error("Error getting repos", e); return []; } } async listWorkflowsForRepo(repoName, repoOwner) { try { const workflows = await this._octokit.paginate( this._octokit.actions.listRepoWorkflows, { repo: repoName, owner: repoOwner } ); return workflows; } catch (e) { console.error("Error getting workflows", e); return []; } } async getUsage(repoOwner, repoName, workflowId, run_id) { try { const usage = await this._octokit.actions.getWorkflowRunUsage({ repo: repoName, owner: repoOwner, workflow_id: workflowId, run_id: run_id, }); return usage.data; } catch (e) { console.error("Error getting usage", e); return null; } } async listWorkflowRuns(repoOwner, repoName, workflowId) { try { const runs = await this._octokit.paginate( this._octokit.actions.listWorkflowRuns, { repo: repoName, owner: repoOwner, workflow_id: workflowId, } ); return runs; } catch (e) { console.error("Error getting runs", e); return null; } } } module.exports = GitHub; ================================================ FILE: index.js ================================================ try { const { resolve } = require('path'); const history = require('connect-history-api-fallback'); const express = require('express'); const app = express(); const server = require('http').createServer(app); const configureAPI = require('./configure'); const { PORT = 8080 } = process.env; // API configureAPI.before(app); configureAPI.after(app, server); // UI const publicPath = resolve(__dirname, './client/dist'); const staticConf = { maxAge: '1y', etag: false }; app.use(history()); app.use(express.static(publicPath, staticConf)); app.get('/', function (req, res) { res.render(path.join(__dirname + '/client/dist/index.html')) }); // Go server.listen(PORT, () => console.log(`Action Dashboard running on port ${PORT}`)); } catch (e) { console.error('Error on startup'); console.error(e); } ================================================ FILE: jest.config.js ================================================ /* * For a detailed explanation regarding each configuration property, visit: * https://jestjs.io/docs/configuration */ require("dotenv").config(); module.exports = { // All imported modules in your tests should be mocked automatically // automock: false, // Stop running tests after `n` failures // bail: 0, // The directory where Jest should store its cached dependency information // cacheDirectory: "/private/var/folders/86/97grlb756tlgysggzhl15g9m0000gr/T/jest_e0", // Automatically clear mock calls, instances and results before every test // clearMocks: false, // Indicates whether the coverage information should be collected while executing the test // collectCoverage: false, // An array of glob patterns indicating a set of files for which coverage information should be collected // collectCoverageFrom: undefined, // The directory where Jest should output its coverage files // coverageDirectory: undefined, // An array of regexp pattern strings used to skip coverage collection // coveragePathIgnorePatterns: [ // "/node_modules/" // ], // Indicates which provider should be used to instrument code for coverage coverageProvider: "v8", // A list of reporter names that Jest uses when writing coverage reports // coverageReporters: [ // "json", // "text", // "lcov", // "clover" // ], // An object that configures minimum threshold enforcement for coverage results // coverageThreshold: undefined, // A path to a custom dependency extractor // dependencyExtractor: undefined, // Make calling deprecated APIs throw helpful error messages // errorOnDeprecated: false, // Force coverage collection from ignored files using an array of glob patterns // forceCoverageMatch: [], // A path to a module which exports an async function that is triggered once before all test suites // globalSetup: undefined, // A path to a module which exports an async function that is triggered once after all test suites // globalTeardown: undefined, // A set of global variables that need to be available in all test environments // globals: {}, // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers. // maxWorkers: "50%", // An array of directory names to be searched recursively up from the requiring module's location // moduleDirectories: [ // "node_modules" // ], // An array of file extensions your modules use // moduleFileExtensions: [ // "js", // "jsx", // "ts", // "tsx", // "json", // "node" // ], // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module // moduleNameMapper: {}, // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader // modulePathIgnorePatterns: [], // Activates notifications for test results // notify: false, // An enum that specifies notification mode. Requires { notify: true } // notifyMode: "failure-change", // A preset that is used as a base for Jest's configuration // preset: undefined, // Run tests from one or more projects // projects: undefined, // Use this configuration option to add custom reporters to Jest // reporters: undefined, // Automatically reset mock state before every test // resetMocks: false, // Reset the module registry before running each individual test // resetModules: false, // A path to a custom resolver // resolver: undefined, // Automatically restore mock state and implementation before every test // restoreMocks: false, // The root directory that Jest should scan for tests and modules within // rootDir: undefined, // A list of paths to directories that Jest should use to search for files in // roots: [ // "" // ], // Allows you to use a custom runner instead of Jest's default test runner // runner: "jest-runner", // The paths to modules that run some code to configure or set up the testing environment before each test // setupFiles: ["/tests/integration/setEnvVars.js"], // A list of paths to modules that run some code to configure or set up the testing framework before each test // setupFilesAfterEnv: [], // The number of seconds after which a test is considered as slow and reported as such in the results. // slowTestThreshold: 5, // A list of paths to snapshot serializer modules Jest should use for snapshot testing // snapshotSerializers: [], // The test environment that will be used for testing // testEnvironment: "jest-environment-node", // Options that will be passed to the testEnvironment // testEnvironmentOptions: {}, // Adds a location field to test results // testLocationInResults: false, // The glob patterns Jest uses to detect test files // testMatch: [ // "**/__tests__/**/*.[jt]s?(x)", // "**/?(*.)+(spec|test).[tj]s?(x)" // ], // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped // testPathIgnorePatterns: [ // "/node_modules/" // ], // The regexp pattern or array of patterns that Jest uses to detect test files // testRegex: [], // This option allows the use of a custom results processor // testResultsProcessor: undefined, // This option allows use of a custom test runner // testRunner: "jest-circus/runner", // This option sets the URL for the jsdom environment. It is reflected in properties such as location.href // testURL: "http://localhost", // Setting this value to "fake" allows the use of fake timers for functions such as "setTimeout" // timers: "real", // A map from regular expressions to paths to transformers // transform: undefined, // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation // transformIgnorePatterns: [ // "/node_modules/", // "\\.pnp\\.[^\\/]+$" // ], // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them // unmockedModulePathPatterns: undefined, // Indicates whether each individual test should be reported during the run // verbose: undefined, // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode // watchPathIgnorePatterns: [], // Whether to use watchman for file crawling // watchman: true, }; ================================================ FILE: package.json ================================================ { "name": "github-action-dashboard", "version": "1.6.0", "description": "", "main": "index.js", "scripts": { "test:integration": "DEBUG=action-dashboard,-not_this jest ./tests/integration --silent", "test": "DEBUG=action-dashboard,-not_this jest ./tests/unit --silent", "serve": "./node_modules/nodemon/bin/nodemon.js index.js --ignore 'client/*.js' --exec 'npm run lint && node'", "lint": "./node_modules/.bin/eslint '**/*.js' --ignore-pattern 'client/dist/' " }, "keywords": [], "author": "", "license": "MIT", "comments": { "p-limit": "Stuck on 3.1.0 until we move to ESM" }, "dependencies": { "@octokit/auth-app": "^3.6.1", "@octokit/plugin-retry": "^3.0.9", "@octokit/plugin-throttling": "^3.6.2", "@octokit/rest": "^18.12.0", "@octokit/webhooks": "^9.24.0", "body-parser": "^1.20.0", "connect-history-api-fallback": "^1.6.0", "dayjs": "^1.11.2", "debug": "^4.3.4", "dotenv": "^16.0.1", "express": "^4.18.1", "jest": "^28.1.0", "lodash": "^4.17.21", "p-limit": "^3.1.0", "socket.io": "^4.5.1" }, "devDependencies": { "@babel/eslint-parser": "^7.17.0", "axios": "^0.27.2", "eslint": "^8.16.0" } } ================================================ FILE: routes.js ================================================ const debug = require("debug")("action-dashboard:routes"); class Routes { constructor(actions, owner) { this._owner = owner; this._actions = actions; } attach(router) { router.get("/owner", (req, res, next) => { debug(`/owner ${this._owner}`); res.send(this._owner); }); router.get("/initialData", (req, res, next) => { const initialData = this._actions.getInitialData(); res.send(initialData); }); router.get("/runs/:owner/:repo/:workflow_id", (req, res, next) => { this._actions.refreshWorkflow( req.params.owner, req.params.repo, parseInt(req.params.workflow_id) ); res.send(); }); } } module.exports = Routes; ================================================ FILE: runstatus.js ================================================ const debug = require("debug")("action-dashboard:runstatus"); class RunStatus { start(server) { debug("initializing"); const io = require("socket.io")(server); io.on("connection", (client) => { debug("connected"); this._client = client; }); } updatedRun(run) { if (this._client) { debug(`emitting updatedRun: `, run); this._client.emit("updatedRun", run); } } } module.exports = RunStatus; ================================================ FILE: tests/integration/github.test.js ================================================ const { TestWatcher } = require("jest"); const GitHub = require("../../github"); // Requires environment variables to be set to run tests // In local environment this is set out of band via wallaby.conf.js // In GitHub environment this is set via GitHub secrets const { LOOKBACK_DAYS = 7, GITHUB_APPID, GITHUB_APP_CLIENTID, GITHUB_APP_CLIENTSECRET, GITHUB_APP_INSTALLATIONID, GITHUB_APP_WEBHOOK_PORT = 8081, GITHUB_APP_WEBHOOK_SECRET, GITHUB_ORG, GITHUB_USERNAME, } = process.env; // Handles newlines \n in private key const GITHUB_APP_PRIVATEKEY = Buffer.from( process.env.GITHUB_APP_PRIVATEKEY || "", "base64" ).toString("utf-8"); test("GitHub - Environment", () => { expect(GITHUB_APP_PRIVATEKEY).toBeTruthy(); expect(GITHUB_APPID).toBeTruthy(); expect(GITHUB_APP_CLIENTID).toBeTruthy(); expect(GITHUB_APP_CLIENTSECRET).toBeTruthy(); expect(GITHUB_APP_INSTALLATIONID).toBeTruthy(); expect(GITHUB_USERNAME).toBeTruthy(); }); test("GitHub - listRepos", async () => { const gitHub = new GitHub( GITHUB_ORG, GITHUB_USERNAME, GITHUB_APPID, GITHUB_APP_PRIVATEKEY, GITHUB_APP_CLIENTID, GITHUB_APP_CLIENTSECRET, GITHUB_APP_INSTALLATIONID ); const repos = await gitHub.listRepos(); expect(repos).toBeTruthy(); expect(repos.length > 1).toBeTruthy(); }); test("GitHub - listRepos - Error", async () => { const gitHub = new GitHub( "XYZ", GITHUB_USERNAME, GITHUB_APPID, GITHUB_APP_PRIVATEKEY, GITHUB_APP_CLIENTID, GITHUB_APP_CLIENTSECRET, GITHUB_APP_INSTALLATIONID ); const repos = await gitHub.listRepos(); expect(repos).toBeTruthy(); expect(repos).toHaveLength(0); }); test("GitHub - listWorkflowsForRepo", async () => { const gitHub = new GitHub( GITHUB_ORG, GITHUB_USERNAME, GITHUB_APPID, GITHUB_APP_PRIVATEKEY, GITHUB_APP_CLIENTID, GITHUB_APP_CLIENTSECRET, GITHUB_APP_INSTALLATIONID ); const workflows = await gitHub.listWorkflowsForRepo( "github-action-dashboard", "chriskinsman" ); expect(workflows).toBeTruthy(); expect(workflows.length > 0).toBeTruthy(); }); test("GitHub - listWorkflowsForRepo Error", async () => { const gitHub = new GitHub( GITHUB_ORG, GITHUB_USERNAME, GITHUB_APPID, GITHUB_APP_PRIVATEKEY, GITHUB_APP_CLIENTID, GITHUB_APP_CLIENTSECRET, GITHUB_APP_INSTALLATIONID ); const workflows = await gitHub.listWorkflowsForRepo( "github-action-dashboard-missing", "chriskinsman" ); expect(workflows).toBeTruthy(); expect(workflows).toHaveLength(0); }); test("GitHub - listWorkflowRuns", async () => { const gitHub = new GitHub( GITHUB_ORG, GITHUB_USERNAME, GITHUB_APPID, GITHUB_APP_PRIVATEKEY, GITHUB_APP_CLIENTID, GITHUB_APP_CLIENTSECRET, GITHUB_APP_INSTALLATIONID ); const runs = await gitHub.listWorkflowRuns( "chriskinsman", "github-action-dashboard", "5777275" ); expect(runs).toBeTruthy(); expect(runs.length > 0).toBeTruthy(); }); test("GitHub - listWorkflowRuns Error", async () => { const gitHub = new GitHub( GITHUB_ORG, GITHUB_USERNAME, GITHUB_APPID, GITHUB_APP_PRIVATEKEY, GITHUB_APP_CLIENTID, GITHUB_APP_CLIENTSECRET, GITHUB_APP_INSTALLATIONID ); const runs = await gitHub.listWorkflowRuns( "chriskinsman", "github-action-dashboard", "23" ); expect(runs).toBeFalsy(); }); test("GitHub - getUsage", async () => { const gitHub = new GitHub( GITHUB_ORG, GITHUB_USERNAME, GITHUB_APPID, GITHUB_APP_PRIVATEKEY, GITHUB_APP_CLIENTID, GITHUB_APP_CLIENTSECRET, GITHUB_APP_INSTALLATIONID ); const usage = await gitHub.getUsage( "chriskinsman", "github-action-dashboard", "5777275", "1511883909" ); expect(usage).toBeTruthy(); expect(usage.run_duration_ms).toBeTruthy(); }); test("GitHub - getUsage Error", async () => { const gitHub = new GitHub( GITHUB_ORG, GITHUB_USERNAME, GITHUB_APPID, GITHUB_APP_PRIVATEKEY, GITHUB_APP_CLIENTID, GITHUB_APP_CLIENTSECRET, GITHUB_APP_INSTALLATIONID ); const usage = await gitHub.getUsage( "chriskinsman", "github-action-dashboard", "5777275", "12" ); expect(usage).toBeFalsy(); }); ================================================ FILE: tests/unit/actions.test.js ================================================ const Actions = require("../../actions"); const mockData = require("./mock_data"); afterEach(() => { jest.restoreAllMocks(); jest.useRealTimers(); }); test("Actions - Start", () => { jest.useFakeTimers(); const gitHub = require("../../github"); const actions = new Actions(gitHub); const refreshRuns = jest .spyOn(actions, "refreshRuns") .mockImplementation(() => {}); actions.start(); expect(refreshRuns.mock.calls.length).toBe(1); jest.advanceTimersByTime(1000 * 60 * 16); expect(refreshRuns.mock.calls.length).toBe(2); }); test("Actions - getMostRecentRuns Empty", async () => { jest.mock("../../github"); const GitHub = require("../../github"); const listWorkflowRuns = jest.fn(async () => { return []; }); GitHub.mockImplementation(() => { return { listWorkflowRuns: listWorkflowRuns, }; }); const gitHub = new GitHub(); const actions = new Actions(gitHub, null, 7); const runs = await actions.getMostRecentRuns( "ChrisKinsman", "github-action-dashboard", "" ); expect(runs).toBeTruthy(); expect(runs).toHaveLength(0); expect(listWorkflowRuns.mock.calls).toHaveLength(1); }); test("Actions - getMostRecentRuns Error", async () => { jest.mock("../../github"); const GitHub = require("../../github"); const listWorkflowRuns = jest.fn(async () => { throw new Error("Foo"); }); GitHub.mockImplementation(() => { return { listWorkflowRuns, }; }); const gitHub = new GitHub(); const actions = new Actions(gitHub, null, 7); const runs = await actions.getMostRecentRuns( "ChrisKinsman", "github-action-dashboard", "" ); expect(runs).toBeTruthy(); expect(runs).toHaveLength(0); }); test("Actions - getMostRecentRuns With Data", async () => { jest.mock("../../github"); const GitHub = require("../../github"); const listWorkflowRuns = jest.fn(async () => { const mockRuns = [...mockData.runs]; return mockRuns; }); const getUsage = jest.fn(async () => { return { run_duration_ms: 10000 }; }); GitHub.mockImplementation(() => { return { listWorkflowRuns, getUsage, }; }); const gitHub = new GitHub(); // Long lookback for our test data const actions = new Actions(gitHub, null, 600); const runs = await actions.getMostRecentRuns( "ChrisKinsman", "github-action-dashboard", "" ); console.dir(runs); expect(runs).toBeTruthy(); expect(runs.length > 0).toBeTruthy(); }); test("Actions - getInitialData", async () => { const gitHub = require("../../github"); const actions = new Actions(gitHub); const refreshRuns = jest .spyOn(actions, "refreshRuns") .mockImplementation(() => {}); actions.getInitialData(); expect(refreshRuns.mock.calls.length).toBe(1); }); test("Actions - refreshWorkflow", async () => { const gitHub = require("../../github"); const actions = new Actions(gitHub); const getMostRecentRuns = jest .spyOn(actions, "getMostRecentRuns") .mockImplementation(async () => { return []; }); const mergeRuns = jest.spyOn(actions, "mergeRuns").mockImplementation(() => { return; }); await actions.refreshWorkflow(); expect(getMostRecentRuns.mock.calls.length).toBe(1); expect(mergeRuns.mock.calls.length).toBe(1); }); test("Actions - mergeRuns", () => { const mockRuns = [...mockData.runs]; const gitHub = require("../../github"); const RunStatus = require("../../runstatus"); const runStatus = new RunStatus(); const updatedRun = jest .spyOn(runStatus, "updatedRun") .mockImplementation(() => { return; }); const actions = new Actions(gitHub, runStatus); actions.mergeRuns(mockRuns); expect(updatedRun.mock.calls).toHaveLength(mockRuns.length); }); test("Actions - refreshRuns", async () => { jest.mock("../../github"); const GitHub = require("../../github"); const listRepos = jest.fn(async () => { return [...mockData.repos]; }); const listWorkflowsForRepo = jest.fn(async () => { return [...mockData.workflows]; }); const listWorkflowRuns = jest.fn(async () => { return [...mockData.runs]; }); GitHub.mockImplementation(() => { return { listRepos, listWorkflowsForRepo, listWorkflowRuns, }; }); const gitHub = new GitHub(); const actions = new Actions(gitHub); await actions.refreshRuns(); expect(listRepos.mock.calls).toHaveLength(1); expect(listWorkflowsForRepo.mock.calls).toHaveLength(1); expect(listWorkflowRuns.mock.calls.length > 0).toBeTruthy(); }); test("Actions - refreshRuns Error", async () => { // Setup jest.mock("../../github"); const GitHub = require("../../github"); const listRepos = jest.fn(async () => { throw new Error("foo"); }); const listWorkflowsForRepo = jest.fn(async () => { return [...mockData.workflows]; }); const listWorkflowRuns = jest.fn(async () => { return [...mockData.runs]; }); GitHub.mockImplementation(() => { return { listRepos, listWorkflowsForRepo, listWorkflowRuns, }; }); const gitHub = new GitHub(); const actions = new Actions(gitHub); // Test await actions.refreshRuns(); // Assertions expect(listRepos.mock.calls).toHaveLength(1); expect(listWorkflowsForRepo.mock.calls).toHaveLength(0); expect(listWorkflowRuns.mock.calls).toHaveLength(0); }); ================================================ FILE: tests/unit/mock_data.js ================================================ module.exports = { repos: [ { name: "github-action-dashboard", owner: { login: "chriskinsman", }, }, ], workflows: [ { id: 5777275, node_id: "MDg6V29ya2Zsb3c1Nzc3Mjc1", name: "ci", path: ".github/workflows/ci.yaml", state: "active", created_at: "2021-02-12T20:43:01.000Z", updated_at: "2021-02-12T22:21:23.000Z", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", html_url: "https://github.com/chriskinsman/github-action-dashboard/blob/main/.github/workflows/ci.yaml", badge_url: "https://github.com/chriskinsman/github-action-dashboard/workflows/ci/badge.svg", }, ], runs: [ { id: 1511883909, name: "ci", node_id: "WFR_kwLOFCwDGs5aHYSF", head_branch: "main", head_sha: "62e3da7b6ecfb43cfff9ba03922dd45dbebd44d7", run_number: 89, event: "push", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4483441607, check_suite_node_id: "CS_kwDOFCwDGs8AAAABCzvjxw", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511883909", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1511883909", pull_requests: [], created_at: "2021-11-28T04:20:51Z", updated_at: "2021-11-28T04:31:54Z", run_attempt: 1, run_started_at: "2021-11-28T04:20:51Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511883909/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511883909/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4483441607", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511883909/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511883909/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511883909/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "62e3da7b6ecfb43cfff9ba03922dd45dbebd44d7", tree_id: "c2928a14a5b001f7e14ab64fdfc3888f9de5c783", message: "Remove debug from dockerfile", timestamp: "2021-11-28T04:20:46Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1511882742, name: "ci", node_id: "WFR_kwLOFCwDGs5aHX_2", head_branch: "main", head_sha: "a871b8675abe396fa4c5d697c57acfd5e63762f6", run_number: 88, event: "push", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4483439479, check_suite_node_id: "CS_kwDOFCwDGs8AAAABCzvbdw", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511882742", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1511882742", pull_requests: [], created_at: "2021-11-28T04:20:05Z", updated_at: "2021-11-28T04:34:37Z", run_attempt: 1, run_started_at: "2021-11-28T04:20:05Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511882742/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511882742/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4483439479", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511882742/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511882742/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511882742/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "a871b8675abe396fa4c5d697c57acfd5e63762f6", tree_id: "779499b038109d7bab763bf3dbabb1fcb7d82ff6", message: "Update packages (#16)\n" + "\n" + "* Update to node16\r\n" + "* update packages\r\n" + "* fix middleware\r\n" + "* Update dockerfile to python3\r\n" + "* Prevent routes/webhooks from loading during build", timestamp: "2021-11-28T04:20:03Z", author: { name: "Chris Kinsman", email: "chriskinsman@users.noreply.github.com", }, committer: { name: "GitHub", email: "noreply@github.com" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1511879655, name: "ci", node_id: "WFR_kwLOFCwDGs5aHXPn", head_branch: "update-packages", head_sha: "ab75d2394eb310603ae63d02644fcb88d3a972ca", run_number: 87, event: "pull_request", status: "queued", conclusion: "success", workflow_id: 5777275, check_suite_id: 4483434347, check_suite_node_id: "CS_kwDOFCwDGs8AAAABCzvHaw", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511879655", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1511879655", pull_requests: [], created_at: "2021-11-28T04:18:04Z", updated_at: "2021-11-28T04:29:15Z", run_attempt: 1, run_started_at: "2021-11-28T04:18:04Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511879655/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511879655/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4483434347", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511879655/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511879655/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511879655/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "ab75d2394eb310603ae63d02644fcb88d3a972ca", tree_id: "779499b038109d7bab763bf3dbabb1fcb7d82ff6", message: "Conditionally load", timestamp: "2021-11-28T03:56:21Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1511843912, name: "ci", node_id: "WFR_kwLOFCwDGs5aHOhI", head_branch: "update-packages", head_sha: "ab75d2394eb310603ae63d02644fcb88d3a972ca", run_number: 86, event: "push", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4483373432, check_suite_node_id: "CS_kwDOFCwDGs8AAAABCzrZeA", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511843912", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1511843912", pull_requests: [], created_at: "2021-11-28T03:56:26Z", updated_at: "2021-11-28T04:09:28Z", run_attempt: 1, run_started_at: "2021-11-28T03:56:26Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511843912/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511843912/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4483373432", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511843912/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511843912/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511843912/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "ab75d2394eb310603ae63d02644fcb88d3a972ca", tree_id: "779499b038109d7bab763bf3dbabb1fcb7d82ff6", message: "Conditionally load", timestamp: "2021-11-28T03:56:21Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1511839387, name: "ci", node_id: "WFR_kwLOFCwDGs5aHNab", head_branch: "update-packages", head_sha: "984f69a9448a700689554cf64083113e17aa0984", run_number: 85, event: "push", status: "completed", conclusion: "failure", workflow_id: 5777275, check_suite_id: 4483365240, check_suite_node_id: "CS_kwDOFCwDGs8AAAABCzq5eA", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511839387", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1511839387", pull_requests: [], created_at: "2021-11-28T03:52:56Z", updated_at: "2021-11-28T03:54:18Z", run_attempt: 1, run_started_at: "2021-11-28T03:52:56Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511839387/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511839387/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4483365240", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511839387/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511839387/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511839387/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "984f69a9448a700689554cf64083113e17aa0984", tree_id: "7afee908ca883dfb98d77807f6802cda70600a06", message: "More debugging", timestamp: "2021-11-28T03:52:44Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1511836026, name: "ci", node_id: "WFR_kwLOFCwDGs5aHMl6", head_branch: "update-packages", head_sha: "1f3a80b423d61919354f5d56751f9b3b717e945f", run_number: 84, event: "push", status: "completed", conclusion: "failure", workflow_id: 5777275, check_suite_id: 4483359288, check_suite_node_id: "CS_kwDOFCwDGs8AAAABCzqiOA", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511836026", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1511836026", pull_requests: [], created_at: "2021-11-28T03:50:11Z", updated_at: "2021-11-28T03:51:31Z", run_attempt: 1, run_started_at: "2021-11-28T03:50:11Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511836026/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511836026/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4483359288", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511836026/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511836026/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511836026/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "1f3a80b423d61919354f5d56751f9b3b717e945f", tree_id: "bb1df679f43eda911ae6f64f2de725414982d9ae", message: "Debug build", timestamp: "2021-11-28T03:49:57Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1511831040, name: "ci", node_id: "WFR_kwLOFCwDGs5aHLYA", head_branch: "update-packages", head_sha: "8a7e08931c893efc6e92cf98f86cdd7323bc551c", run_number: 83, event: "push", status: "completed", conclusion: "failure", workflow_id: 5777275, check_suite_id: 4483350691, check_suite_node_id: "CS_kwDOFCwDGs8AAAABCzqAow", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511831040", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1511831040", pull_requests: [], created_at: "2021-11-28T03:46:30Z", updated_at: "2021-11-28T03:48:02Z", run_attempt: 1, run_started_at: "2021-11-28T03:46:30Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511831040/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511831040/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4483350691", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511831040/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511831040/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511831040/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "8a7e08931c893efc6e92cf98f86cdd7323bc551c", tree_id: "0ab88085be5f2876df66de3b212e606d726a2a6d", message: "Conditionally load webhooks", timestamp: "2021-11-28T03:46:13Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1511521089, name: "ci", node_id: "WFR_kwLOFCwDGs5aF_tB", head_branch: "update-packages", head_sha: "e8de665a95c0dd36c807bcec8c81acd8854716fb", run_number: 82, event: "push", status: "completed", conclusion: "failure", workflow_id: 5777275, check_suite_id: 4482822200, check_suite_node_id: "CS_kwDOFCwDGs8AAAABCzJwOA", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511521089", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1511521089", pull_requests: [], created_at: "2021-11-28T00:44:05Z", updated_at: "2021-11-28T00:45:37Z", run_attempt: 1, run_started_at: "2021-11-28T00:44:05Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511521089/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511521089/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4482822200", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511521089/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511521089/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511521089/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "e8de665a95c0dd36c807bcec8c81acd8854716fb", tree_id: "0ba7f0bcd8553d67166c1f898e99265618eedf8d", message: "Alter build test", timestamp: "2021-11-28T00:43:59Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1511513558, name: "ci", node_id: "WFR_kwLOFCwDGs5aF93W", head_branch: "update-packages", head_sha: "7e154608aaf57b651655b2d7868b721e71f1fa12", run_number: 81, event: "push", status: "completed", conclusion: "failure", workflow_id: 5777275, check_suite_id: 4482809931, check_suite_node_id: "CS_kwDOFCwDGs8AAAABCzJASw", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511513558", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1511513558", pull_requests: [], created_at: "2021-11-28T00:40:34Z", updated_at: "2021-11-28T00:42:30Z", run_attempt: 1, run_started_at: "2021-11-28T00:40:34Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511513558/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511513558/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4482809931", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511513558/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511513558/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511513558/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "7e154608aaf57b651655b2d7868b721e71f1fa12", tree_id: "7ed192a62ee6d8520b20e1d0ccdf2a71a6f164e6", message: "Prevent routes from loading during build", timestamp: "2021-11-28T00:40:28Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1511488356, name: "ci", node_id: "WFR_kwLOFCwDGs5aF3tk", head_branch: "update-packages", head_sha: "692f92439ca300e86c6126de2cd8fdf3589ac884", run_number: 80, event: "push", status: "completed", conclusion: "failure", workflow_id: 5777275, check_suite_id: 4482768032, check_suite_node_id: "CS_kwDOFCwDGs8AAAABCzGcoA", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511488356", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1511488356", pull_requests: [], created_at: "2021-11-28T00:29:04Z", updated_at: "2021-11-28T00:30:35Z", run_attempt: 1, run_started_at: "2021-11-28T00:29:04Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511488356/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511488356/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4482768032", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511488356/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511488356/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511488356/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "692f92439ca300e86c6126de2cd8fdf3589ac884", tree_id: "ceb80d1e23b4c9631c97e9d04458dffefaa800d1", message: "Update to python3", timestamp: "2021-11-28T00:28:57Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1511482134, name: "ci", node_id: "WFR_kwLOFCwDGs5aF2MW", head_branch: "update-packages", head_sha: "92ae6807abef383e549e317437f41b004037114f", run_number: 79, event: "push", status: "completed", conclusion: "failure", workflow_id: 5777275, check_suite_id: 4482757259, check_suite_node_id: "CS_kwDOFCwDGs8AAAABCzFyiw", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511482134", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1511482134", pull_requests: [], created_at: "2021-11-28T00:25:55Z", updated_at: "2021-11-28T00:26:32Z", run_attempt: 1, run_started_at: "2021-11-28T00:25:55Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511482134/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511482134/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4482757259", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511482134/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511482134/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511482134/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "92ae6807abef383e549e317437f41b004037114f", tree_id: "11e515a3b8b35af835fcc0b617e638d15259a9e8", message: "Update dotenv and socket.io", timestamp: "2021-11-27T22:35:25Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1511325100, name: "ci", node_id: "WFR_kwLOFCwDGs5aFP2s", head_branch: "update-packages", head_sha: "1b15db6c53898d6ec9732ab37a63d3a690f671b5", run_number: 78, event: "push", status: "completed", conclusion: "failure", workflow_id: 5777275, check_suite_id: 4482455065, check_suite_node_id: "CS_kwDOFCwDGs8AAAABCyzWGQ", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511325100", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1511325100", pull_requests: [], created_at: "2021-11-27T22:14:31Z", updated_at: "2021-11-27T22:19:57Z", run_attempt: 1, run_started_at: "2021-11-27T22:14:31Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511325100/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511325100/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4482455065", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511325100/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511325100/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1511325100/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "1b15db6c53898d6ec9732ab37a63d3a690f671b5", tree_id: "7d6fb7d69f2ac4f3e881d55e4216dd8f2595b75f", message: "Update to node16", timestamp: "2021-11-27T22:13:40Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1387502236, name: "ci", node_id: "WFR_kwLOFCwDGs5Ss5qc", head_branch: "1.5.0", head_sha: "a885ee3b3eced90b28ab731841be880fe1e5bb7d", run_number: 77, event: "push", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4169865540, check_suite_node_id: "CS_kwDOFCwDGs74ixlE", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1387502236", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1387502236", pull_requests: [], created_at: "2021-10-26T21:08:45Z", updated_at: "2021-10-26T21:09:23Z", run_attempt: 1, run_started_at: "2021-10-26T21:08:45Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1387502236/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1387502236/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4169865540", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1387502236/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1387502236/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1387502236/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "a885ee3b3eced90b28ab731841be880fe1e5bb7d", tree_id: "491e6beddf98a821bc810e8dfea091e6cd077466", message: "Add new LOOKBACK_DAYS variable (#15)", timestamp: "2021-10-26T18:57:26Z", author: { name: "Olivier Fournier", email: "66017789+tgdfool2@users.noreply.github.com", }, committer: { name: "GitHub", email: "noreply@github.com" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1387065898, name: "ci", node_id: "WFR_kwLOFCwDGs5SrPIq", head_branch: "main", head_sha: "a885ee3b3eced90b28ab731841be880fe1e5bb7d", run_number: 76, event: "push", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4168607835, check_suite_node_id: "CS_kwDOFCwDGs74d-hb", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1387065898", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1387065898", pull_requests: [], created_at: "2021-10-26T18:57:28Z", updated_at: "2021-10-26T19:06:59Z", run_attempt: 1, run_started_at: "2021-10-26T18:57:28Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1387065898/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1387065898/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4168607835", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1387065898/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1387065898/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1387065898/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "a885ee3b3eced90b28ab731841be880fe1e5bb7d", tree_id: "491e6beddf98a821bc810e8dfea091e6cd077466", message: "Add new LOOKBACK_DAYS variable (#15)", timestamp: "2021-10-26T18:57:26Z", author: { name: "Olivier Fournier", email: "66017789+tgdfool2@users.noreply.github.com", }, committer: { name: "GitHub", email: "noreply@github.com" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1385049107, name: "ci", node_id: "WFR_kwLOFCwDGs5SjiwT", head_branch: "feature/configurable-loopback-time", head_sha: "b269d377b383c42af36fd6fdc6ef007dc9704d7c", run_number: 75, event: "pull_request", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4162705348, check_suite_node_id: "CS_kwDOFCwDGs74HdfE", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1385049107", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1385049107", pull_requests: [], created_at: "2021-10-26T09:46:34Z", updated_at: "2021-10-26T18:55:06Z", run_attempt: 2, run_started_at: "2021-10-26T18:45:57Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1385049107/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1385049107/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4162705348", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1385049107/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1385049107/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1385049107/rerun", previous_attempt_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1385049107/attempts/1", workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "b269d377b383c42af36fd6fdc6ef007dc9704d7c", tree_id: "491e6beddf98a821bc810e8dfea091e6cd077466", message: "Fix merge conflict", timestamp: "2021-10-26T09:46:27Z", author: { name: "Olivier Fournier, B2B-CDL-CSS-CMS", email: "Olivier.Fournier@swisscom.com", }, committer: { name: "Olivier Fournier, B2B-CDL-CSS-CMS", email: "Olivier.Fournier@swisscom.com", }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 414919534, node_id: "R_kgDOGLsrbg", name: "github-action-dashboard", full_name: "tgdfool2/github-action-dashboard", private: false, owner: { login: "tgdfool2", id: 66017789, node_id: "MDQ6VXNlcjY2MDE3Nzg5", avatar_url: "https://avatars.githubusercontent.com/u/66017789?v=4", gravatar_id: "", url: "https://api.github.com/users/tgdfool2", html_url: "https://github.com/tgdfool2", followers_url: "https://api.github.com/users/tgdfool2/followers", following_url: "https://api.github.com/users/tgdfool2/following{/other_user}", gists_url: "https://api.github.com/users/tgdfool2/gists{/gist_id}", starred_url: "https://api.github.com/users/tgdfool2/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/tgdfool2/subscriptions", organizations_url: "https://api.github.com/users/tgdfool2/orgs", repos_url: "https://api.github.com/users/tgdfool2/repos", events_url: "https://api.github.com/users/tgdfool2/events{/privacy}", received_events_url: "https://api.github.com/users/tgdfool2/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/tgdfool2/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: true, url: "https://api.github.com/repos/tgdfool2/github-action-dashboard", forks_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/tgdfool2/github-action-dashboard/deployments", }, }, { id: 1330379871, name: "ci", node_id: "WFR_kwLOFCwDGs5PS_xf", head_branch: "add-heroku-deployment", head_sha: "c7af911db3ab34f195932c2c619d16d5613a279f", run_number: 74, event: "pull_request", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4022181107, check_suite_node_id: "CS_kwDOFCwDGs7vvZzz", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1330379871", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1330379871", pull_requests: [], created_at: "2021-10-11T19:53:51Z", updated_at: "2021-10-11T20:02:30Z", run_attempt: 1, run_started_at: "2021-10-11T19:53:51Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1330379871/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1330379871/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4022181107", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1330379871/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1330379871/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1330379871/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "c7af911db3ab34f195932c2c619d16d5613a279f", tree_id: "dcaeb62e8a1e515598973f008cde4a06b673ca1d", message: "Added full backward compatibility", timestamp: "2021-10-11T19:53:45Z", author: { name: "Gianni Carafa", email: "gianni.carafa@srf.ch" }, committer: { name: "Gianni Carafa", email: "gianni.carafa@srf.ch" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 392653553, node_id: "MDEwOlJlcG9zaXRvcnkzOTI2NTM1NTM=", name: "github-action-dashboard", full_name: "mms-gianni/github-action-dashboard", private: false, owner: { login: "mms-gianni", id: 2052196, node_id: "MDQ6VXNlcjIwNTIxOTY=", avatar_url: "https://avatars.githubusercontent.com/u/2052196?v=4", gravatar_id: "", url: "https://api.github.com/users/mms-gianni", html_url: "https://github.com/mms-gianni", followers_url: "https://api.github.com/users/mms-gianni/followers", following_url: "https://api.github.com/users/mms-gianni/following{/other_user}", gists_url: "https://api.github.com/users/mms-gianni/gists{/gist_id}", starred_url: "https://api.github.com/users/mms-gianni/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/mms-gianni/subscriptions", organizations_url: "https://api.github.com/users/mms-gianni/orgs", repos_url: "https://api.github.com/users/mms-gianni/repos", events_url: "https://api.github.com/users/mms-gianni/events{/privacy}", received_events_url: "https://api.github.com/users/mms-gianni/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/mms-gianni/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: true, url: "https://api.github.com/repos/mms-gianni/github-action-dashboard", forks_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/deployments", }, }, { id: 1328631293, name: "ci", node_id: "WFR_kwLOFCwDGs5PMU39", head_branch: "add-heroku-deployment", head_sha: "60d00cace8ca2e509623200a5e037bad603f1a95", run_number: 73, event: "pull_request", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4017206827, check_suite_node_id: "CS_kwDOFCwDGs7vcbYr", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1328631293", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1328631293", pull_requests: [], created_at: "2021-10-11T10:55:47Z", updated_at: "2021-10-11T11:04:56Z", run_attempt: 1, run_started_at: "2021-10-11T10:55:47Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1328631293/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1328631293/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4017206827", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1328631293/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1328631293/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1328631293/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "60d00cace8ca2e509623200a5e037bad603f1a95", tree_id: "c0f8a033f81912ca97eaab28d6ad902be9e40386", message: "fix merge conflicts, remove code duplication", timestamp: "2021-10-11T10:55:40Z", author: { name: "Gianni Carafa", email: "gianni.carafa@srf.ch" }, committer: { name: "Gianni Carafa", email: "gianni.carafa@srf.ch" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 392653553, node_id: "MDEwOlJlcG9zaXRvcnkzOTI2NTM1NTM=", name: "github-action-dashboard", full_name: "mms-gianni/github-action-dashboard", private: false, owner: { login: "mms-gianni", id: 2052196, node_id: "MDQ6VXNlcjIwNTIxOTY=", avatar_url: "https://avatars.githubusercontent.com/u/2052196?v=4", gravatar_id: "", url: "https://api.github.com/users/mms-gianni", html_url: "https://github.com/mms-gianni", followers_url: "https://api.github.com/users/mms-gianni/followers", following_url: "https://api.github.com/users/mms-gianni/following{/other_user}", gists_url: "https://api.github.com/users/mms-gianni/gists{/gist_id}", starred_url: "https://api.github.com/users/mms-gianni/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/mms-gianni/subscriptions", organizations_url: "https://api.github.com/users/mms-gianni/orgs", repos_url: "https://api.github.com/users/mms-gianni/repos", events_url: "https://api.github.com/users/mms-gianni/events{/privacy}", received_events_url: "https://api.github.com/users/mms-gianni/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/mms-gianni/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: true, url: "https://api.github.com/repos/mms-gianni/github-action-dashboard", forks_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/mms-gianni/github-action-dashboard/deployments", }, }, { id: 1322495198, name: "ci", node_id: "WFR_kwLOFCwDGs5O06ze", head_branch: "v1.4.0", head_sha: "768300fdb2d88f16d13f757827ff42a311fbb96e", run_number: 72, event: "push", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4004491368, check_suite_node_id: "CS_kwDOFCwDGs7ur7Bo", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322495198", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1322495198", pull_requests: [], created_at: "2021-10-09T02:03:23Z", updated_at: "2021-10-09T02:03:54Z", run_attempt: 1, run_started_at: "2021-10-09T02:03:23Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322495198/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322495198/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4004491368", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322495198/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322495198/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322495198/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "768300fdb2d88f16d13f757827ff42a311fbb96e", tree_id: "ad7c89b83e51a2622b01ec2b9de1ac167746d955", message: "Add run duration (#14)\n" + "\n" + "* Update packages\r\n" + "* Added run duration\r\n" + "* Changed date formatting\r\n" + "* chore: update screenshot\r\n" + "* Add smee-client info\r\n" + "* add debug statements\r\n" + "* Add try/catch in webhook", timestamp: "2021-10-09T01:50:30Z", author: { name: "Chris Kinsman", email: "chriskinsman@users.noreply.github.com", }, committer: { name: "GitHub", email: "noreply@github.com" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1322475149, name: "ci", node_id: "WFR_kwLOFCwDGs5O016N", head_branch: "main", head_sha: "768300fdb2d88f16d13f757827ff42a311fbb96e", run_number: 71, event: "push", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4004449993, check_suite_node_id: "CS_kwDOFCwDGs7urw7J", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322475149", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1322475149", pull_requests: [], created_at: "2021-10-09T01:50:32Z", updated_at: "2021-10-09T01:58:55Z", run_attempt: 1, run_started_at: "2021-10-09T01:50:32Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322475149/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322475149/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4004449993", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322475149/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322475149/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322475149/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "768300fdb2d88f16d13f757827ff42a311fbb96e", tree_id: "ad7c89b83e51a2622b01ec2b9de1ac167746d955", message: "Add run duration (#14)\n" + "\n" + "* Update packages\r\n" + "* Added run duration\r\n" + "* Changed date formatting\r\n" + "* chore: update screenshot\r\n" + "* Add smee-client info\r\n" + "* add debug statements\r\n" + "* Add try/catch in webhook", timestamp: "2021-10-09T01:50:30Z", author: { name: "Chris Kinsman", email: "chriskinsman@users.noreply.github.com", }, committer: { name: "GitHub", email: "noreply@github.com" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1322210274, name: "ci", node_id: "WFR_kwLOFCwDGs5Oz1Pi", head_branch: "duration", head_sha: "c41657a195fd9667c0389c82cf8bc222d9ff8565", run_number: 70, event: "pull_request", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4003914755, check_suite_node_id: "CS_kwDOFCwDGs7upuQD", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322210274", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1322210274", pull_requests: [], created_at: "2021-10-08T23:32:14Z", updated_at: "2021-10-08T23:41:47Z", run_attempt: 1, run_started_at: "2021-10-08T23:32:14Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322210274/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322210274/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4003914755", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322210274/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322210274/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322210274/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "c41657a195fd9667c0389c82cf8bc222d9ff8565", tree_id: "ad7c89b83e51a2622b01ec2b9de1ac167746d955", message: "fix getUsage call", timestamp: "2021-10-08T23:32:07Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1322210261, name: "ci", node_id: "WFR_kwLOFCwDGs5Oz1PV", head_branch: "duration", head_sha: "c41657a195fd9667c0389c82cf8bc222d9ff8565", run_number: 69, event: "push", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4003914676, check_suite_node_id: "CS_kwDOFCwDGs7upuO0", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322210261", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1322210261", pull_requests: [], created_at: "2021-10-08T23:32:13Z", updated_at: "2021-10-08T23:41:21Z", run_attempt: 1, run_started_at: "2021-10-08T23:32:13Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322210261/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322210261/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4003914676", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322210261/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322210261/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322210261/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "c41657a195fd9667c0389c82cf8bc222d9ff8565", tree_id: "ad7c89b83e51a2622b01ec2b9de1ac167746d955", message: "fix getUsage call", timestamp: "2021-10-08T23:32:07Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1322191435, name: "ci", node_id: "WFR_kwLOFCwDGs5OzwpL", head_branch: "duration", head_sha: "11acc9f09f2e46fb4b69287bf6350cb54047ed89", run_number: 68, event: "pull_request", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4003871146, check_suite_node_id: "CS_kwDOFCwDGs7upjmq", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322191435", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1322191435", pull_requests: [], created_at: "2021-10-08T23:21:43Z", updated_at: "2021-10-08T23:33:51Z", run_attempt: 1, run_started_at: "2021-10-08T23:21:43Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322191435/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322191435/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4003871146", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322191435/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322191435/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322191435/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "11acc9f09f2e46fb4b69287bf6350cb54047ed89", tree_id: "d0ac29829cc4f0be1f44a9a020f32114cf09ad31", message: "Add try/catch in webhook", timestamp: "2021-10-08T23:21:36Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1322191258, name: "ci", node_id: "WFR_kwLOFCwDGs5Ozwma", head_branch: "duration", head_sha: "11acc9f09f2e46fb4b69287bf6350cb54047ed89", run_number: 67, event: "push", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4003870866, check_suite_node_id: "CS_kwDOFCwDGs7upjiS", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322191258", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1322191258", pull_requests: [], created_at: "2021-10-08T23:21:41Z", updated_at: "2021-10-08T23:30:46Z", run_attempt: 1, run_started_at: "2021-10-08T23:21:41Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322191258/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322191258/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4003870866", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322191258/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322191258/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322191258/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "11acc9f09f2e46fb4b69287bf6350cb54047ed89", tree_id: "d0ac29829cc4f0be1f44a9a020f32114cf09ad31", message: "Add try/catch in webhook", timestamp: "2021-10-08T23:21:36Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1322099234, name: "ci", node_id: "WFR_kwLOFCwDGs5OzaIi", head_branch: "duration", head_sha: "75b7ebbcf8ef4d708dcb09a2a3785cc92a3e50b8", run_number: 66, event: "pull_request", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4003650070, check_suite_node_id: "CS_kwDOFCwDGs7uotoW", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322099234", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1322099234", pull_requests: [], created_at: "2021-10-08T22:35:17Z", updated_at: "2021-10-08T22:44:36Z", run_attempt: 1, run_started_at: "2021-10-08T22:35:17Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322099234/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322099234/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4003650070", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322099234/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322099234/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322099234/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "75b7ebbcf8ef4d708dcb09a2a3785cc92a3e50b8", tree_id: "fa2eb1f6679963013e9bb1bb69472cbd4addef1e", message: "Update readme.md", timestamp: "2021-10-08T22:35:09Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1322099170, name: "ci", node_id: "WFR_kwLOFCwDGs5OzaHi", head_branch: "duration", head_sha: "75b7ebbcf8ef4d708dcb09a2a3785cc92a3e50b8", run_number: 65, event: "push", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4003649879, check_suite_node_id: "CS_kwDOFCwDGs7uotlX", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322099170", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1322099170", pull_requests: [], created_at: "2021-10-08T22:35:15Z", updated_at: "2021-10-08T22:45:56Z", run_attempt: 1, run_started_at: "2021-10-08T22:35:15Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322099170/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322099170/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4003649879", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322099170/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322099170/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1322099170/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "75b7ebbcf8ef4d708dcb09a2a3785cc92a3e50b8", tree_id: "fa2eb1f6679963013e9bb1bb69472cbd4addef1e", message: "Update readme.md", timestamp: "2021-10-08T22:35:09Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1321637725, name: "ci", node_id: "WFR_kwLOFCwDGs5Oxpdd", head_branch: "duration", head_sha: "cf89070c2e1e3b87c0c8831bd6999f0b3cec7e46", run_number: 64, event: "pull_request", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4002436347, check_suite_node_id: "CS_kwDOFCwDGs7ukFT7", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321637725", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1321637725", pull_requests: [], created_at: "2021-10-08T19:31:29Z", updated_at: "2021-10-08T19:40:24Z", run_attempt: 1, run_started_at: "2021-10-08T19:31:29Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321637725/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321637725/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4002436347", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321637725/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321637725/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321637725/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "cf89070c2e1e3b87c0c8831bd6999f0b3cec7e46", tree_id: "83e7fc5810b3960832b7a6411b7cb93b511f45e2", message: "Add debug statements", timestamp: "2021-10-08T19:31:22Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1321637646, name: "ci", node_id: "WFR_kwLOFCwDGs5OxpcO", head_branch: "duration", head_sha: "cf89070c2e1e3b87c0c8831bd6999f0b3cec7e46", run_number: 63, event: "push", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4002436089, check_suite_node_id: "CS_kwDOFCwDGs7ukFP5", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321637646", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1321637646", pull_requests: [], created_at: "2021-10-08T19:31:27Z", updated_at: "2021-10-08T19:41:29Z", run_attempt: 1, run_started_at: "2021-10-08T19:31:27Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321637646/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321637646/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4002436089", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321637646/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321637646/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321637646/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "cf89070c2e1e3b87c0c8831bd6999f0b3cec7e46", tree_id: "83e7fc5810b3960832b7a6411b7cb93b511f45e2", message: "Add debug statements", timestamp: "2021-10-08T19:31:22Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1321602064, name: "ci", node_id: "WFR_kwLOFCwDGs5OxgwQ", head_branch: "duration", head_sha: "c77d6081007a2d6379b9afe80eb3544bf4eb369a", run_number: 62, event: "pull_request", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4002332130, check_suite_node_id: "CS_kwDOFCwDGs7ujr3i", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321602064", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1321602064", pull_requests: [], created_at: "2021-10-08T19:17:26Z", updated_at: "2021-10-08T19:26:16Z", run_attempt: 1, run_started_at: "2021-10-08T19:17:26Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321602064/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321602064/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4002332130", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321602064/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321602064/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321602064/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "c77d6081007a2d6379b9afe80eb3544bf4eb369a", tree_id: "bc77120d8b67b34ec55071f73b86bd19f981d418", message: "Add smee-client info", timestamp: "2021-10-08T19:17:17Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1321601828, name: "ci", node_id: "WFR_kwLOFCwDGs5Oxgsk", head_branch: "duration", head_sha: "c77d6081007a2d6379b9afe80eb3544bf4eb369a", run_number: 61, event: "push", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4002331713, check_suite_node_id: "CS_kwDOFCwDGs7ujrxB", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321601828", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1321601828", pull_requests: [], created_at: "2021-10-08T19:17:24Z", updated_at: "2021-10-08T19:26:17Z", run_attempt: 1, run_started_at: "2021-10-08T19:17:24Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321601828/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321601828/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4002331713", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321601828/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321601828/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321601828/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "c77d6081007a2d6379b9afe80eb3544bf4eb369a", tree_id: "bc77120d8b67b34ec55071f73b86bd19f981d418", message: "Add smee-client info", timestamp: "2021-10-08T19:17:17Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, { id: 1321360895, name: "ci", node_id: "WFR_kwLOFCwDGs5Owl3_", head_branch: "duration", head_sha: "9902dbe3c94ddcebfb13deadc30e8c2592a5fa3e", run_number: 60, event: "pull_request", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4001689016, check_suite_node_id: "CS_kwDOFCwDGs7uhO24", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321360895", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1321360895", pull_requests: [], created_at: "2021-10-08T17:56:56Z", updated_at: "2021-10-08T18:08:48Z", run_attempt: 1, run_started_at: "2021-10-08T17:56:56Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321360895/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321360895/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4001689016", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321360895/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321360895/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1321360895/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "9902dbe3c94ddcebfb13deadc30e8c2592a5fa3e", tree_id: "53417c1f87064282c3fd8fcab94d2d26244cfa89", message: "chore: update screenshot", timestamp: "2021-10-08T17:56:47Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net" }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net" }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: {}, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", }, head_repository: {}, }, ], webHooks: [ { id: "f5de1790-69db-11ec-95b0-5075a6c318d0", name: "workflow_run", signature: "sha1=03fa882b246d2bf82a1edb83bbd72031514f65b5", signature256: "sha256=a9d3ddc6a8bb95f9515254ccf91794a7f9b5dc9a0ac959f37e836b9d0ebf4543", payload: { action: "completed", workflow_run: { id: 1639371220, name: "ci", node_id: "WFR_kwLOFCwDGs5httHU", head_branch: "addunittests", head_sha: "31b4d27caf7e1dc45ef64fc50d2980fb2475cc3d", run_number: 92, event: "pull_request", status: "completed", conclusion: "success", workflow_id: 5777275, check_suite_id: 4797575871, check_suite_node_id: "CS_kwDOFCwDGs8AAAABHfUyvw", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1639371220", html_url: "https://github.com/chriskinsman/github-action-dashboard/actions/runs/1639371220", pull_requests: [], created_at: "2021-12-31T01:33:30Z", updated_at: "2021-12-31T01:49:58Z", run_attempt: 1, run_started_at: "2021-12-31T01:33:30Z", jobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1639371220/jobs", logs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1639371220/logs", check_suite_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/check-suites/4797575871", artifacts_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1639371220/artifacts", cancel_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1639371220/cancel", rerun_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/runs/1639371220/rerun", previous_attempt_url: null, workflow_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", head_commit: { id: "31b4d27caf7e1dc45ef64fc50d2980fb2475cc3d", tree_id: "59a49254eb00bf967fc50148ea37d89538c2e9de", message: "feat: add run scripts", timestamp: "2021-12-31T01:33:07Z", author: { name: "Chris Kinsman", email: "chris@kinsman.net", }, committer: { name: "Chris Kinsman", email: "chris@kinsman.net", }, }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, head_repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", }, }, workflow: { id: 5777275, node_id: "MDg6V29ya2Zsb3c1Nzc3Mjc1", name: "ci", path: ".github/workflows/ci.yaml", state: "active", created_at: "2021-02-12T20:43:01.000Z", updated_at: "2021-02-12T22:21:23.000Z", url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/actions/workflows/5777275", html_url: "https://github.com/chriskinsman/github-action-dashboard/blob/main/.github/workflows/ci.yaml", badge_url: "https://github.com/chriskinsman/github-action-dashboard/workflows/ci/badge.svg", }, repository: { id: 338428698, node_id: "MDEwOlJlcG9zaXRvcnkzMzg0Mjg2OTg=", name: "github-action-dashboard", full_name: "chriskinsman/github-action-dashboard", private: false, owner: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, html_url: "https://github.com/chriskinsman/github-action-dashboard", description: "A dashboard to keep track of the status of your GitHub Actions", fork: false, url: "https://api.github.com/repos/chriskinsman/github-action-dashboard", forks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/forks", keys_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/keys{/key_id}", collaborators_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/collaborators{/collaborator}", teams_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/teams", hooks_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/hooks", issue_events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/events{/number}", events_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/events", assignees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/assignees{/user}", branches_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/branches{/branch}", tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/tags", blobs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/blobs{/sha}", git_tags_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/tags{/sha}", git_refs_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/refs{/sha}", trees_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/trees{/sha}", statuses_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/statuses/{sha}", languages_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/languages", stargazers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/stargazers", contributors_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contributors", subscribers_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscribers", subscription_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/subscription", commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/commits{/sha}", git_commits_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/git/commits{/sha}", comments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/comments{/number}", issue_comment_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues/comments{/number}", contents_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/contents/{+path}", compare_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/compare/{base}...{head}", merges_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/merges", archive_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/{archive_format}{/ref}", downloads_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/downloads", issues_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/issues{/number}", pulls_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/pulls{/number}", milestones_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/milestones{/number}", notifications_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/notifications{?since,all,participating}", labels_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/labels{/name}", releases_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/releases{/id}", deployments_url: "https://api.github.com/repos/chriskinsman/github-action-dashboard/deployments", created_at: "2021-02-12T20:42:23Z", updated_at: "2021-12-31T01:37:04Z", pushed_at: "2021-12-31T01:37:01Z", git_url: "git://github.com/chriskinsman/github-action-dashboard.git", ssh_url: "git@github.com:chriskinsman/github-action-dashboard.git", clone_url: "https://github.com/chriskinsman/github-action-dashboard.git", svn_url: "https://github.com/chriskinsman/github-action-dashboard", homepage: null, size: 2868, stargazers_count: 66, watchers_count: 66, language: "JavaScript", has_issues: true, has_projects: true, has_downloads: true, has_wiki: true, has_pages: false, forks_count: 12, mirror_url: null, archived: false, disabled: false, open_issues_count: 4, license: { key: "mit", name: "MIT License", spdx_id: "MIT", url: "https://api.github.com/licenses/mit", node_id: "MDc6TGljZW5zZTEz", }, allow_forking: true, is_template: false, topics: [], visibility: "public", forks: 12, open_issues: 4, watchers: 66, default_branch: "main", }, sender: { login: "chriskinsman", id: 1522018, node_id: "MDQ6VXNlcjE1MjIwMTg=", avatar_url: "https://avatars.githubusercontent.com/u/1522018?v=4", gravatar_id: "", url: "https://api.github.com/users/chriskinsman", html_url: "https://github.com/chriskinsman", followers_url: "https://api.github.com/users/chriskinsman/followers", following_url: "https://api.github.com/users/chriskinsman/following{/other_user}", gists_url: "https://api.github.com/users/chriskinsman/gists{/gist_id}", starred_url: "https://api.github.com/users/chriskinsman/starred{/owner}{/repo}", subscriptions_url: "https://api.github.com/users/chriskinsman/subscriptions", organizations_url: "https://api.github.com/users/chriskinsman/orgs", repos_url: "https://api.github.com/users/chriskinsman/repos", events_url: "https://api.github.com/users/chriskinsman/events{/privacy}", received_events_url: "https://api.github.com/users/chriskinsman/received_events", type: "User", site_admin: false, }, installation: { id: 14731669, node_id: "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMTQ3MzE2Njk=", }, }, }, ], }; ================================================ FILE: tests/unit/runstatus.test.js ================================================ const { createServer } = require("http"); const { Server } = require("socket.io"); const Client = require("../../client/node_modules/socket.io-client"); const RunStatus = require("../../runstatus"); let httpServer; let port; let io; let runStatus; beforeAll((done) => { const httpServer = createServer(); io = new Server(httpServer); httpServer.listen(() => { port = httpServer.address().port; runStatus = new RunStatus(); runStatus.start(httpServer); done(); }); }); afterAll(() => { io.close(); }); test("RunStatus - Connect", (done) => { // Create a client const clientSocket = new Client(`http://localhost:${port}`); clientSocket.on("connect", () => { clientSocket.on("updatedRun", (run) => { expect(run.runId).toBe(123); clientSocket.close(); done(); }); // Emit the message runStatus.updatedRun({ runId: 123 }); }); }); ================================================ FILE: tests/unit/webooks.test.js ================================================ const WebHooks = require("../../webhooks"); const axios = require("axios").default; const { Webhooks: OctoWebhooks } = require("@octokit/webhooks"); const mockData = require("./mock_data"); test("WebHooks - Init Disabled", () => { const webHooks = new WebHooks(8080, null, 8081, "/", null, null, null); expect(webHooks._enabled).toBeFalsy(); }); test(`WebHooks - Init Default`, () => { const webHooks = new WebHooks(8080, "XXXXX", 8081, "/", null, null, null); expect(webHooks._sitePort).toBe(8080); expect(webHooks._webhookPort).toBe(8081); expect(webHooks._defaultPath).toBe("/"); expect(webHooks._path).toBe("/"); expect(webHooks._secret).toBe("XXXXX"); expect(webHooks._enabled).toBeTruthy(); }); test(`WebHooks - Init Same Port`, () => { // Setup jest.mock("express"); const Express = require("express"); const use = jest.fn(() => {}); Express.mockImplementation(() => { return { use, }; }); const express = new Express(); const webHooks = new WebHooks( 8080, "XXXXX", 8080, "/webhook", null, null, express ); expect(webHooks._sitePort).toBe(8080); expect(webHooks._webhookPort).toBe(8080); expect(webHooks._defaultPath).toBe("/webhook"); expect(webHooks._path).toBe("/webhook"); expect(webHooks._secret).toBe("XXXXX"); expect(webHooks._enabled).toBeTruthy(); webHooks.start(); expect(use.mock.calls.length).toBe(1); webHooks.stop(); }); test(`WebHooks - Init Same Port bad path`, () => { expect(() => { const webHooks = new WebHooks(8080, "XXXX", 8080, "/", null, null, null); }).toThrow(); }); describe(`WebHooks - HTTP Tests`, () => { let webHooks; let octoWebhooks; let workflowRun; const secret = "XXXXXXX"; const webHookPort = 8081; beforeEach(() => { octoWebhooks = new OctoWebhooks({ secret: secret }); webHooks = new WebHooks(8080, secret, webHookPort, "/", null, null, null); workflowRun = jest .spyOn(webHooks, "workflowRun") .mockImplementation(() => {}); webHooks.start(); }); afterEach(() => { webHooks.stop(); jest.restoreAllMocks(); }); test(`Ping`, async () => { const response = await axios.get(`http://localhost:${webHookPort}/ping`); expect(response.status).toBe(200); }); test(`Workflow_Run Message`, async () => { const sig = await octoWebhooks.sign(mockData.webHooks[0].payload); const response = await axios.post( `http://localhost:${webHookPort}/`, mockData.webHooks[0].payload, { headers: { "X-GitHub-Event": mockData.webHooks[0].name, "X-GitHub-Delivery": mockData.webHooks[0].id, "X-Hub-Signature-256": sig, "Content-Type": "application/json", }, } ); expect(response.status).toBe(200); expect(workflowRun.mock.calls.length).toBe(1); }); }); test(`WebHooks - workflowRun Completed No Usage`, async () => { jest.mock("../../github"); const GitHub = require("../../github"); const getUsage = jest.fn(async () => { return null; }); GitHub.mockImplementation(() => { return { getUsage, }; }); jest.mock("../../actions"); const Actions = require("../../actions"); const mergeRuns = jest.fn(() => {}); Actions.mockImplementation(() => { return { mergeRuns, }; }); const gitHub = new GitHub(); const actions = new Actions(gitHub); webHooks = new WebHooks( 8080, "XXXX", 8080, "/webhook", gitHub, actions, null ); await webHooks.workflowRun(mockData.webHooks[0]); expect(getUsage.mock.calls.length).toBe(1); expect(mergeRuns.mock.calls.length).toBe(1); }); test(`WebHooks - workflowRun Completed Usage`, async () => { const durationMs = 1234; jest.mock("../../github"); const GitHub = require("../../github"); const getUsage = jest.fn(async () => { return { run_duration_ms: durationMs }; }); GitHub.mockImplementation(() => { return { getUsage, }; }); jest.mock("../../actions"); const Actions = require("../../actions"); const mergeRuns = jest.fn(() => {}); Actions.mockImplementation(() => { return { mergeRuns, }; }); const gitHub = new GitHub(); const actions = new Actions(gitHub); webHooks = new WebHooks( 8080, "XXXX", 8080, "/webhook", gitHub, actions, null ); await webHooks.workflowRun(mockData.webHooks[0]); expect(getUsage.mock.calls.length).toBe(1); expect(mergeRuns.mock.calls.length).toBe(1); expect(mergeRuns.mock.calls[0][0][0].durationMs).toBe(durationMs); }); test(`WebHooks - workflowRun Pending`, async () => { jest.mock("../../github"); const GitHub = require("../../github"); const getUsage = jest.fn(async () => { return null; }); GitHub.mockImplementation(() => { return { getUsage, }; }); jest.mock("../../actions"); const Actions = require("../../actions"); const mergeRuns = jest.fn(() => {}); Actions.mockImplementation(() => { return { mergeRuns, }; }); const gitHub = new GitHub(); const actions = new Actions(gitHub); webHooks = new WebHooks( 8080, "XXXX", 8080, "/webhook", gitHub, actions, null ); const pending = { ...mockData.webHooks[0] }; pending.payload.workflow_run.status = "pending"; await webHooks.workflowRun(pending); expect(getUsage.mock.calls.length).toBe(0); expect(mergeRuns.mock.calls.length).toBe(1); }); ================================================ FILE: webhooks.js ================================================ const debug = require("debug")("action-dashboard:webhooks"); const { Webhooks, createNodeMiddleware } = require("@octokit/webhooks"); const http = require("http"); class WebHooks { constructor( sitePort, secret, webhookPort, webhookPath, gitHub, actions, expressApp ) { if (secret) { this._secret = secret; this._webhookPort = webhookPort; this._sitePort = sitePort; this._gitHub = gitHub; this._actions = actions; if (sitePort === webhookPort) { this._defaultPath = "/webhook"; } else { this._defaultPath = "/"; } this._path = webhookPath || this._defaultPath; // Fail in the case that the ports for the main site and webhooks // are the same and the path is explicitly set to / if (sitePort === webhookPort && this._path === "/") { throw new Error( "Path cannot be / when the webhooks are running on the same port as the main site" ); } this._expressApp = expressApp; this._enabled = true; } } start() { if (this._enabled) { debug( `Setting up webhooks port: ${this._webhookPort}, path: ${this._path}` ); // OctoKit webhooks, not this module const webhooks = new Webhooks({ secret: this._secret, }); webhooks.onError((error) => { console.dir(error); // console.error( // `Webhook error occured in "${error.event.name} handler: ${error.stack}"` // ); }); const middleware = createNodeMiddleware(webhooks, { path: this._path }); webhooks.on("workflow_run", this.workflowRun); if (this._sitePort !== this._webhookPort) { this._server = http .createServer((req, res) => { debug(`received request path: ${req.url}`); if (req.url === "/ping") { debug("ping"); res.statusCode = 200; res.end(); } else { middleware(req, res); } }) .listen({ port: this._webhookPort }, () => { console.log( `Listening for webhooks on ${this._webhookPort} at ${this._path}` ); }); } else { this._expressApp.use(this._path, middleware); console.log( `Listening for webhooks on ${this._webhookPort} at ${this._path}` ); } } else { debug("Webhooks disabled"); } } // Mainly used by testing functions to cleanly shutdown web server stop() { if (this._enabled && this._server && this._server.listening) { this._server.close(); } } workflowRun = async ({ id, name, payload }) => { try { debug(`workflow_run received id: ${id}, name: ${name}`, payload); let usage = null; if (payload.workflow_run.status === "completed") { debug(`getting usage for id: ${id}, name: ${name}`); usage = await this._gitHub.getUsage( payload.workflow_run.repository.owner.login, payload.workflow_run.repository.name, payload.workflow_run.workflow_id, payload.workflow_run.id ); } debug(`merging runs for id: ${id}, name: ${name}`); this._actions.mergeRuns([ { runId: payload.workflow_run.id, repo: payload.workflow_run.repository.name, owner: payload.workflow_run.repository.owner.login, workflowId: payload.workflow_run.workflow_id, runNumber: payload.workflow_run.run_number, workflow: payload.workflow_run.name, branch: payload.workflow_run.head_branch, sha: payload.workflow_run.head_sha, message: payload.workflow_run.head_commit.message, committer: payload.workflow_run.head_commit.committer.name, status: payload.workflow_run.status === "completed" ? payload.workflow_run.conclusion : payload.workflow_run.status, createdAt: payload.workflow_run.created_at, updatedAt: payload.workflow_run.updated_at, durationMs: usage?.run_duration_ms, }, ]); debug(`runs merged for id: ${id}, name: ${name}`); } catch (e) { console.dir(e); console.error( `Error processing workflow_run received id: ${id}, name: ${name}`, payload ); } }; } module.exports = WebHooks;