runline 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/plugins/actionNetwork/src/index.js +118 -25
- package/dist/plugins/activeCampaign/src/index.js +184 -38
- package/dist/plugins/adalo/src/index.js +40 -8
- package/dist/plugins/affinity/src/index.js +100 -20
- package/dist/plugins/agileCrm/src/index.js +115 -27
- package/dist/plugins/airtable/src/index.js +94 -19
- package/dist/plugins/airtop/src/index.js +266 -62
- package/dist/plugins/apiTemplateIo/src/index.js +25 -5
- package/dist/plugins/asana/src/index.js +195 -41
- package/dist/plugins/autopilot/src/index.js +39 -8
- package/dist/plugins/bambooHr/src/index.js +109 -22
- package/dist/plugins/bannerbear/src/index.js +36 -8
- package/dist/plugins/baserow/src/index.js +35 -7
- package/dist/plugins/beeminder/src/index.js +198 -40
- package/dist/plugins/bitly/src/index.js +46 -10
- package/dist/plugins/bitwarden/src/index.js +167 -36
- package/dist/plugins/box/src/index.js +172 -37
- package/dist/plugins/brandfetch/src/index.js +5 -1
- package/dist/plugins/brevo/src/index.js +136 -29
- package/dist/plugins/bubble/src/index.js +76 -17
- package/dist/plugins/chargebee/src/index.js +35 -7
- package/dist/plugins/circleci/src/index.js +50 -10
- package/dist/plugins/ciscoWebex/src/index.js +131 -27
- package/dist/plugins/clearbit/src/index.js +76 -17
- package/dist/plugins/clickup/src/index.js +500 -107
- package/dist/plugins/clockify/src/index.js +229 -47
- package/dist/plugins/cloudflare/src/index.js +28 -6
- package/dist/plugins/cockpit/src/index.js +54 -12
- package/dist/plugins/coda/src/index.js +81 -19
- package/dist/plugins/coingecko/src/index.js +157 -33
- package/dist/plugins/contentful/src/index.js +85 -17
- package/dist/plugins/convertkit/src/index.js +74 -18
- package/dist/plugins/copper/src/index.js +59 -11
- package/dist/plugins/cortex/src/index.js +55 -13
- package/dist/plugins/currents/src/index.js +310 -71
- package/dist/plugins/customerIo/src/index.js +112 -23
- package/dist/plugins/databricks/src/index.js +549 -115
- package/dist/plugins/deepl/src/index.js +26 -6
- package/dist/plugins/demio/src/index.js +56 -11
- package/dist/plugins/dhl/src/index.js +16 -3
- package/dist/plugins/discord/src/index.js +141 -31
- package/dist/plugins/discourse/src/index.js +136 -31
- package/dist/plugins/disqus/src/index.js +96 -20
- package/dist/plugins/docker/src/index.js +20 -4
- package/dist/plugins/drift/src/index.js +19 -5
- package/dist/plugins/dropbox/src/index.js +139 -30
- package/dist/plugins/dropcontact/src/index.js +21 -4
- package/dist/plugins/egoi/src/index.js +61 -15
- package/dist/plugins/elasticsearch/src/index.js +59 -13
- package/dist/plugins/emelia/src/index.js +95 -19
- package/dist/plugins/erpnext/src/index.js +74 -15
- package/dist/plugins/facebookGraph/src/index.js +52 -11
- package/dist/plugins/freshdesk/src/index.js +220 -48
- package/dist/plugins/freshservice/src/index.js +39 -9
- package/dist/plugins/freshworksCrm/src/index.js +58 -12
- package/dist/plugins/getresponse/src/index.js +87 -18
- package/dist/plugins/ghost/src/index.js +114 -26
- package/dist/plugins/github/src/index.js +483 -109
- package/dist/plugins/gitlab/src/index.js +193 -45
- package/dist/plugins/gong/src/index.js +68 -14
- package/dist/plugins/gotify/src/index.js +43 -9
- package/dist/plugins/gotowebinar/src/index.js +233 -47
- package/dist/plugins/grafana/src/index.js +92 -21
- package/dist/plugins/graphql/src/index.js +38 -8
- package/dist/plugins/grist/src/index.js +52 -10
- package/dist/plugins/hackernews/src/index.js +32 -6
- package/dist/plugins/halopsa/src/index.js +131 -26
- package/dist/plugins/harvest/src/index.js +182 -42
- package/dist/plugins/helpscout/src/index.js +153 -31
- package/dist/plugins/highlevel/src/index.js +291 -58
- package/dist/plugins/homeAssistant/src/index.js +124 -26
- package/dist/plugins/hubspot/src/index.js +163 -29
- package/dist/plugins/humanticAi/src/index.js +54 -5
- package/dist/plugins/hunter/src/index.js +21 -4
- package/dist/plugins/intercom/src/index.js +95 -20
- package/dist/plugins/iterable/src/index.js +96 -20
- package/dist/plugins/jenkins/src/index.js +75 -17
- package/dist/plugins/jira/src/index.js +193 -43
- package/dist/plugins/keap/src/index.js +222 -56
- package/dist/plugins/kobotoolbox/src/index.js +113 -25
- package/dist/plugins/lemlist/src/index.js +79 -18
- package/dist/plugins/linear/src/index.js +86 -19
- package/dist/plugins/lingvanex/src/index.js +38 -8
- package/dist/plugins/linkedin/src/index.js +37 -8
- package/dist/plugins/lonescale/src/index.js +41 -9
- package/dist/plugins/magento/src/index.js +98 -27
- package/dist/plugins/mailcheck/src/index.js +11 -2
- package/dist/plugins/mailchimp/src/index.js +193 -42
- package/dist/plugins/mailerlite/src/index.js +61 -12
- package/dist/plugins/mailgun/src/index.js +39 -7
- package/dist/plugins/mailjet/src/index.js +141 -30
- package/dist/plugins/mandrill/src/index.js +67 -14
- package/dist/plugins/marketstack/src/index.js +56 -10
- package/dist/plugins/matrix/src/index.js +97 -20
- package/dist/plugins/mattermost/src/index.js +124 -26
- package/dist/plugins/mautic/src/index.js +129 -26
- package/dist/plugins/medium/src/index.js +64 -13
- package/dist/plugins/messagebird/src/index.js +80 -15
- package/dist/plugins/metabase/src/index.js +57 -12
- package/dist/plugins/misp/src/index.js +135 -33
- package/dist/plugins/mocean/src/index.js +33 -7
- package/dist/plugins/monday/src/index.js +97 -23
- package/dist/plugins/monicaCrm/src/index.js +112 -23
- package/dist/plugins/msg91/src/index.js +11 -2
- package/dist/plugins/nasa/src/index.js +108 -21
- package/dist/plugins/netlify/src/index.js +28 -6
- package/dist/plugins/netscalerAdc/src/index.js +144 -29
- package/dist/plugins/nextcloud/src/index.js +103 -20
- package/dist/plugins/nocodb/src/index.js +57 -11
- package/dist/plugins/notion/src/index.js +148 -37
- package/dist/plugins/npm/src/index.js +59 -12
- package/dist/plugins/odoo/src/index.js +102 -20
- package/dist/plugins/okta/src/index.js +50 -10
- package/dist/plugins/oneSimpleApi/src/index.js +84 -17
- package/dist/plugins/onfleet/src/index.js +139 -32
- package/dist/plugins/openThesaurus/src/index.js +46 -9
- package/dist/plugins/openweathermap/src/index.js +31 -6
- package/dist/plugins/oura/src/index.js +36 -7
- package/dist/plugins/paddle/src/index.js +80 -17
- package/dist/plugins/pagerduty/src/index.js +53 -12
- package/dist/plugins/paypal/src/index.js +51 -11
- package/dist/plugins/peekalink/src/index.js +12 -3
- package/dist/plugins/phantombuster/src/index.js +39 -8
- package/dist/plugins/philipsHue/src/index.js +64 -13
- package/dist/plugins/pipedrive/src/index.js +167 -45
- package/dist/plugins/plivo/src/index.js +43 -8
- package/dist/plugins/postbin/src/index.js +9 -2
- package/dist/plugins/posthog/src/index.js +50 -13
- package/dist/plugins/profitwell/src/index.js +24 -5
- package/dist/plugins/pushbullet/src/index.js +45 -9
- package/dist/plugins/pushcut/src/index.js +31 -6
- package/dist/plugins/pushover/src/index.js +51 -10
- package/dist/plugins/quickbase/src/index.js +66 -13
- package/dist/plugins/quickbooks/src/index.js +86 -19
- package/dist/plugins/quickchart/src/index.js +35 -7
- package/dist/plugins/raindrop/src/index.js +54 -13
- package/dist/plugins/reddit/src/index.js +73 -18
- package/dist/plugins/rocketchat/src/index.js +47 -9
- package/dist/plugins/rundeck/src/index.js +26 -5
- package/dist/plugins/salesforce/src/index.js +161 -31
- package/dist/plugins/salesmate/src/index.js +75 -16
- package/dist/plugins/securityScorecard/src/index.js +73 -15
- package/dist/plugins/segment/src/index.js +21 -4
- package/dist/plugins/sendgrid/src/index.js +102 -24
- package/dist/plugins/sendy/src/index.js +54 -11
- package/dist/plugins/sentry/src/index.js +174 -34
- package/dist/plugins/servicenow/src/index.js +120 -27
- package/dist/plugins/shopify/src/index.js +53 -12
- package/dist/plugins/signl4/src/index.js +16 -3
- package/dist/plugins/slack/src/index.js +407 -105
- package/dist/plugins/sms77/src/index.js +26 -5
- package/dist/plugins/splunk/src/index.js +186 -45
- package/dist/plugins/spotify/src/index.js +265 -66
- package/dist/plugins/stackby/src/index.js +18 -6
- package/dist/plugins/storyblok/src/index.js +57 -11
- package/dist/plugins/strapi/src/index.js +63 -12
- package/dist/plugins/strava/src/index.js +58 -13
- package/dist/plugins/stripe/src/index.js +143 -30
- package/dist/plugins/supabase/src/index.js +49 -10
- package/dist/plugins/syncromsp/src/index.js +245 -67
- package/dist/plugins/tapfiliate/src/index.js +57 -14
- package/dist/plugins/telegram/src/index.js +202 -39
- package/dist/plugins/thehive/src/index.js +271 -66
- package/dist/plugins/thehiveProject/src/index.js +457 -89
- package/dist/plugins/todoist/src/index.js +326 -77
- package/dist/plugins/travisci/src/index.js +35 -8
- package/dist/plugins/trello/src/index.js +204 -46
- package/dist/plugins/twake/src/index.js +10 -2
- package/dist/plugins/twilio/src/index.js +56 -11
- package/dist/plugins/twist/src/index.js +241 -48
- package/dist/plugins/twitter/src/index.js +128 -30
- package/dist/plugins/unleashedSoftware/src/index.js +30 -6
- package/dist/plugins/uplead/src/index.js +9 -2
- package/dist/plugins/uproc/src/index.js +31 -6
- package/dist/plugins/uptimerobot/src/index.js +119 -25
- package/dist/plugins/urlscanio/src/index.js +25 -6
- package/dist/plugins/vero/src/index.js +68 -13
- package/dist/plugins/vonage/src/index.js +32 -6
- package/dist/plugins/wekan/src/index.js +297 -52
- package/dist/plugins/woocommerce/src/index.js +57 -12
- package/dist/plugins/wordpress/src/index.js +94 -18
- package/dist/plugins/xero/src/index.js +79 -13
- package/dist/plugins/yourls/src/index.js +33 -6
- package/dist/plugins/zammad/src/index.js +139 -36
- package/dist/plugins/zendesk/src/index.js +201 -48
- package/dist/plugins/zoho/src/index.js +88 -21
- package/dist/plugins/zoom/src/index.js +41 -7
- package/dist/plugins/zulip/src/index.js +101 -20
- package/package.json +1 -1
|
@@ -10,7 +10,10 @@ async function apiRequest(server, token, method, endpoint, body, qs) {
|
|
|
10
10
|
method,
|
|
11
11
|
headers: { "PRIVATE-TOKEN": token, "Content-Type": "application/json" },
|
|
12
12
|
};
|
|
13
|
-
if (body &&
|
|
13
|
+
if (body &&
|
|
14
|
+
Object.keys(body).length > 0 &&
|
|
15
|
+
method !== "GET" &&
|
|
16
|
+
method !== "DELETE") {
|
|
14
17
|
opts.body = JSON.stringify(body);
|
|
15
18
|
}
|
|
16
19
|
const res = await fetch(url.toString(), opts);
|
|
@@ -37,23 +40,54 @@ export default function gitlab(rl) {
|
|
|
37
40
|
rl.setName("gitlab");
|
|
38
41
|
rl.setVersion("0.1.0");
|
|
39
42
|
rl.setConnectionSchema({
|
|
40
|
-
server: {
|
|
41
|
-
|
|
43
|
+
server: {
|
|
44
|
+
type: "string",
|
|
45
|
+
required: false,
|
|
46
|
+
description: "GitLab server URL (default: https://gitlab.com)",
|
|
47
|
+
env: "GITLAB_SERVER",
|
|
48
|
+
default: "https://gitlab.com",
|
|
49
|
+
},
|
|
50
|
+
token: {
|
|
51
|
+
type: "string",
|
|
52
|
+
required: true,
|
|
53
|
+
description: "GitLab personal access token",
|
|
54
|
+
env: "GITLAB_TOKEN",
|
|
55
|
+
},
|
|
42
56
|
});
|
|
43
57
|
// ── Issue ───────────────────────────────────────────
|
|
44
58
|
rl.registerAction("issue.create", {
|
|
45
59
|
description: "Create an issue",
|
|
46
60
|
inputSchema: {
|
|
47
|
-
owner: {
|
|
61
|
+
owner: {
|
|
62
|
+
type: "string",
|
|
63
|
+
required: true,
|
|
64
|
+
description: "Group/user namespace",
|
|
65
|
+
},
|
|
48
66
|
repo: { type: "string", required: true, description: "Project name" },
|
|
49
67
|
title: { type: "string", required: true, description: "Issue title" },
|
|
50
|
-
description: {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
68
|
+
description: {
|
|
69
|
+
type: "string",
|
|
70
|
+
required: false,
|
|
71
|
+
description: "Issue description (markdown)",
|
|
72
|
+
},
|
|
73
|
+
labels: {
|
|
74
|
+
type: "string",
|
|
75
|
+
required: false,
|
|
76
|
+
description: "Comma-separated labels",
|
|
77
|
+
},
|
|
78
|
+
assigneeIds: {
|
|
79
|
+
type: "array",
|
|
80
|
+
required: false,
|
|
81
|
+
description: "Array of assignee user IDs",
|
|
82
|
+
},
|
|
83
|
+
dueDate: {
|
|
84
|
+
type: "string",
|
|
85
|
+
required: false,
|
|
86
|
+
description: "Due date (YYYY-MM-DD)",
|
|
87
|
+
},
|
|
54
88
|
},
|
|
55
89
|
async execute(input, ctx) {
|
|
56
|
-
const { owner, repo, title, description: desc, labels, assigneeIds, dueDate } = input;
|
|
90
|
+
const { owner, repo, title, description: desc, labels, assigneeIds, dueDate, } = input;
|
|
57
91
|
const body = { title };
|
|
58
92
|
if (desc)
|
|
59
93
|
body.description = desc;
|
|
@@ -85,14 +119,30 @@ export default function gitlab(rl) {
|
|
|
85
119
|
repo: { type: "string", required: true, description: "Project" },
|
|
86
120
|
issueIid: { type: "number", required: true, description: "Issue IID" },
|
|
87
121
|
title: { type: "string", required: false, description: "New title" },
|
|
88
|
-
description: {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
122
|
+
description: {
|
|
123
|
+
type: "string",
|
|
124
|
+
required: false,
|
|
125
|
+
description: "New description",
|
|
126
|
+
},
|
|
127
|
+
labels: {
|
|
128
|
+
type: "string",
|
|
129
|
+
required: false,
|
|
130
|
+
description: "Comma-separated labels",
|
|
131
|
+
},
|
|
132
|
+
assigneeIds: {
|
|
133
|
+
type: "array",
|
|
134
|
+
required: false,
|
|
135
|
+
description: "Assignee IDs",
|
|
136
|
+
},
|
|
137
|
+
stateEvent: {
|
|
138
|
+
type: "string",
|
|
139
|
+
required: false,
|
|
140
|
+
description: "close or reopen",
|
|
141
|
+
},
|
|
92
142
|
dueDate: { type: "string", required: false, description: "Due date" },
|
|
93
143
|
},
|
|
94
144
|
async execute(input, ctx) {
|
|
95
|
-
const { owner, repo, issueIid, title, description: desc, labels, assigneeIds, stateEvent, dueDate } = input;
|
|
145
|
+
const { owner, repo, issueIid, title, description: desc, labels, assigneeIds, stateEvent, dueDate, } = input;
|
|
96
146
|
const body = {};
|
|
97
147
|
if (title)
|
|
98
148
|
body.title = title;
|
|
@@ -115,10 +165,14 @@ export default function gitlab(rl) {
|
|
|
115
165
|
owner: { type: "string", required: true, description: "Namespace" },
|
|
116
166
|
repo: { type: "string", required: true, description: "Project" },
|
|
117
167
|
issueIid: { type: "number", required: true, description: "Issue IID" },
|
|
118
|
-
body: {
|
|
168
|
+
body: {
|
|
169
|
+
type: "string",
|
|
170
|
+
required: true,
|
|
171
|
+
description: "Comment body (markdown)",
|
|
172
|
+
},
|
|
119
173
|
},
|
|
120
174
|
async execute(input, ctx) {
|
|
121
|
-
const { owner, repo, issueIid, body: noteBody } = input;
|
|
175
|
+
const { owner, repo, issueIid, body: noteBody, } = input;
|
|
122
176
|
return gl(ctx, "POST", `${projectPath(owner, repo)}/issues/${issueIid}/notes`, { body: noteBody });
|
|
123
177
|
},
|
|
124
178
|
});
|
|
@@ -138,15 +192,31 @@ export default function gitlab(rl) {
|
|
|
138
192
|
rl.registerAction("release.create", {
|
|
139
193
|
description: "Create a release",
|
|
140
194
|
inputSchema: {
|
|
141
|
-
projectId: {
|
|
195
|
+
projectId: {
|
|
196
|
+
type: "string",
|
|
197
|
+
required: true,
|
|
198
|
+
description: "Project ID or path",
|
|
199
|
+
},
|
|
142
200
|
tagName: { type: "string", required: true, description: "Tag name" },
|
|
143
201
|
name: { type: "string", required: false, description: "Release name" },
|
|
144
|
-
description: {
|
|
145
|
-
|
|
146
|
-
|
|
202
|
+
description: {
|
|
203
|
+
type: "string",
|
|
204
|
+
required: false,
|
|
205
|
+
description: "Release notes (markdown)",
|
|
206
|
+
},
|
|
207
|
+
ref: {
|
|
208
|
+
type: "string",
|
|
209
|
+
required: false,
|
|
210
|
+
description: "Commit SHA or branch for new tag",
|
|
211
|
+
},
|
|
212
|
+
milestones: {
|
|
213
|
+
type: "array",
|
|
214
|
+
required: false,
|
|
215
|
+
description: "Milestone titles",
|
|
216
|
+
},
|
|
147
217
|
},
|
|
148
218
|
async execute(input, ctx) {
|
|
149
|
-
const { projectId, tagName, name, description: desc, ref, milestones } = input;
|
|
219
|
+
const { projectId, tagName, name, description: desc, ref, milestones, } = input;
|
|
150
220
|
const body = { tag_name: tagName };
|
|
151
221
|
if (name)
|
|
152
222
|
body.name = name;
|
|
@@ -162,7 +232,11 @@ export default function gitlab(rl) {
|
|
|
162
232
|
rl.registerAction("release.get", {
|
|
163
233
|
description: "Get a release by tag",
|
|
164
234
|
inputSchema: {
|
|
165
|
-
projectId: {
|
|
235
|
+
projectId: {
|
|
236
|
+
type: "string",
|
|
237
|
+
required: true,
|
|
238
|
+
description: "Project ID or path",
|
|
239
|
+
},
|
|
166
240
|
tagName: { type: "string", required: true, description: "Tag name" },
|
|
167
241
|
},
|
|
168
242
|
async execute(input, ctx) {
|
|
@@ -173,9 +247,17 @@ export default function gitlab(rl) {
|
|
|
173
247
|
rl.registerAction("release.list", {
|
|
174
248
|
description: "List releases",
|
|
175
249
|
inputSchema: {
|
|
176
|
-
projectId: {
|
|
250
|
+
projectId: {
|
|
251
|
+
type: "string",
|
|
252
|
+
required: true,
|
|
253
|
+
description: "Project ID or path",
|
|
254
|
+
},
|
|
177
255
|
limit: { type: "number", required: false, description: "Max results" },
|
|
178
|
-
orderBy: {
|
|
256
|
+
orderBy: {
|
|
257
|
+
type: "string",
|
|
258
|
+
required: false,
|
|
259
|
+
description: "released_at or created_at",
|
|
260
|
+
},
|
|
179
261
|
sort: { type: "string", required: false, description: "asc or desc" },
|
|
180
262
|
},
|
|
181
263
|
async execute(input, ctx) {
|
|
@@ -193,14 +275,26 @@ export default function gitlab(rl) {
|
|
|
193
275
|
rl.registerAction("release.update", {
|
|
194
276
|
description: "Update a release",
|
|
195
277
|
inputSchema: {
|
|
196
|
-
projectId: {
|
|
278
|
+
projectId: {
|
|
279
|
+
type: "string",
|
|
280
|
+
required: true,
|
|
281
|
+
description: "Project ID or path",
|
|
282
|
+
},
|
|
197
283
|
tagName: { type: "string", required: true, description: "Tag name" },
|
|
198
284
|
name: { type: "string", required: false, description: "New name" },
|
|
199
|
-
description: {
|
|
200
|
-
|
|
285
|
+
description: {
|
|
286
|
+
type: "string",
|
|
287
|
+
required: false,
|
|
288
|
+
description: "New description",
|
|
289
|
+
},
|
|
290
|
+
milestones: {
|
|
291
|
+
type: "array",
|
|
292
|
+
required: false,
|
|
293
|
+
description: "Milestone titles",
|
|
294
|
+
},
|
|
201
295
|
},
|
|
202
296
|
async execute(input, ctx) {
|
|
203
|
-
const { projectId, tagName, name, description: desc, milestones } = input;
|
|
297
|
+
const { projectId, tagName, name, description: desc, milestones, } = input;
|
|
204
298
|
const body = {};
|
|
205
299
|
if (name)
|
|
206
300
|
body.name = name;
|
|
@@ -214,7 +308,11 @@ export default function gitlab(rl) {
|
|
|
214
308
|
rl.registerAction("release.delete", {
|
|
215
309
|
description: "Delete a release",
|
|
216
310
|
inputSchema: {
|
|
217
|
-
projectId: {
|
|
311
|
+
projectId: {
|
|
312
|
+
type: "string",
|
|
313
|
+
required: true,
|
|
314
|
+
description: "Project ID or path",
|
|
315
|
+
},
|
|
218
316
|
tagName: { type: "string", required: true, description: "Tag name" },
|
|
219
317
|
},
|
|
220
318
|
async execute(input, ctx) {
|
|
@@ -240,8 +338,16 @@ export default function gitlab(rl) {
|
|
|
240
338
|
inputSchema: {
|
|
241
339
|
owner: { type: "string", required: true, description: "Namespace" },
|
|
242
340
|
repo: { type: "string", required: true, description: "Project" },
|
|
243
|
-
state: {
|
|
244
|
-
|
|
341
|
+
state: {
|
|
342
|
+
type: "string",
|
|
343
|
+
required: false,
|
|
344
|
+
description: "opened, closed, all",
|
|
345
|
+
},
|
|
346
|
+
labels: {
|
|
347
|
+
type: "string",
|
|
348
|
+
required: false,
|
|
349
|
+
description: "Comma-separated labels",
|
|
350
|
+
},
|
|
245
351
|
limit: { type: "number", required: false, description: "Max results" },
|
|
246
352
|
},
|
|
247
353
|
async execute(input, ctx) {
|
|
@@ -278,10 +384,14 @@ export default function gitlab(rl) {
|
|
|
278
384
|
owner: { type: "string", required: true, description: "Namespace" },
|
|
279
385
|
repo: { type: "string", required: true, description: "Project" },
|
|
280
386
|
filePath: { type: "string", required: true, description: "File path" },
|
|
281
|
-
ref: {
|
|
387
|
+
ref: {
|
|
388
|
+
type: "string",
|
|
389
|
+
required: false,
|
|
390
|
+
description: "Branch/tag/SHA (default: default branch)",
|
|
391
|
+
},
|
|
282
392
|
},
|
|
283
393
|
async execute(input, ctx) {
|
|
284
|
-
const { owner, repo, filePath, ref = "main" } = input;
|
|
394
|
+
const { owner, repo, filePath, ref = "main", } = input;
|
|
285
395
|
return gl(ctx, "GET", `${projectPath(owner, repo)}/repository/files/${encodeURIComponent(filePath)}`, undefined, { ref });
|
|
286
396
|
},
|
|
287
397
|
});
|
|
@@ -293,16 +403,44 @@ export default function gitlab(rl) {
|
|
|
293
403
|
filePath: { type: "string", required: true, description: "File path" },
|
|
294
404
|
content: { type: "string", required: true, description: "File content" },
|
|
295
405
|
branch: { type: "string", required: true, description: "Target branch" },
|
|
296
|
-
commitMessage: {
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
406
|
+
commitMessage: {
|
|
407
|
+
type: "string",
|
|
408
|
+
required: true,
|
|
409
|
+
description: "Commit message",
|
|
410
|
+
},
|
|
411
|
+
startBranch: {
|
|
412
|
+
type: "string",
|
|
413
|
+
required: false,
|
|
414
|
+
description: "Base branch for new branch",
|
|
415
|
+
},
|
|
416
|
+
encoding: {
|
|
417
|
+
type: "string",
|
|
418
|
+
required: false,
|
|
419
|
+
description: "text (default) or base64",
|
|
420
|
+
},
|
|
421
|
+
authorName: {
|
|
422
|
+
type: "string",
|
|
423
|
+
required: false,
|
|
424
|
+
description: "Commit author name",
|
|
425
|
+
},
|
|
426
|
+
authorEmail: {
|
|
427
|
+
type: "string",
|
|
428
|
+
required: false,
|
|
429
|
+
description: "Commit author email",
|
|
430
|
+
},
|
|
431
|
+
isUpdate: {
|
|
432
|
+
type: "boolean",
|
|
433
|
+
required: false,
|
|
434
|
+
description: "true=PUT (update), false=POST (create, default)",
|
|
435
|
+
},
|
|
302
436
|
},
|
|
303
437
|
async execute(input, ctx) {
|
|
304
|
-
const { owner, repo, filePath, content, branch, commitMessage, startBranch, encoding, authorName, authorEmail, isUpdate } = input;
|
|
305
|
-
const body = {
|
|
438
|
+
const { owner, repo, filePath, content, branch, commitMessage, startBranch, encoding, authorName, authorEmail, isUpdate, } = input;
|
|
439
|
+
const body = {
|
|
440
|
+
branch,
|
|
441
|
+
commit_message: commitMessage,
|
|
442
|
+
content,
|
|
443
|
+
};
|
|
306
444
|
if (startBranch)
|
|
307
445
|
body.start_branch = startBranch;
|
|
308
446
|
if (encoding)
|
|
@@ -322,12 +460,17 @@ export default function gitlab(rl) {
|
|
|
322
460
|
repo: { type: "string", required: true, description: "Project" },
|
|
323
461
|
filePath: { type: "string", required: true, description: "File path" },
|
|
324
462
|
branch: { type: "string", required: true, description: "Branch" },
|
|
325
|
-
commitMessage: {
|
|
463
|
+
commitMessage: {
|
|
464
|
+
type: "string",
|
|
465
|
+
required: true,
|
|
466
|
+
description: "Commit message",
|
|
467
|
+
},
|
|
326
468
|
},
|
|
327
469
|
async execute(input, ctx) {
|
|
328
470
|
const { owner, repo, filePath, branch, commitMessage } = input;
|
|
329
471
|
return gl(ctx, "DELETE", `${projectPath(owner, repo)}/repository/files/${encodeURIComponent(filePath)}`, {
|
|
330
|
-
branch,
|
|
472
|
+
branch,
|
|
473
|
+
commit_message: commitMessage,
|
|
331
474
|
});
|
|
332
475
|
},
|
|
333
476
|
});
|
|
@@ -338,11 +481,16 @@ export default function gitlab(rl) {
|
|
|
338
481
|
repo: { type: "string", required: true, description: "Project" },
|
|
339
482
|
path: { type: "string", required: false, description: "Directory path" },
|
|
340
483
|
ref: { type: "string", required: false, description: "Branch/tag/SHA" },
|
|
341
|
-
recursive: {
|
|
484
|
+
recursive: {
|
|
485
|
+
type: "boolean",
|
|
486
|
+
required: false,
|
|
487
|
+
description: "List recursively",
|
|
488
|
+
},
|
|
342
489
|
limit: { type: "number", required: false, description: "Max results" },
|
|
343
490
|
},
|
|
344
491
|
async execute(input, ctx) {
|
|
345
|
-
const { owner, repo, path, ref, recursive, limit } = (input ??
|
|
492
|
+
const { owner, repo, path, ref, recursive, limit } = (input ??
|
|
493
|
+
{});
|
|
346
494
|
const qs = {};
|
|
347
495
|
if (path)
|
|
348
496
|
qs.path = path;
|
|
@@ -41,15 +41,35 @@ export default function gong(rl) {
|
|
|
41
41
|
rl.setName("gong");
|
|
42
42
|
rl.setVersion("0.1.0");
|
|
43
43
|
rl.setConnectionSchema({
|
|
44
|
-
baseUrl: {
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
baseUrl: {
|
|
45
|
+
type: "string",
|
|
46
|
+
required: false,
|
|
47
|
+
description: "Gong API base URL (default: https://api.gong.io)",
|
|
48
|
+
env: "GONG_BASE_URL",
|
|
49
|
+
default: "https://api.gong.io",
|
|
50
|
+
},
|
|
51
|
+
accessKey: {
|
|
52
|
+
type: "string",
|
|
53
|
+
required: true,
|
|
54
|
+
description: "Gong API access key",
|
|
55
|
+
env: "GONG_ACCESS_KEY",
|
|
56
|
+
},
|
|
57
|
+
accessKeySecret: {
|
|
58
|
+
type: "string",
|
|
59
|
+
required: true,
|
|
60
|
+
description: "Gong API access key secret",
|
|
61
|
+
env: "GONG_ACCESS_KEY_SECRET",
|
|
62
|
+
},
|
|
47
63
|
});
|
|
48
64
|
rl.registerAction("call.get", {
|
|
49
65
|
description: "Get detailed call data",
|
|
50
66
|
inputSchema: {
|
|
51
67
|
callId: { type: "string", required: true, description: "Call ID" },
|
|
52
|
-
contentSelector: {
|
|
68
|
+
contentSelector: {
|
|
69
|
+
type: "object",
|
|
70
|
+
required: false,
|
|
71
|
+
description: "Content selector for what data to include (exposedFields object)",
|
|
72
|
+
},
|
|
53
73
|
},
|
|
54
74
|
async execute(input, ctx) {
|
|
55
75
|
const { callId, contentSelector } = input;
|
|
@@ -66,14 +86,34 @@ export default function gong(rl) {
|
|
|
66
86
|
description: "List calls",
|
|
67
87
|
inputSchema: {
|
|
68
88
|
limit: { type: "number", required: false, description: "Max results" },
|
|
69
|
-
fromDateTime: {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
89
|
+
fromDateTime: {
|
|
90
|
+
type: "string",
|
|
91
|
+
required: false,
|
|
92
|
+
description: "Calls started after (ISO 8601)",
|
|
93
|
+
},
|
|
94
|
+
toDateTime: {
|
|
95
|
+
type: "string",
|
|
96
|
+
required: false,
|
|
97
|
+
description: "Calls started before (ISO 8601)",
|
|
98
|
+
},
|
|
99
|
+
workspaceId: {
|
|
100
|
+
type: "string",
|
|
101
|
+
required: false,
|
|
102
|
+
description: "Filter by workspace",
|
|
103
|
+
},
|
|
104
|
+
callIds: {
|
|
105
|
+
type: "array",
|
|
106
|
+
required: false,
|
|
107
|
+
description: "Specific call IDs",
|
|
108
|
+
},
|
|
109
|
+
primaryUserIds: {
|
|
110
|
+
type: "array",
|
|
111
|
+
required: false,
|
|
112
|
+
description: "Filter by organizer user IDs",
|
|
113
|
+
},
|
|
74
114
|
},
|
|
75
115
|
async execute(input, ctx) {
|
|
76
|
-
const { limit, fromDateTime, toDateTime, workspaceId, callIds, primaryUserIds } = (input ?? {});
|
|
116
|
+
const { limit, fromDateTime, toDateTime, workspaceId, callIds, primaryUserIds, } = (input ?? {});
|
|
77
117
|
const { baseUrl, accessKey, accessKeySecret } = getConn(ctx);
|
|
78
118
|
const filter = {};
|
|
79
119
|
if (fromDateTime)
|
|
@@ -91,7 +131,9 @@ export default function gong(rl) {
|
|
|
91
131
|
});
|
|
92
132
|
rl.registerAction("user.get", {
|
|
93
133
|
description: "Get a user",
|
|
94
|
-
inputSchema: {
|
|
134
|
+
inputSchema: {
|
|
135
|
+
userId: { type: "string", required: true, description: "User ID" },
|
|
136
|
+
},
|
|
95
137
|
async execute(input, ctx) {
|
|
96
138
|
const { userId } = input;
|
|
97
139
|
const { baseUrl, accessKey, accessKeySecret } = getConn(ctx);
|
|
@@ -106,9 +148,21 @@ export default function gong(rl) {
|
|
|
106
148
|
description: "List users",
|
|
107
149
|
inputSchema: {
|
|
108
150
|
limit: { type: "number", required: false, description: "Max results" },
|
|
109
|
-
createdFromDateTime: {
|
|
110
|
-
|
|
111
|
-
|
|
151
|
+
createdFromDateTime: {
|
|
152
|
+
type: "string",
|
|
153
|
+
required: false,
|
|
154
|
+
description: "Users created after (ISO 8601)",
|
|
155
|
+
},
|
|
156
|
+
createdToDateTime: {
|
|
157
|
+
type: "string",
|
|
158
|
+
required: false,
|
|
159
|
+
description: "Users created before (ISO 8601)",
|
|
160
|
+
},
|
|
161
|
+
userIds: {
|
|
162
|
+
type: "array",
|
|
163
|
+
required: false,
|
|
164
|
+
description: "Specific user IDs",
|
|
165
|
+
},
|
|
112
166
|
},
|
|
113
167
|
async execute(input, ctx) {
|
|
114
168
|
const { limit, createdFromDateTime, createdToDateTime, userIds } = (input ?? {});
|
|
@@ -8,9 +8,16 @@ async function apiRequest(url, token, method, endpoint, body, qs) {
|
|
|
8
8
|
}
|
|
9
9
|
const opts = {
|
|
10
10
|
method,
|
|
11
|
-
headers: {
|
|
11
|
+
headers: {
|
|
12
|
+
"X-Gotify-Key": token,
|
|
13
|
+
Accept: "application/json",
|
|
14
|
+
"Content-Type": "application/json",
|
|
15
|
+
},
|
|
12
16
|
};
|
|
13
|
-
if (body &&
|
|
17
|
+
if (body &&
|
|
18
|
+
Object.keys(body).length > 0 &&
|
|
19
|
+
method !== "GET" &&
|
|
20
|
+
method !== "DELETE") {
|
|
14
21
|
opts.body = JSON.stringify(body);
|
|
15
22
|
}
|
|
16
23
|
const res = await fetch(fullUrl.toString(), opts);
|
|
@@ -24,17 +31,40 @@ export default function gotify(rl) {
|
|
|
24
31
|
rl.setName("gotify");
|
|
25
32
|
rl.setVersion("0.1.0");
|
|
26
33
|
rl.setConnectionSchema({
|
|
27
|
-
url: {
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
url: {
|
|
35
|
+
type: "string",
|
|
36
|
+
required: true,
|
|
37
|
+
description: "Gotify server URL (e.g. https://gotify.example.com)",
|
|
38
|
+
env: "GOTIFY_URL",
|
|
39
|
+
},
|
|
40
|
+
appApiToken: {
|
|
41
|
+
type: "string",
|
|
42
|
+
required: true,
|
|
43
|
+
description: "Application token (for sending messages)",
|
|
44
|
+
env: "GOTIFY_APP_TOKEN",
|
|
45
|
+
},
|
|
46
|
+
clientApiToken: {
|
|
47
|
+
type: "string",
|
|
48
|
+
required: true,
|
|
49
|
+
description: "Client token (for reading/deleting)",
|
|
50
|
+
env: "GOTIFY_CLIENT_TOKEN",
|
|
51
|
+
},
|
|
30
52
|
});
|
|
31
53
|
rl.registerAction("message.create", {
|
|
32
54
|
description: "Send a push message",
|
|
33
55
|
inputSchema: {
|
|
34
56
|
message: { type: "string", required: true, description: "Message text" },
|
|
35
57
|
title: { type: "string", required: false, description: "Message title" },
|
|
36
|
-
priority: {
|
|
37
|
-
|
|
58
|
+
priority: {
|
|
59
|
+
type: "number",
|
|
60
|
+
required: false,
|
|
61
|
+
description: "Priority (default: 1)",
|
|
62
|
+
},
|
|
63
|
+
contentType: {
|
|
64
|
+
type: "string",
|
|
65
|
+
required: false,
|
|
66
|
+
description: "text/plain (default) or text/markdown",
|
|
67
|
+
},
|
|
38
68
|
},
|
|
39
69
|
async execute(input, ctx) {
|
|
40
70
|
const { message, title, priority, contentType } = input;
|
|
@@ -52,7 +82,9 @@ export default function gotify(rl) {
|
|
|
52
82
|
});
|
|
53
83
|
rl.registerAction("message.delete", {
|
|
54
84
|
description: "Delete a message",
|
|
55
|
-
inputSchema: {
|
|
85
|
+
inputSchema: {
|
|
86
|
+
messageId: { type: "string", required: true, description: "Message ID" },
|
|
87
|
+
},
|
|
56
88
|
async execute(input, ctx) {
|
|
57
89
|
const url = ctx.connection.config.url.replace(/\/$/, "");
|
|
58
90
|
const token = ctx.connection.config.clientApiToken;
|
|
@@ -62,7 +94,9 @@ export default function gotify(rl) {
|
|
|
62
94
|
});
|
|
63
95
|
rl.registerAction("message.list", {
|
|
64
96
|
description: "List messages",
|
|
65
|
-
inputSchema: {
|
|
97
|
+
inputSchema: {
|
|
98
|
+
limit: { type: "number", required: false, description: "Max results" },
|
|
99
|
+
},
|
|
66
100
|
async execute(input, ctx) {
|
|
67
101
|
const { limit } = (input ?? {});
|
|
68
102
|
const url = ctx.connection.config.url.replace(/\/$/, "");
|