Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
github-issues-label-sync
Advanced tools
part of the superleap.xyz open source project management suite
create a config json containing pairs of label/colour
import repo labels and add to version control
CLI version in progress
In order to run the github-issues-label-sync
package you will need the following things:
npm
or git
installedThere are multiple ways to run this module:
Install GitHub Issues Label Sync with NPM or add to your package.json:
npm i github-issues-label-sync
git clone https://github.com/superleap/github-issues-label-sync.git
Before you can use this module you have to create a configuration array and then require the package inside your script:
let config = {
"github": {
"user": "superleap",
"repo": "github-issues-label-sync",
"token": "dab5ae868be49ec9179b34d2532d699a603f8be0",
"options": {
"debug": true
}
}
};
let {user, repo, token, options} = config.github;
let githubSync = new (require('github-issues-label-sync'))
(options, user, repo, token);
All methods have been promisified
using bluebird. They will generically
return an array of affected results on success and a http error on failure.
The class currently handles generic errors such as duplicate records as warning messages and only raises exceptions when it is impossible to finish the requested action.
If you encounter such errors don't hesitate to open an issue as the class was tested with most common scenarios in mind.
<Label>
typedefThis package doesn't come with a default configuration.
As long as you can export your data structure to GithubIssuesLabelSync.Label you should be set to go.
let Label = {
"name": "GH Review: accepted",
"color": "009800"
};
The name property refers to the label name and the color property should be set to the color of the label as a hex code without the leading hash tag.
Here is an example of a custom structure config - this will be default in future versions:
let labels = {
"categories": [
{
"name": "GH Review",
"labels": [
{
"name": "accepted",
"color": "009800"
},
{
"name": "breaking changes",
"color": "a33cd6"
},
{
"name": "needs-revision",
"color": "e11d21"
},
{
"name": "on hold",
"color": "bfdadc"
},
{
"name": "review-needed",
"color": "fbca04"
},
{
"name": "shipped",
"color": "d4c5f9"
}
]
},
{
"name": "Resolution",
"labels": [
{
"name": "duplicate",
"color": "ccc"
},
{
"name": "invalid",
"color": "e6e6e6"
},
{
"name": "unresolved",
"color": "fef2c0"
},
{
"name": "wontfix",
"color": "fff"
}
]
},
{
"name": "Semver",
"labels": [
{
"name": "exempt",
"color": "1d76db"
},
{
"name": "major",
"color": "b60205"
},
{
"name": "minor",
"color": "fbca04"
},
{
"name": "patch",
"color": "0e8a16"
},
{
"name": "premajor",
"color": "e99695"
}
]
},
{
"name": "Status",
"labels": [
{
"name": "new",
"color": "006b75"
},
{
"name": "reverted",
"color": "d93f0b"
},
{
"name": "unconfirmed",
"color": "d4c5f9"
}
]
},
{
"name": "Type",
"labels": [
{
"name": "bug",
"color": "fc2929"
},
{
"name": "enhancement",
"color": "84b6eb"
},
{
"name": "feature-request",
"color": "c7def8"
},
{
"name": "question",
"color": "cc317c"
},
{
"name": "regression",
"color": "e11d21"
}
]
}
]
};
let labels = [];
Array.from(config).categories).forEach((category) => {
category.labels.forEach((label) => {
label.name = `${category.name}: ${label.name}`;
labels.push(label);
});
});
module.exports = labels;
These are snippets of working demos found in ./examples
folder.
githubIssuesLabelSync.createLabel(labels[0]).then((response) => {
console.log(response);
}).catch((error) => {
console.log(error.toJSON());
});
githubIssuesLabelSync.createLabels(labels).then((response) => {
console.log(response);
}).catch((error) => {
console.log(error.toJSON());
});
githubIssuesLabelSync.updateLabel(labels[0]).then((response) => {
console.log(response);
}).catch((error) => {
console.log(error.toJSON());
});
githubIssuesLabelSync.updateLabels(labels).then((response) => {
console.log(response);
}).catch((error) => {
console.log(error.toJSON());
});
githubIssuesLabelSync.deleteLabel(label).then((response) => {
console.log(response);
}).catch((error) => {
console.log(error.toJSON());
});
githubIssuesLabelSync.deleteLabels(labels).then((response) => {
console.log(response);
}).catch((error) => {
console.log(error.toJSON());
});
githubIssuesLabelSync.getLabels().then((response) => {
console.log(response);
}).catch((error) => {
console.log(error.toJSON());
});
githubIssuesLabelSync.purgeLabels().then((response) => {
console.log(response);
}).catch((error) => {
console.log(error.toJSON());
});
githubIssuesLabelSync.importLabels(labels, false).then((response) => {
console.log(response);
}).catch((error) => {
console.log(error.toJSON());
});
We'd love to get contributions from you! Once you are up and running, take a look at the contributing docs to see how to get your changes merged in.
See the release page.
Copyright (c) 2016, TED Vortex (Teodor Eugen Duțulescu)
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FAQs
Small tool used to create identical github issue labels
The npm package github-issues-label-sync receives a total of 7 weekly downloads. As such, github-issues-label-sync popularity was classified as not popular.
We found that github-issues-label-sync demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.