-
Notifications
You must be signed in to change notification settings - Fork 0
/
programa.js
70 lines (62 loc) · 1.98 KB
/
programa.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
const { Octokit } = require('@octokit/rest');
const chalk = require('chalk');
require('dotenv').config();
const labels = require('./labels');
const octokit = new Octokit({
auth: process.env.TOKEN,
});
const cabeza = `
EEEEEEE FFFFFFF lll jjj
EE nn nnn FF lll uu uu oooo
EEEEE nnn nn FFFF lll uu uu jjj oo oo
EE nn nn FF lll uu uu jjj oo oo
EEEEEEE nn nn FF lll uuuu u jjj oooo
jjjj
`;
const datosPrincipales = {
owner: 'enflujo',
repo: 'sitios-cms-api',
};
const error = chalk.bold.red;
const puntero = chalk.bgRgb(87, 87, 247).white.bold;
console.log(chalk.rgb(87, 87, 247).bold(cabeza));
console.log(chalk.bgRgb(87, 87, 247).white(`..:: Actualizando labels del repositorio ${datosPrincipales.repo} ::..`));
function actualizarLabel(label) {
octokit.rest.issues
.updateLabel({
...datosPrincipales,
name: label.nombreActual,
new_name: label.nombreNuevo,
color: label.color,
description: label.desc,
})
.then(() => {
console.log(`${puntero('Actualización del label:')} ${chalk.hex(label.color).underline(label.nombreNuevo)}`);
})
.catch(({ errors }) => {
if (errors) {
console.log(errors);
}
});
}
labels.forEach((label) => {
octokit.rest.issues
.createLabel({
...datosPrincipales,
name: label.nombreNuevo,
color: label.color,
description: label.desc,
})
.then(() => {
console.log(`${puntero('Nuevo label:')} ${chalk.hex(label.color).underline(label.nombreNuevo)}`);
})
.catch(({ errors }) => {
if (errors.length === 1 && errors[0].code === 'already_exists') {
label.nombreActual = label.nombreNuevo;
actualizarLabel(label);
} else {
console.log(error('..:: Problema con los datos del label ::..'), label);
console.log(errors.filter((err) => err.code !== 'already_exists'));
}
});
});