Skip to content

Instantly share code, notes, and snippets.

@guylepage3
Last active December 9, 2021 16:47
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save guylepage3/51d8264e47b3eb013e905b1c088ffa8e to your computer and use it in GitHub Desktop.
Save guylepage3/51d8264e47b3eb013e905b1c088ffa8e to your computer and use it in GitHub Desktop.
GitHub labels import script

GitHub labels import script

Based on:

  1. Go on your labels page https://github.com/user/repo/labels
  2. Paste this script in your console.
  3. Press Enter.

(49 GitHub labels)

[
  {
    "name": "1 . high . 34pt",
    "color": "0D0075",
    "description": "high-easy . High impact, easy complexity, priority level 1 item(s) and issue(s) . (34 points)"
  },
  {
    "name": "2 . high . 21pt",
    "color": "0D0075",
    "description": "high-medium . High impact, medium complexity, priority level 2 item(s) and issue(s) . (21 points)"
  },
  {
    "name": "3 . high . 13pt",
    "color": "0D0075",
    "description": "high-hard . High impact, hard complexity, priority level 3 item(s) and issue(s) . (13 points)"
  },
  {
    "name": "4 . medium . 8pt",
    "color": "0D0075",
    "description": "medium-easy . Medium impact, easy complexity, priority level 4 item(s) and issue(s) . (8 points)"
  },
  {
    "name": "5 . medium . 5pt",
    "color": "0D0075",
    "description": "medium-medium . Medium impact, medium complexity, priority level 5 item(s) and issue(s) . (5 points)"
  },
  {
    "name": "6 . medium . 3pt",
    "color": "0D0075",
    "description": "medium-hard . Medium impact, hard complexity, priority level 6 item(s) and issue(s) . (3 points)"
  },
  {
    "name": "7 . low . 2pt",
    "color": "0D0075",
    "description": "low-easy . Low impact, easy complexity, priority level 7 item(s) and issue(s) . (2 points)"
  },
  {
    "name": "8 . low . 1pt",
    "color": "0D0075",
    "description": "low-medium . Low impact, medium complexity, priority level 8 item(s) and issue(s) . (1 points)"
  },
  {
    "name": "9 . low . 0pt",
    "color": "0D0075",
    "description": "low-hard . Low impact, hard complexity, priority level 9 item(s) and issue(s) . (0 points)"
  },
  {
    "name": "advisors",
    "color": "CFD3D9",
    "description": "Project advisor item(s) and issue(s)"
  },
  {
    "name": "backlogged",
    "color": "D81B60",
    "description": "Issue(s) backlogged and not on critical path"
  },
  {
    "name": "blogging",
    "color": "00DF1A",
    "description": "Blogging related item(s) and issue(s)"
  },
  {
    "name": "bug",
    "color": "EE0000",
    "description": "Code bug(s) and software issues"
  },
  {
    "name": "careers",
    "color": "005FF7",
    "description": "Hiring and employee related item(s) and issue(s)"
  },
  {
    "name": "chore",
    "color": "0D0075",
    "description": "General chore(s), item(s) and issue(s)"
  },
  {
    "name": "coding",
    "color": "C400AD",
    "description": "General coding item(s) and issue(s)"
  },
  {
    "name": "copywriting",
    "color": "1A00DF",
    "description": "Copywriting item(s) and issue(s)"
  },
  {
    "name": "critical path",
    "color": "C400AD",
    "description": "General list and critical item(s)"
  },
  {
    "name": "dependencies",
    "color": "005FF7",
    "description": "Pull requests that update a dependency file"
  },
  {
    "name": "design",
    "color": "1D00F7",
    "description": "Design related item(s) and issue(s)"
  },
  {
    "name": "documentation",
    "color": "00DF1A",
    "description": "Improvements or additions to documentation"
  },
  {
    "name": "duplicate",
    "color": "FFC107",
    "description": "This issue or pull request already exists"
  },
  {
    "name": "enhancement",
    "color": "005FF7",
    "description": "Product and project enhancement item(s)"
  },
  {
    "name": "epic!",
    "color": "0D0075",
    "description": "Epic! and highest agile point item or issue"
  },
  {
    "name": "events",
    "color": "CFD3D9",
    "description": "Event related item(s) and issue(s)"
  },
  {
    "name": "feature request",
    "color": "9800F7",
    "description": "Feature request by community or core team member"
  },
  {
    "name": "finances",
    "color": "00DF1A",
    "description": "Finances or financial item(s) and issue(s)"
  },
  {
    "name": "fundraising",
    "color": "00DF1A",
    "description": "Fundraising related item(s) and issue(s)"
  },
  {
    "name": "good first issue",
    "color": "9800F7",
    "description": "Good for newcomers"
  },
  {
    "name": "growth",
    "color": "FFC107",
    "description": "Growth and/or marketing related item(s) and issue(s)"
  },
  {
    "name": "help wanted",
    "color": "FFC107",
    "description": "Help wanted by community"
  },
  {
    "name": "high priority",
    "color": "EE0000",
    "description": "Priority item(s) and issue(s)"
  },
  {
    "name": "hr",
    "color": "EE0000",
    "description": "Human resources, healthcare and benefits related item(s) and issue(s)"
  },
  {
    "name": "invalid",
    "color": "C400AD",
    "description": "Invalid item(s) and issue(s)"
  },
  {
    "name": "investors",
    "color": "CFD3D9",
    "description": "Project investor item(s) and issue(s)"
  },
  {
    "name": "meeting",
    "color": "005FF7",
    "description": "Scrum, sales, business or general meeting or call"
  },
  {
    "name": "product",
    "color": "005FF7",
    "description": "Issue(s) related to product"
  },
  {
    "name": "production",
    "color": "00DF1A",
    "description": "Design production item(s) and issue(s)"
  },
  {
    "name": "push",
    "color": "0D0075",
    "description": "Push issues are to be moved to a future sprint"
  },
  {
    "name": "question",
    "color": "9800F7",
    "description": "Question from community or team member(s)"
  },
  {
    "name": "refactoring",
    "color": "0D0075",
    "description": "Refactoring related item(s) and issue(s)"
  },
  {
    "name": "request",
    "color": "FFEB3B",
    "description": "Request from community or team member(s)"
  },
  {
    "name": "research",
    "color": "FFAD46",
    "description": "Product and project research item(s) and issue(s)"
  },
  {
    "name": "security",
    "color": "EE0000",
    "description": "Pull requests that address a security vulnerability"
  },
  {
    "name": "strategy",
    "color": "CFD3D9",
    "description": "Architecture, coding, business or marketing strategy related item(s) and issue(s)"
  },
  {
    "name": "training",
    "color": "FFAD46",
    "description": "Training and education item(s) and issue(s)"
  },
  {
    "name": "ui",
    "color": "9C27B0",
    "description": "UI design and build related item(s) and issue(s)"
  },
  {
    "name": "wontfix",
    "color": "FFEB3B",
    "description": "Issue(s) and item(s) marked that won't be fixed or addressed"
  },
  {
    "name": "writing",
    "color": "1A00DF",
    "description": "Writing item(s) and issue(s)"
  }
].forEach(function(label) {
  addLabel(label)
})

function updateLabel(label) {
  var flag = false;
  [].slice
    .call(document.querySelectorAll(".js-labels-list-item"))
    .forEach(function (element) {
      if (
        element.querySelector(".js-label-link").textContent.trim() === label.name
      ) {
        flag = true;
        element.querySelector(".js-edit-label").click();
        element.querySelector(".js-new-label-name-input").value = label.name;
        element.querySelector(".js-new-label-description-input").value = label.description;
        element.querySelector(".js-new-label-color-input").value = "#" + label.color;
        element.querySelector(".js-edit-label-cancel ~ .btn-primary").click();
      }
    });
  return flag;
}

function addNewLabel(label) {
  document.querySelector(".js-new-label-name-input").value = label.name;
  document.querySelector(".js-new-label-description-input").value = label.description;
  document.querySelector(".js-new-label-color-input").value = "#" + label.color;
  document.querySelector(".js-details-target ~ .btn-primary").disabled = false;
  document.querySelector(".js-details-target ~ .btn-primary").click();
}

function addLabel(label) {
  if (!updateLabel(label)) addNewLabel(label);
}
@KylesDev
Copy link

It didn't work for me as is, I made it work by pressing once the Add Label button on top of the page and removing the extra # added in front of the color code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment