Grafana GitHub datasource
The GitHub datasource allows GitHub API data to be visually represented in Grafana dashboards.
Github API V4 (graphql)
This datasource uses the
githubv4 package, which is under active development.
- [x] Releases
- [x] Commits
- [x] Repositories
- [x] Issues
- [x] Organizations
- [x] Labels
- [x] Milestones
- [x] Response Caching
- [ ] Deploys
- [x] Visualize queries
- [x] Template variables
- [x] Annotations
Caching on this plugin is always enabled.
|Github Enterprise URL||false|
To create a new Access Token, navigate to Personal Access Tokens and create a click "Generate new token."
Annotations overlay events on a graph.
With annotations, you can display:
- Pull Requests
on a graph.
All annotations require that you select a field to display on the annotation, and a field that represents the time that the event occured.
Variables allow you to substitute values in a panel with pre-defined values.
You can reference them inside queries, allowing users to configure parameters such as
Access Token Permissions
For all repositories:
An extra setting is required for private repositories
repo (Full control of private repositories)
For documentation on importing dashboards, check out the documentation on grafana.com
The sample dashboard can be obtained from either of two places.
From the Grafana dashboards page located here
From this repository
If loading it from this repository, open Grafana and click "Import Dashboard".
Copy the JSON in
./src/dashboards/dashboard.json, and paste it into the "Import via panel json" box.
Frequently Asked Questions
- I am using GitHub OAuth on Grafana. Can my users make requests with their individual GitHub accounts instead of a shared
No. This requires changes in Grafana first. See this issue in the Grafana project.
- Why does it sometimes take up to 5 minutes for my new pull request / new issue / new commit to show up?
We have aggressive caching enabled due to GitHub's rate limiting policies. When selecting a time range like "Last hour", a combination of the queries for each panel and the time range is cached temporarily.
- Why are there two selection options for Pull Requests and Issue times when creating annotations?
There are two times that affect an annotation:
- The time range of the dashboard or panel
- The time that should be used to display the event on the graph
The first selection is used to filter the events that display on the graph. For example, if you select "closed at", only events that were "closed" in your dashboard's time range will be displayed on the graph.
The second selection is used to determine where on the graph the event should be displayed.
Typically these will be the same, however there are some cases where you may want them to be different.
Installing GitHub on Grafana Cloud:
Installing plugins on a Grafana Cloud instance is a one-click install; same with updates. Cool, right?
For more information, visit the docs on plugin installation.
Installing on a local Grafana:
For local instances, plugins are installed and updated via a simple CLI command. Plugins are not updated automatically, however you will be notified when updates are available right within your Grafana.
1. Install the Data Source
Use the grafana-cli tool to install GitHub from the commandline:
grafana-cli plugins install
The plugin will be installed into your grafana plugins directory; the default is /var/lib/grafana/plugins. More information on the cli tool.
Alternatively, you can manually download the .zip file for your architecture below and unpack it into your grafana plugins directory.
Alternatively, you can manually download the .zip file and unpack it into your grafana plugins directory.
2. Configure the Data Source
Accessed from the Grafana main menu, newly installed data sources can be added immediately within the Data Sources section.
Next, click the Add data source button in the upper right. The data source will be available for selection in the Type select box.
To see a list of installed data sources, click the Plugins item in the main menu. Both core data sources and installed data sources will appear.
- Fixed issue where some time values were being renderred incorrectly
- Fixed issue where dashboard path was not incorrect
- Fixed issue where screenshots were not rendering on grafana.com (thanks @mjseaman)
- Added Tags to the list of queryable resources in the AnnotationsQueryEditor (thanks @nazzzzz)
- Added a message to the healthcheck success status (thanks @vladimirdotk)
- Added URL option for GitHub Enterprise Users (thanks @bmike78)
- Added Pull Request ID (Number), URL, and Repository name to pull request responses ( fixes #60 )
- Added the ability to search for all Pull Requests in an organization using the org: search term ( fixes #61 )
- Removed limit from repository list ( fixes #59 )
- Add the ability to disable time field filtering for pull requests ( fixes #57 )
- Add the ability to query repositories for variables ( fixes #52 )
- Fix scoped variables for repeating panels ( fixes #51 )
- The default time field for pull requests (Closed At) is now being displayed instead of an empty dropdown
- Initial release
What’s new in Grafana Enterprise Metrics 1.3, our scalable, self-hosted Prometheus service
Blog post 5 min
Introducing the new Open Distro for Elasticsearch plugin for Grafana, also available in Amazon Managed Service for Grafana
Blog post 3 min
Want to visualize software development insights with Grafana? With our new Jira Enterprise plugin, you can!
Blog post 5 min
A closer look at the admin API and plugin for centralized tenant adminstration and control in Grafana Enterprise Logs
Blog post 4 min
The new Splunk Infrastructure Monitoring plugin brings the SaaS formerly known as SignalFx to your Grafana dashboards
Blog post 5 min
The Splunk plugin for Grafana now supports data links for jumping directly from logs to traces
Blog post 5 min
With the new AWS IoT SiteWise plugin, you can visualize and monitor your equipment data in Grafana dashboards
Blog post 2 min