UNPKG

github-sync-labels-milestones

Version:

Sync Labels and Milestones across Multiple repositories

179 lines (128 loc) 4.53 kB
## github-sync-labels-milestones Sync Labels and Milestones across Multiple repositories ## Install `npm install -g github-sync-labels-milestones` ## CLI usage `github-sync-labels-milestones <options>` ### Options - `-t, --token` [required] [github personal access token with repo access](https://github.com/settings/tokens/new) - `-c, --config` [required] path to config file - `-v, --verbose` make output more verbose - `-s, --silent` oppress output - `-V, --version` output version - `--baseUrl` sset github baseUrl (see [@octokit/rest](https://octokit.github.io/rest.js/v18#usage)) - `--timeout` set github request timeout (see [@octokit/rest](https://octokit.github.io/rest.js/v18#usage)) - `-h, --help` output help message - `--no-color` disable colors Get a personal access token under [settings/tokens](https://github.com/settings/tokens) and ensure [repo] and [public_repo] scopes are activated ## Configuration File The configuration file needs to be valid JSON or YAML and describe an array of configuration objects. ### Example (`config.json`) ```json [ { "repositories": ["Jimdo/github-sync-labels-milestones", "Xiphe/example"], "milestones": [ { "previousTitles": ["Complete Everything"], "title": "First Release", "state": "open", "description": "Tasks to be completed before release", "due_on": "2015-09-15T23:59:59Z" } ], "labels": [ { "previousNames": ["bug"], "name": "type: bug", "color": "fc2929" }, { "name": "type: feature request", "state": "absent" } ], "options": { "ignoreLabels": ["Xiphe/example"] } } ] ``` ### configuration object shape - #### `repositories` Array of repositories on which the labels and milestones should be synchronized - #### `milestones` Array of milestones that should be synchronized - #### `labels` _optional_ Array of labels that should be synchronized - #### `options` _optional_ Options ### milestone declaration shape - #### `title` The title of the milestone - #### `previousTitles` _optional_ Array of titles this milestone had before. We will try to **rename** milestones found here to `title` instead of creating a new one - #### `state` _optional_ The state of the milestone. Either `open`, `closed` or `absent`. Default: `open` - #### `description` _optional_ A description of the milestone - #### `due_on` _optional_ The milestone due date. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ` (The time of the day is ignored) ### label declaration shape - #### `name` The name of the label - #### `color` _optional_ A 6 character hex code, without the leading #, identifying the color - #### `description` _optional_ description for the label - #### `previousNames` _optional_ Array of names this label had before. The new label will be added to issues with any of these and the previous labels will then be deleted. - #### `state` _optional_ Can be `present` or `absent`. Default: `present` ### Options - #### `ignoreLabels` _optional_ Array of repositories whose labels should not be touched - #### `ignoreMilestones` _optional_ Array of repositories whose milestones should not be touched ## LICENSE > The MIT License > > Copyright (c) 2017 - 2022 Hannes Diercks > Copyright (c) 2015 - 2016 Jimdo GmbH > > Permission is hereby granted, free of charge, to any person obtaining a copy > of this software and associated documentation files (the "Software"), to deal > in the Software without restriction, including without limitation the rights > to use, copy, modify, merge, publish, distribute, sublicense, and/or sell > copies of the Software, and to permit persons to whom the Software is > furnished to do so, subject to the following conditions: > > The above copyright notice and this permission notice shall be included in > all copies or substantial portions of the Software. > > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE > AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, > OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN > THE SOFTWARE.