-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathlabel.js
More file actions
73 lines (67 loc) · 1.84 KB
/
label.js
File metadata and controls
73 lines (67 loc) · 1.84 KB
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
71
72
73
const config = require("./config");
const request = require("request");
const retrieveLabels = function() {
const options = {
method: "GET",
url:
"https://api.github.com/repos/" +
config.username +
"/" +
config.fromRepo +
"/labels?per_page=100",
headers: {
"Cache-Control": "no-cache",
"User-Agent": "GitHubTools",
Accept: "application/vnd.github.symmetra-preview+json",
Authorization: "token " + config.token,
"Content-Type": "application/json"
},
json: true
};
return new Promise(function(resolve, reject) {
request(options, function(error, response, body) {
if (error) return reject(error);
if (response.statusCode === 200) {
console.log(body.length + " Labels retrieved");
return resolve(body);
}
console.log("Error Retrieving Labels | Error: " + response.statusCode);
return resolve([]);
});
});
};
const createLabel = function(label) {
const options = {
method: "POST",
url:
"https://api.github.com/repos/" +
config.username +
"/" +
config.toRepo +
"/labels",
headers: {
"Cache-Control": "no-cache",
"User-Agent": "GitHubTools",
Accept: "application/vnd.github.symmetra-preview+json",
Authorization: "token " + config.token,
"Content-Type": "application/json"
},
body: label,
json: true
};
request(options, function(error, response, body) {
if (error) throw new Error(error);
if (response.statusCode === 201) {
console.log("Created New Label " + body.id);
} else {
console.log(
"Error Sending Label " +
(label.id === undefined ? label.name : label.id) +
" | Error: " +
response.statusCode
);
}
});
};
exports.retrieve = retrieveLabels;
exports.create = createLabel;