forked from triggerdotdev/trigger.dev
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathorgs.ts
More file actions
124 lines (119 loc) · 2.65 KB
/
orgs.ts
File metadata and controls
124 lines (119 loc) · 2.65 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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
import { IntegrationTaskKey } from "@trigger.dev/sdk";
import { Octokit } from "octokit";
import { GitHubReturnType, GitHubRunTask, onError } from "./index";
export class Orgs {
runTask: GitHubRunTask;
constructor(runTask: GitHubRunTask) {
this.runTask = runTask;
}
updateWebhook(
key: IntegrationTaskKey,
params: {
org: string;
hookId: number;
url: string;
secret: string;
addEvents?: string[];
}
): GitHubReturnType<Octokit["rest"]["orgs"]["updateWebhook"]> {
return this.runTask(
key,
async (client, task) => {
const result = await client.rest.orgs.updateWebhook({
org: params.org,
hook_id: params.hookId,
config: {
content_type: "json",
url: params.url,
secret: params.secret,
},
add_events: params.addEvents,
});
return result.data;
},
{
name: "Update Org Webhook",
params,
properties: [
{
label: "Org",
text: params.org,
},
{
label: "Hook ID",
text: String(params.hookId),
},
],
},
onError
);
}
createWebhook(
key: IntegrationTaskKey,
params: {
org: string;
url: string;
secret: string;
events: string[];
}
): GitHubReturnType<Octokit["rest"]["orgs"]["createWebhook"]> {
return this.runTask(
key,
async (client, task) => {
const result = await client.rest.orgs.createWebhook({
org: params.org,
name: "web",
config: {
content_type: "json",
url: params.url,
secret: params.secret,
},
events: params.events,
});
return result.data;
},
{
name: "Create Org Webhook",
params,
properties: [
{
label: "Org",
text: params.org,
},
{
label: "Events",
text: params.events.join(", "),
},
],
},
onError
);
}
listWebhooks(
key: IntegrationTaskKey,
params: {
org: string;
}
): GitHubReturnType<Octokit["rest"]["orgs"]["listWebhooks"]> {
return this.runTask(
key,
async (client, task) => {
const result = await client.rest.orgs.listWebhooks({
org: params.org,
});
return result.data;
},
{
name: "List Org Webhooks",
params,
properties: [
{
label: "Org",
text: params.org,
},
],
},
onError
);
}
}