-
-
Save MoOx/93c2853fee760f42d97f to your computer and use it in GitHub Desktop.
// go on you labels pages | |
// eg https://github.com/cssnext/cssnext/labels | |
// paste this script in your console | |
// copy the output and now you can import it using https://github.com/popomore/github-labels ! | |
var labels = []; | |
[].slice.call(document.querySelectorAll(".label-link")) | |
.forEach(function(element) { | |
labels.push({ | |
name: element.textContent.trim(), | |
// using style.backgroundColor might returns "rgb(...)" | |
color: element.getAttribute("style") | |
.replace("background-color:", "") | |
.replace(/color:.*/,"") | |
.trim() | |
// github wants hex code only without # or ; | |
.replace(/^#/, "") | |
.replace(/;$/, "") | |
.trim(), | |
}) | |
}) | |
console.log(JSON.stringify(labels, null, 2)) |
@jakobe I updated my code based on your comments. At the moment, looks like a good option.
@jakobe I updated my code based on your comments. At the moment, looks like a good option.
Awesome 👍
The official GitHub CLI now includes functionality that allows you to clone labels easily from one repo to another.
Example syntax:
gh label clone org-name/repo-to-clone-from --repo org-name/repo-to-clone-to
See the documentation for more information.
gh label clone org-name/repo-to-clone-from --repo org-name/repo-to-clone-to
bet
The GitHub CLI docs also illustrate listing the labels using custom JSON output templates: https://cli.github.com/manual/gh_label_list
The official GitHub CLI now includes functionality that allows you to clone labels easily from one repo to another. Example syntax:
gh label clone org-name/repo-to-clone-from --repo org-name/repo-to-clone-to
See the documentation for more information.
Thanks works well!🎉
@jamesperrin I get the following error when i try to paste the export code in the console browser
3188:30 Uncaught TypeError: Cannot read properties of null (reading 'innerText')
at <anonymous>:30:77
at Array.map (<anonymous>)
at getLabels (<anonymous>:27:27)
at <anonymous>:79:11
at <anonymous>:80:3
(anonymous) @ VM3188:30
getLabels @ VM3188:27
(anonymous) @ VM3188:79
(anonymous) @ VM3188:80
Do you have a fix for this?
@jamesperrin I get the following error when i try to paste the export code in the console browser
3188:30 Uncaught TypeError: Cannot read properties of null (reading 'innerText') at <anonymous>:30:77 at Array.map (<anonymous>) at getLabels (<anonymous>:27:27) at <anonymous>:79:11 at <anonymous>:80:3 (anonymous) @ VM3188:30 getLabels @ VM3188:27 (anonymous) @ VM3188:79 (anonymous) @ VM3188:80Do you have a fix for this?
@deffcolony I need a little more information. What is the URL for GitHub repository you tried to run the script against?
@jamesperrin I get the following error when i try to paste the export code in the console browser
3188:30 Uncaught TypeError: Cannot read properties of null (reading 'innerText') at <anonymous>:30:77 at Array.map (<anonymous>) at getLabels (<anonymous>:27:27) at <anonymous>:79:11 at <anonymous>:80:3 (anonymous) @ VM3188:30 getLabels @ VM3188:27 (anonymous) @ VM3188:79 (anonymous) @ VM3188:80Do you have a fix for this?
@deffcolony I need a little more information. What is the URL for GitHub repository you tried to run the script against?
@jamesperrin The URL is https://github.com/deffcolony/HP-Witchcraft-and-Wizardry/labels
@jamesperrin I get the following error when i try to paste the export code in the console browser
3188:30 Uncaught TypeError: Cannot read properties of null (reading 'innerText') at <anonymous>:30:77 at Array.map (<anonymous>) at getLabels (<anonymous>:27:27) at <anonymous>:79:11 at <anonymous>:80:3 (anonymous) @ VM3188:30 getLabels @ VM3188:27 (anonymous) @ VM3188:79 (anonymous) @ VM3188:80Do you have a fix for this?
@deffcolony I need a little more information. What is the URL for GitHub repository you tried to run the script against?
@jamesperrin The URL is https://github.com/deffcolony/HP-Witchcraft-and-Wizardry/labels
@deffcolony I added validations checks for all the label properties. The issue was some label may not have a description which caused the error. You should be able to run the script without issue.
Update June 2022: As far as I can see the description no longer exists as
title
on the label element itself.Though it might be brittle to rely on the DOM structure of the labels page, this is my fix getting the description from the column after the label itself: