GitHub Action
Issue Dashboard
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.
A dashboard contains widgets that contain data about your project:
String widgets display a string.
Number widgets display numeric values in a compact form.
Graph widgets display a bar chart.
Table widgets display multiple rows in tabular form.
For more information about widgets, see the documentation.
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.
-
Static values (Rendered output) The simplest way to configure a dashboard is using static values. This may be useful to provide a rendered dashboard to existing data, which can be exported as YAML or JSON configuration.
-
GitHub issue and pull request queries (Rendered output) Dashboards can query GitHub issue and pull request data easily, by providing the query string. Either the number of matching results will be displayed (for numeric values) or the actual results of the query will be shown (for tables). Helpful date and time manipulation functions are included.
-
JavaScript expressions (Rendered output) Dashboards can execute JavaScript expressions to provide the values for widgets.
For more information about configuration, see the documentation.
Documentation is available at https://ethomson.github.io/issue-dashboard/documentation/.
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.
Available under the MIT license, see the included LICENSE.txt
file for details.