Skip to content

Commit f419001

Browse files
committed
feat: added examples for git database tasks
1 parent 3d486d6 commit f419001

File tree

2 files changed

+131
-2
lines changed

2 files changed

+131
-2
lines changed

examples/nextjs-example/src/jobs/github.ts

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,3 +244,132 @@ client.defineJob({
244244
return { payload, ctx };
245245
},
246246
});
247+
248+
client.defineJob({
249+
id: "github-integration-on-pull-request-merge-commit",
250+
name: "GitHub Integration - on Pull Request Merge Commit",
251+
version: "0.1.0",
252+
integrations: { github },
253+
trigger: githubApiKey.triggers.repo({
254+
event: events.onPullRequest,
255+
owner: "triggerdotdev",
256+
repo: "empty",
257+
}),
258+
run: async (payload, io, ctx) => {
259+
await io.logger.info("This is a simple log info message");
260+
261+
if (payload.pull_request.merged && payload.pull_request.merge_commit_sha) {
262+
const commit = await io.github.getCommit("get merge commit", {
263+
owner: payload.repository.owner.login,
264+
repo: payload.repository.name,
265+
commitSHA: payload.pull_request.merge_commit_sha,
266+
});
267+
await io.logger.info("Merge Commit Details", commit);
268+
}
269+
270+
return { payload, ctx };
271+
},
272+
});
273+
274+
client.defineJob({
275+
id: "github-integration-get-tree",
276+
name: "GitHub Integration - Get Tree",
277+
version: "0.1.0",
278+
integrations: { github },
279+
trigger: githubApiKey.triggers.repo({
280+
event: events.onPullRequest,
281+
owner: "triggerdotdev",
282+
repo: "empty",
283+
}),
284+
run: async (payload, io, ctx) => {
285+
await io.logger.info("This is a simple log info message");
286+
287+
if (payload.pull_request.merged && payload.pull_request.merge_commit_sha) {
288+
const tree = await io.github.getTree("get merge commit", {
289+
owner: payload.repository.owner.login,
290+
repo: payload.repository.name,
291+
treeSHA: payload.pull_request.merge_commit_sha,
292+
});
293+
await io.logger.info("Tree ", tree);
294+
}
295+
296+
return { payload, ctx };
297+
},
298+
});
299+
300+
client.defineJob({
301+
id: "github-integration-get-reference",
302+
name: "GitHub Integration - Get Reference",
303+
integrations: { github },
304+
version: "0.1.0",
305+
trigger: githubApiKey.triggers.repo({
306+
event: events.onNewBranch,
307+
owner: "triggerdotdev",
308+
repo: "empty",
309+
}),
310+
run: async (payload, io, ctx) => {
311+
await io.logger.info("This is a simple log info message");
312+
313+
const ref = await io.github.getReference("Get reference", {
314+
owner: payload.repository.owner.login,
315+
repo: payload.repository.name,
316+
ref: payload.ref,
317+
});
318+
319+
await io.logger.info("Reference ", ref);
320+
321+
return { payload, ctx };
322+
},
323+
});
324+
325+
client.defineJob({
326+
id: "github-integration-list-matching-references",
327+
name: "GitHub Integration - List Matching References",
328+
integrations: { github },
329+
version: "0.1.0",
330+
trigger: githubApiKey.triggers.repo({
331+
event: events.onNewBranch,
332+
owner: "triggerdotdev",
333+
repo: "empty",
334+
}),
335+
run: async (payload, io, ctx) => {
336+
await io.logger.info("This is a simple log info message");
337+
338+
const ref = await io.github.listMatchingReferences(
339+
"List Matching References",
340+
{
341+
owner: payload.repository.owner.login,
342+
repo: payload.repository.name,
343+
ref: payload.ref,
344+
}
345+
);
346+
347+
await io.logger.info("Reference ", ref);
348+
349+
return { payload, ctx };
350+
},
351+
});
352+
353+
client.defineJob({
354+
id: "github-integration-get-tag",
355+
name: "GitHub Integration - Get Tag",
356+
version: "0.1.0",
357+
integrations: { github },
358+
trigger: githubApiKey.triggers.repo({
359+
event: events.onNewBranchOrTag,
360+
owner: "triggerdotdev",
361+
repo: "empty",
362+
}),
363+
run: async (payload, io, ctx) => {
364+
await io.logger.info("This is a simple log info message");
365+
if (payload.ref_type === "tag") {
366+
const tag = io.github.getTag("Get Tag", {
367+
owner: payload.repository.owner.login,
368+
repo: payload.repository.name,
369+
tagSHA: payload.ref,
370+
});
371+
await io.logger.info("Tag ", tag);
372+
}
373+
return { payload, ctx };
374+
},
375+
});

integrations/github/src/tasks.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -760,15 +760,15 @@ const getCommit: GetCommitTask = {
760760
},
761761
};
762762

763-
type ListMatchinghReferencesTask = GithubAuthenticatedTask<
763+
type ListMatchingReferencesTask = GithubAuthenticatedTask<
764764
{
765765
owner: string;
766766
repo: string;
767767
ref: string;
768768
},
769769
OctokitClient["rest"]["git"]["listMatchingRefs"]
770770
>;
771-
const listMatchingReferences: ListMatchinghReferencesTask = {
771+
const listMatchingReferences: ListMatchingReferencesTask = {
772772
onError,
773773
run: async (params, client) => {
774774
return client.rest.git

0 commit comments

Comments
 (0)