Skip to content

Instantly share code, notes, and snippets.

@SavageWilliam
Created February 23, 2017 09:28
Show Gist options
  • Save SavageWilliam/987014014c69d74b1a90aafba2c9c9ac to your computer and use it in GitHub Desktop.
Save SavageWilliam/987014014c69d74b1a90aafba2c9c9ac to your computer and use it in GitHub Desktop.
Run this script in console of '/labels' endpoint of a repository
[
{
"name": "server",
"color": "5319e7"
},
{
"name": "bug",
"color": "ee0701"
},
{
"name": "data",
"color": "fbca04"
},
{
"name": "duplicate",
"color": "cccccc"
},
{
"name": "enhancement",
"color": "84b6eb"
},
{
"name": "frontend",
"color": "1d76db"
},
{
"name": "help wanted",
"color": "128A0C"
},
{
"name": "in-progress",
"color": "009688"
},
{
"name": "in-review",
"color": "006b75"
},
{
"name": "invalid",
"color": "e6e6e6"
},
{
"name": "please-test",
"color": "08e700"
},
{
"name": "priority-1",
"color": "0d47a1"
},
{
"name": "priority-2",
"color": "1976d2"
},
{
"name": "priority-3",
"color": "42a5f5"
},
{
"name": "priority-4",
"color": "bbdefb"
},
{
"name": "priority-5",
"color": "bbdefb"
},
{
"name": "question",
"color": "cc317c"
},
{
"name": "T1d",
"color": "e91e63"
},
{
"name": "T1h",
"color": "fce4ec"
},
{
"name": "T2d",
"color": "e91e63"
},
{
"name": "T2h",
"color": "f06292"
},
{
"name": "T3d",
"color": "e91e63"
},
{
"name": "T4d",
"color": "e91e63"
},
{
"name": "T4h",
"color": "f06292"
},
{
"name": "T5d",
"color": "e91e63"
},
{
"name": "T6h",
"color": "f06292"
},
{
"name": "T30m",
"color": "fce4ec"
},
{
"name": "technical",
"color": "D4C5F9"
},
{
"name": "UI",
"color": "207de5"
},
{
"name": "wontfix",
"color": "ffffff"
}
].forEach(function(label) {
addLabel(label)
})
function updateLabel (label) {
var flag = false;
[].slice.call(document.querySelectorAll(".labels-list-item"))
.forEach(function(element) {
if (element.querySelector('.label-link').textContent.trim() === label.name) {
flag = true
element.querySelector('.js-edit-label').click()
element.querySelector('.label-edit-name').value = label.name
element.querySelector('.color-editor-input').value = '#' + label.color
element.querySelector('.new-label-actions .btn-primary').click()
}
})
return flag
}
function addNewLabel (label) {
document.querySelector('.new-label input#label-').value = label.name
document.querySelector('.new-label input#edit-label-color-new').value = '#' + label.color
document.querySelector('.new-label-actions .btn-primary').click()
}
function addLabel (label) {
if (!updateLabel(label)) addNewLabel(label)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment