Github Dashboard - gh-dashboard.kyma.dev
This dashboard is used to visualize the status of our Kyma Projects, and it's focused on tracking external contributions.
This is a Vuejs porjects using Github login to retrieve a working token and avoid using a common shared token to avoid hitting the Girthub API limits.
First you have to install dependencies. You can use yarn
or npm
yarn
to run on local
yarn run dev
yarn build
yarn dev
This website is using the Netlify Oauth2 integration. You can adapt this project to fit your needs, by creating your own Netlify Website and provide this via a .env
variable to your app.
VUE_APP_NETLIFY_APP_ID=xxxx-your-netlify-site-id
You will need to modify the inital organizations that are checked, by modifying the store.js
targetOrgs to fit your organization structure targetOrgs: { 'kyma-project': null, 'kyma-incubator': null }
For trying out Big Query with your data, we recommend creating a copy first. In the example bellow we use _TABLE_SUFFIX
to iterate over the dates that start with 20*
+ 180804
- the day of our first commit.
CREATE TABLE `sap-kyma-vvcloud-dev.kyma_github_stats.all` AS
SELECT
*
FROM
`githubarchive.day.20*`
WHERE
_TABLE_SUFFIX BETWEEN '180704'AND '180710'
AND org.login IN ('kyma-project',
'kyma-incubator')
After this we can trty our Queries in a smaller subset:
SELECT
FORMAT_TIMESTAMP('%F', created_at) AS date,
org.login AS organization,
repo.name AS repository,
actor.login AS actor,
type,
JSON_EXTRACT_SCALAR(payload,
'$.action') AS action,
COUNT(*) AS count
FROM
`sap-kyma-vvcloud-dev.kyma_github_stats.all`
WHERE
type IN ('IssuesEvent','PullRequestEvent', 'WatchEvent')
AND org.login IN ('kyma-project',
'kyma-incubator')
GROUP BY
1,
2,
3,
4,
5,
6
ORDER BY
1 ASC
You can use the same query as above on fresh data by replacing FROM
with:
FROM
`githubarchive.day.20*`
WHERE
_TABLE_SUFFIX BETWEEN '180704'AND '180705'