Created
April 27, 2021 19:54
-
-
Save christineywang/b24fef0a03158af039c813fcd2cc3f09 to your computer and use it in GitHub Desktop.
Jira JSON
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"limit": 100, | |
"name": "Annotations & Alerts", | |
"showIn": 0, | |
"type": "dashboard" | |
}, | |
{ | |
"annotation": { | |
"datasource": "GitHub", | |
"field": "name", | |
"options": { | |
"query": "is open", | |
"timeField": 1 | |
}, | |
"owner": "grafana", | |
"queryType": "Releases", | |
"refId": "", | |
"repository": "grafana", | |
"timeField": "created_at" | |
}, | |
"datasource": "GitHub", | |
"datasourceId": 9, | |
"enable": true, | |
"hide": false, | |
"iconColor": "#FF9830", | |
"limit": 100, | |
"name": "Releases", | |
"showIn": 0, | |
"tags": [], | |
"type": "tags" | |
} | |
] | |
}, | |
"editable": true, | |
"gnetId": null, | |
"graphTooltip": 0, | |
"id": 292, | |
"links": [], | |
"panels": [ | |
{ | |
"datasource": "Jira", | |
"fieldConfig": { | |
"defaults": { | |
"mappings": [ | |
{ | |
"from": "", | |
"id": 1, | |
"text": "🤓🦄🐝", | |
"to": "", | |
"type": 1, | |
"value": "null" | |
} | |
], | |
"thresholds": { | |
"mode": "absolute", | |
"steps": [ | |
{ | |
"color": "green", | |
"value": null | |
}, | |
{ | |
"color": "red", | |
"value": 80 | |
} | |
] | |
} | |
}, | |
"overrides": [] | |
}, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 0, | |
"y": 0 | |
}, | |
"id": 14, | |
"options": { | |
"colorMode": "value", | |
"graphMode": "area", | |
"justifyMode": "auto", | |
"orientation": "auto", | |
"reduceOptions": { | |
"calcs": [ | |
"mean" | |
], | |
"fields": "", | |
"values": false | |
}, | |
"text": {}, | |
"textMode": "auto" | |
}, | |
"pluginVersion": "7.5.4", | |
"targets": [ | |
{ | |
"domain": "issues", | |
"fields": [ | |
{ | |
"custom": "com.pyxis.greenhopper.jira:gh-sprint", | |
"items": "json", | |
"label": "Sprint Name", | |
"text": "Sprint Name", | |
"type": "array", | |
"value": "customfield_10020.name" | |
} | |
], | |
"jql": "project = ep", | |
"refId": "A" | |
} | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Sprint Name", | |
"type": "stat" | |
}, | |
{ | |
"datasource": "Jira", | |
"fieldConfig": { | |
"defaults": { | |
"mappings": [], | |
"noValue": "6", | |
"thresholds": { | |
"mode": "absolute", | |
"steps": [ | |
{ | |
"color": "light-orange", | |
"value": null | |
} | |
] | |
} | |
}, | |
"overrides": [] | |
}, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 6, | |
"y": 0 | |
}, | |
"id": 16, | |
"options": { | |
"colorMode": "background", | |
"graphMode": "area", | |
"justifyMode": "auto", | |
"orientation": "auto", | |
"reduceOptions": { | |
"calcs": [ | |
"mean" | |
], | |
"fields": "", | |
"values": false | |
}, | |
"text": {}, | |
"textMode": "auto" | |
}, | |
"pluginVersion": "7.5.4", | |
"targets": [ | |
{ | |
"domain": "issues", | |
"fields": [ | |
{ | |
"custom": "com.pyxis.greenhopper.jira:gh-sprint", | |
"items": "json", | |
"label": "Sprint Name", | |
"text": "Sprint Name", | |
"type": "array", | |
"value": "customfield_10020.name" | |
} | |
], | |
"jql": "", | |
"refId": "A" | |
} | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Days Left in Sprint", | |
"type": "stat" | |
}, | |
{ | |
"datasource": "Jira", | |
"fieldConfig": { | |
"defaults": { | |
"mappings": [], | |
"thresholds": { | |
"mode": "absolute", | |
"steps": [ | |
{ | |
"color": "purple", | |
"value": null | |
} | |
] | |
} | |
}, | |
"overrides": [] | |
}, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 12, | |
"y": 0 | |
}, | |
"id": 2, | |
"options": { | |
"colorMode": "background", | |
"graphMode": "area", | |
"justifyMode": "auto", | |
"orientation": "auto", | |
"reduceOptions": { | |
"calcs": [ | |
"sum" | |
], | |
"fields": "", | |
"values": false | |
}, | |
"text": {}, | |
"textMode": "auto" | |
}, | |
"pluginVersion": "7.5.4", | |
"targets": [ | |
{ | |
"domain": "issues", | |
"fields": [ | |
{ | |
"custom": "com.pyxis.greenhopper.jira:jsw-story-points", | |
"items": "", | |
"label": "Story point estimate", | |
"text": "Story point estimate", | |
"type": "number", | |
"value": "customfield_10016" | |
}, | |
{ | |
"custom": "", | |
"items": "", | |
"label": "Created", | |
"text": "Created", | |
"type": "datetime", | |
"value": "created" | |
} | |
], | |
"jql": "project = ep and type != epic", | |
"refId": "A" | |
} | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Story Point Estimate", | |
"type": "stat" | |
}, | |
{ | |
"datasource": "Jira", | |
"fieldConfig": { | |
"defaults": { | |
"mappings": [], | |
"thresholds": { | |
"mode": "absolute", | |
"steps": [ | |
{ | |
"color": "light-blue", | |
"value": null | |
} | |
] | |
} | |
}, | |
"overrides": [] | |
}, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 18, | |
"y": 0 | |
}, | |
"id": 4, | |
"options": { | |
"colorMode": "background", | |
"graphMode": "area", | |
"justifyMode": "auto", | |
"orientation": "auto", | |
"reduceOptions": { | |
"calcs": [ | |
"sum" | |
], | |
"fields": "", | |
"values": false | |
}, | |
"text": {}, | |
"textMode": "auto" | |
}, | |
"pluginVersion": "7.5.4", | |
"targets": [ | |
{ | |
"domain": "issues", | |
"fields": [ | |
{ | |
"custom": "com.pyxis.greenhopper.jira:jsw-story-points", | |
"items": "", | |
"label": "Story point estimate", | |
"text": "Story point estimate", | |
"type": "number", | |
"value": "customfield_10016" | |
}, | |
{ | |
"custom": "", | |
"items": "", | |
"label": "Created", | |
"text": "Created", | |
"type": "datetime", | |
"value": "created" | |
} | |
], | |
"jql": "project = ep and type != epic and status = done", | |
"refId": "A" | |
} | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Completed Story Points", | |
"type": "stat" | |
}, | |
{ | |
"aliasColors": {}, | |
"bars": false, | |
"dashLength": 10, | |
"dashes": false, | |
"datasource": "Jira", | |
"fieldConfig": { | |
"defaults": {}, | |
"overrides": [] | |
}, | |
"fill": 1, | |
"fillGradient": 0, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 0, | |
"y": 6 | |
}, | |
"hiddenSeries": false, | |
"id": 12, | |
"legend": { | |
"avg": false, | |
"current": false, | |
"max": false, | |
"min": false, | |
"show": true, | |
"total": false, | |
"values": false | |
}, | |
"lines": false, | |
"linewidth": 1, | |
"nullPointMode": "null", | |
"options": { | |
"alertThreshold": true | |
}, | |
"percentage": false, | |
"pluginVersion": "7.5.4", | |
"pointradius": 3, | |
"points": true, | |
"renderer": "flot", | |
"seriesOverrides": [ | |
{ | |
"alias": "Story point estimate", | |
"color": "#5794F2" | |
} | |
], | |
"spaceLength": 10, | |
"stack": false, | |
"steppedLine": false, | |
"targets": [ | |
{ | |
"domain": "issues", | |
"fields": [ | |
{ | |
"custom": "", | |
"items": "", | |
"label": "Created", | |
"text": "Created", | |
"type": "datetime", | |
"value": "created" | |
}, | |
{ | |
"custom": "com.pyxis.greenhopper.jira:jsw-story-points", | |
"items": "", | |
"label": "Story point estimate", | |
"text": "Story point estimate", | |
"type": "number", | |
"value": "customfield_10016" | |
} | |
], | |
"jql": "project = ep and type != epic", | |
"refId": "A" | |
} | |
], | |
"thresholds": [], | |
"timeFrom": null, | |
"timeRegions": [], | |
"timeShift": null, | |
"title": "Story Points Created by Day", | |
"tooltip": { | |
"shared": true, | |
"sort": 0, | |
"value_type": "individual" | |
}, | |
"type": "graph", | |
"xaxis": { | |
"buckets": null, | |
"mode": "time", | |
"name": null, | |
"show": true, | |
"values": [] | |
}, | |
"yaxes": [ | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
}, | |
{ | |
"format": "short", | |
"label": null, | |
"logBase": 1, | |
"max": null, | |
"min": null, | |
"show": true | |
} | |
], | |
"yaxis": { | |
"align": false, | |
"alignLevel": null | |
} | |
}, | |
{ | |
"datasource": "Jira", | |
"fieldConfig": { | |
"defaults": { | |
"mappings": [], | |
"thresholds": { | |
"mode": "absolute", | |
"steps": [ | |
{ | |
"color": "super-light-red", | |
"value": null | |
} | |
] | |
} | |
}, | |
"overrides": [] | |
}, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 12, | |
"y": 6 | |
}, | |
"id": 10, | |
"options": { | |
"colorMode": "background", | |
"graphMode": "area", | |
"justifyMode": "auto", | |
"orientation": "auto", | |
"reduceOptions": { | |
"calcs": [ | |
"last" | |
], | |
"fields": "", | |
"values": false | |
}, | |
"text": {}, | |
"textMode": "auto" | |
}, | |
"pluginVersion": "7.5.4", | |
"targets": [ | |
{ | |
"domain": "issues", | |
"fields": [ | |
{ | |
"custom": "com.pyxis.greenhopper.jira:jsw-story-points", | |
"items": "", | |
"label": "Story point estimate", | |
"text": "Story point estimate", | |
"type": "number", | |
"value": "customfield_10016" | |
} | |
], | |
"jql": "project = ep and priority = highest", | |
"refId": "A" | |
} | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "High Priority JIRA Tickets", | |
"transformations": [ | |
{ | |
"id": "reduce", | |
"options": { | |
"reducers": [ | |
"count" | |
] | |
} | |
}, | |
{ | |
"id": "organize", | |
"options": { | |
"excludeByName": { | |
"Field": true | |
}, | |
"indexByName": {}, | |
"renameByName": {} | |
} | |
} | |
], | |
"type": "stat" | |
}, | |
{ | |
"datasource": "Jira", | |
"fieldConfig": { | |
"defaults": { | |
"mappings": [], | |
"thresholds": { | |
"mode": "absolute", | |
"steps": [ | |
{ | |
"color": "light-green", | |
"value": null | |
} | |
] | |
} | |
}, | |
"overrides": [] | |
}, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 18, | |
"y": 6 | |
}, | |
"id": 8, | |
"options": { | |
"colorMode": "background", | |
"graphMode": "area", | |
"justifyMode": "auto", | |
"orientation": "auto", | |
"reduceOptions": { | |
"calcs": [ | |
"count" | |
], | |
"fields": "", | |
"values": false | |
}, | |
"text": {}, | |
"textMode": "auto" | |
}, | |
"pluginVersion": "7.5.4", | |
"targets": [ | |
{ | |
"domain": "issues", | |
"fields": [ | |
{ | |
"custom": "com.pyxis.greenhopper.jira:jsw-story-points", | |
"items": "", | |
"label": "Story point estimate", | |
"text": "Story point estimate", | |
"type": "number", | |
"value": "customfield_10016" | |
} | |
], | |
"jql": "project = EP ", | |
"refId": "A" | |
} | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Total Open JIRA Tickets", | |
"type": "stat" | |
}, | |
{ | |
"datasource": "Jira", | |
"fieldConfig": { | |
"defaults": { | |
"custom": { | |
"align": null, | |
"displayMode": "auto", | |
"filterable": false | |
}, | |
"mappings": [], | |
"thresholds": { | |
"mode": "absolute", | |
"steps": [ | |
{ | |
"color": "super-light-purple", | |
"value": null | |
}, | |
{ | |
"color": "super-light-green", | |
"value": 20 | |
} | |
] | |
} | |
}, | |
"overrides": [ | |
{ | |
"matcher": { | |
"id": "byType", | |
"options": "number" | |
}, | |
"properties": [ | |
{ | |
"id": "custom.displayMode", | |
"value": "gradient-gauge" | |
} | |
] | |
}, | |
{ | |
"matcher": { | |
"id": "byName", | |
"options": "Sprint Name" | |
}, | |
"properties": [ | |
{ | |
"id": "noValue", | |
"value": "Unassigned" | |
} | |
] | |
} | |
] | |
}, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 0, | |
"y": 12 | |
}, | |
"id": 6, | |
"options": { | |
"showHeader": true | |
}, | |
"pluginVersion": "7.5.4", | |
"targets": [ | |
{ | |
"domain": "issues", | |
"fields": [ | |
{ | |
"custom": "com.pyxis.greenhopper.jira:gh-sprint", | |
"items": "json", | |
"label": "Sprint Name", | |
"text": "Sprint Name", | |
"type": "array", | |
"value": "customfield_10020.name" | |
}, | |
{ | |
"custom": "com.pyxis.greenhopper.jira:jsw-story-points", | |
"items": "", | |
"label": "Story point estimate", | |
"text": "Story point estimate", | |
"type": "number", | |
"value": "customfield_10016" | |
} | |
], | |
"jql": "project = EP and type != epic", | |
"refId": "A" | |
} | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Velocity", | |
"transformations": [ | |
{ | |
"id": "groupBy", | |
"options": { | |
"fields": { | |
"Sprint Name": { | |
"aggregations": [], | |
"operation": "groupby" | |
}, | |
"Story point estimate": { | |
"aggregations": [ | |
"sum" | |
], | |
"operation": "aggregate" | |
} | |
} | |
} | |
}, | |
{ | |
"id": "organize", | |
"options": { | |
"excludeByName": {}, | |
"indexByName": {}, | |
"renameByName": { | |
"Story point estimate (mean)": "Story point estimate (total)" | |
} | |
} | |
} | |
], | |
"type": "table" | |
}, | |
{ | |
"datasource": "GitHub", | |
"fieldConfig": { | |
"defaults": { | |
"custom": { | |
"align": null, | |
"displayMode": "color-background", | |
"filterable": false | |
}, | |
"mappings": [], | |
"thresholds": { | |
"mode": "absolute", | |
"steps": [ | |
{ | |
"color": "super-light-blue", | |
"value": null | |
}, | |
{ | |
"color": "super-light-purple", | |
"value": 80 | |
} | |
] | |
} | |
}, | |
"overrides": [] | |
}, | |
"gridPos": { | |
"h": 6, | |
"w": 4, | |
"x": 8, | |
"y": 12 | |
}, | |
"id": 24, | |
"options": { | |
"showHeader": true | |
}, | |
"pluginVersion": "7.5.4", | |
"targets": [ | |
{ | |
"options": { | |
"query": "", | |
"timeField": 3 | |
}, | |
"owner": "grafana", | |
"queryType": "Pull_Requests", | |
"refId": "A", | |
"repository": "grafana" | |
} | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Top GitHub Authors", | |
"transformations": [ | |
{ | |
"id": "filterFieldsByName", | |
"options": { | |
"include": { | |
"names": [ | |
"author_login" | |
] | |
} | |
} | |
}, | |
{ | |
"id": "groupBy", | |
"options": { | |
"fields": { | |
"author_login": { | |
"aggregations": [], | |
"operation": "groupby" | |
} | |
} | |
} | |
} | |
], | |
"type": "table" | |
}, | |
{ | |
"datasource": "GitHub", | |
"fieldConfig": { | |
"defaults": { | |
"custom": { | |
"align": null, | |
"filterable": false | |
}, | |
"mappings": [], | |
"thresholds": { | |
"mode": "absolute", | |
"steps": [ | |
{ | |
"color": "green", | |
"value": null | |
}, | |
{ | |
"color": "red", | |
"value": 80 | |
} | |
] | |
} | |
}, | |
"overrides": [] | |
}, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 12, | |
"y": 12 | |
}, | |
"id": 28, | |
"options": { | |
"showHeader": true | |
}, | |
"pluginVersion": "7.5.4", | |
"targets": [ | |
{ | |
"owner": "grafana", | |
"queryType": "Releases", | |
"refId": "A", | |
"repository": "grafana" | |
} | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"transformations": [ | |
{ | |
"id": "filterFieldsByName", | |
"options": { | |
"include": { | |
"names": [ | |
"name", | |
"url" | |
] | |
} | |
} | |
}, | |
{ | |
"id": "organize", | |
"options": { | |
"excludeByName": {}, | |
"indexByName": {}, | |
"renameByName": { | |
"name": "Releases" | |
} | |
} | |
} | |
], | |
"type": "table" | |
}, | |
{ | |
"datasource": "GitHub", | |
"fieldConfig": { | |
"defaults": { | |
"mappings": [], | |
"thresholds": { | |
"mode": "absolute", | |
"steps": [ | |
{ | |
"color": "light-orange", | |
"value": null | |
} | |
] | |
} | |
}, | |
"overrides": [] | |
}, | |
"gridPos": { | |
"h": 6, | |
"w": 6, | |
"x": 18, | |
"y": 12 | |
}, | |
"id": 32, | |
"options": { | |
"colorMode": "background", | |
"graphMode": "area", | |
"justifyMode": "auto", | |
"orientation": "auto", | |
"reduceOptions": { | |
"calcs": [ | |
"mean" | |
], | |
"fields": "", | |
"values": false | |
}, | |
"text": {}, | |
"textMode": "auto" | |
}, | |
"pluginVersion": "7.5.4", | |
"targets": [ | |
{ | |
"options": { | |
"query": "is:open", | |
"timeField": 3 | |
}, | |
"owner": "grafana", | |
"queryType": "Pull_Requests", | |
"refId": "A", | |
"repository": "grafana" | |
} | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Open PRs", | |
"transformations": [ | |
{ | |
"id": "reduce", | |
"options": { | |
"includeTimeField": false, | |
"mode": "reduceFields", | |
"reducers": [ | |
"count" | |
] | |
} | |
}, | |
{ | |
"id": "filterFieldsByName", | |
"options": { | |
"include": { | |
"names": [ | |
"number", | |
"title", | |
"url", | |
"repository", | |
"state", | |
"author_login", | |
"author_email", | |
"author_company", | |
"closed", | |
"is_draft", | |
"locked", | |
"merged", | |
"mergeable" | |
] | |
} | |
} | |
} | |
], | |
"type": "stat" | |
}, | |
{ | |
"datasource": "GitHub", | |
"fieldConfig": { | |
"defaults": { | |
"mappings": [], | |
"thresholds": { | |
"mode": "absolute", | |
"steps": [ | |
{ | |
"color": "super-light-purple", | |
"value": null | |
} | |
] | |
} | |
}, | |
"overrides": [] | |
}, | |
"gridPos": { | |
"h": 6, | |
"w": 4, | |
"x": 0, | |
"y": 18 | |
}, | |
"id": 20, | |
"options": { | |
"colorMode": "background", | |
"graphMode": "area", | |
"justifyMode": "auto", | |
"orientation": "auto", | |
"reduceOptions": { | |
"calcs": [ | |
"mean" | |
], | |
"fields": "", | |
"values": false | |
}, | |
"text": {}, | |
"textMode": "auto" | |
}, | |
"pluginVersion": "7.5.4", | |
"targets": [ | |
{ | |
"options": { | |
"query": "is:open", | |
"timeField": 1 | |
}, | |
"owner": "grafana", | |
"queryType": "Pull_Requests", | |
"refId": "A", | |
"repository": "grafana" | |
} | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Average Open Time PRs", | |
"transformations": [ | |
{ | |
"id": "filterFieldsByName", | |
"options": { | |
"include": { | |
"names": [ | |
"title", | |
"url", | |
"repository", | |
"state", | |
"author_login", | |
"author_email", | |
"author_company", | |
"closed", | |
"is_draft", | |
"locked", | |
"merged", | |
"mergeable", | |
"closed_at", | |
"merged_at", | |
"updated_at", | |
"created_at", | |
"open_time" | |
] | |
} | |
} | |
} | |
], | |
"type": "stat" | |
}, | |
{ | |
"datasource": "GitHub", | |
"fieldConfig": { | |
"defaults": { | |
"custom": { | |
"align": null, | |
"filterable": false | |
}, | |
"mappings": [], | |
"thresholds": { | |
"mode": "absolute", | |
"steps": [ | |
{ | |
"color": "green", | |
"value": null | |
}, | |
{ | |
"color": "red", | |
"value": 80 | |
} | |
] | |
} | |
}, | |
"overrides": [] | |
}, | |
"gridPos": { | |
"h": 6, | |
"w": 8, | |
"x": 4, | |
"y": 18 | |
}, | |
"id": 22, | |
"options": { | |
"showHeader": true | |
}, | |
"pluginVersion": "7.5.4", | |
"targets": [ | |
{ | |
"domain": "issues", | |
"jql": "", | |
"options": { | |
"query": "is closed", | |
"timeField": 2 | |
}, | |
"owner": "grafana", | |
"queryType": "Pull_Requests", | |
"refId": "A", | |
"repository": "grafana" | |
} | |
], | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "PRs this Sprint", | |
"transformations": [ | |
{ | |
"id": "filterFieldsByName", | |
"options": { | |
"include": { | |
"names": [ | |
"title", | |
"url" | |
] | |
} | |
} | |
} | |
], | |
"type": "table" | |
}, | |
{ | |
"datasource": null, | |
"fieldConfig": { | |
"defaults": {}, | |
"overrides": [] | |
}, | |
"gridPos": { | |
"h": 6, | |
"w": 12, | |
"x": 12, | |
"y": 18 | |
}, | |
"id": 18, | |
"options": {}, | |
"pluginVersion": "7.3.6", | |
"timeFrom": null, | |
"timeShift": null, | |
"title": "Product Blog", | |
"type": "news" | |
} | |
], | |
"refresh": false, | |
"schemaVersion": 27, | |
"style": "dark", | |
"tags": [], | |
"templating": { | |
"list": [] | |
}, | |
"time": { | |
"from": "2020-10-15T07:00:00.000Z", | |
"to": "2021-01-16T07:59:59.000Z" | |
}, | |
"timepicker": {}, | |
"timezone": "", | |
"title": "Sprint Status Dashboard", | |
"uid": "BZyGz7fGz", | |
"version": 9 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment