-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.mjs
executable file
·73 lines (68 loc) · 1.64 KB
/
index.mjs
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
#!/usr/bin/env node
import _yargs from "yargs";
import { hideBin } from "yargs/helpers";
const yargs = _yargs(hideBin(process.argv));
import { api } from "node-app-store-connect-api";
new Promise(async (resolve, reject) => {
const argv = await yargs
.option("issuerId", { type: "string", require: true })
.option("apiKey", {
type: "string",
require: true,
})
.option("privateKey", {
type: "string",
require: true,
})
.option("workflowId", {
type: "string",
require: true,
})
.option("branchId", {
type: "string",
require: true,
})
.alias("issuerId", "i")
.alias("apiKey", "k")
.alias("privateKey", "p")
.alias("workflowId", "w")
.alias("branchId", "b").argv;
const { issuerId, apiKey, privateKey, workflowId, branchId } = argv;
const { fetch } = await api({
issuerId,
apiKey,
privateKey,
});
const reponse = await fetch("ciBuildRuns", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
data: {
type: "ciBuildRuns",
attributes: {},
relationships: {
workflow: {
data: {
type: "ciWorkflows",
id: workflowId,
},
},
sourceBranchOrTag: {
data: {
type: "scmGitReferences",
id: branchId,
},
},
},
},
}),
});
if (reponse.status === 201) {
console.log("trigger ciBuildRun success");
resolve();
} else {
console.log("trigger ciBuildRun failed");
console.error(reponse);
reject();
}
});