issue-dashboard

CI

issue-dashboard is a framework for creating dashboards from user data on GitHub, utilizing GitHub Actions and GitHub Pages. You can collect data out of GitHub using issue queries or arbitrary JavaScript that you define, and this tool will generate dashboards in HTML or Markdown.

Overview

A dashboard contains widgets that contain data about your project:

String widgets display a string.

Strings

Number widgets display numeric values in a compact form.

Numbers

Graph widgets display a bar chart.

Graph

Table widgets display multiple rows in tabular form.

Table

For more information about widgets, see the documentation.

Installation

This dashboard tool is an action meant to be used in a GitHub Actions workflow. You should provide your input in your workflow, and it will produce HTML or Markdown. You can then either upload the result to GitHub Pages, or update an issue or file in the repository.

For example, a step in a GitHub Actions workflow to run this action:

- name: 'Generate Dashboard'
  uses: ethomson/issue-dashboard@v1
  with:
    config: |
      title: 'Dashboard'
      output:
        format: html
        filename: 'dashboard.html'
      sections:
      - title: 'Pull Requests'
        widgets:
        - type: 'table'
          title: 'New Pull Requests (This Week)'
          issue_query: 'repo:libgit2/libgit2 is:open is:issue created:>{{ date("-7 days") }} sort:created-asc'
    token: ${{ github.token }}

For more information about installation, see the documentation.

Example Configuration

For more information about configuration, see the documentation.

Documentation

Documentation is available at https://ethomson.github.io/issue-dashboard/documentation/.

Limitations

Currently, this tool only supports instantaneous data – for example: how many issues with a certain label are open right now, or how many pull requests are currently open that were created within the last week. It does not support time series, meaning you cannot plot a graph of the number of open issues per day.

License

Available under the MIT license, see the included LICENSE.txt file for details.