Skip to content

Commit fd77372

Browse files
committed
feat: show gh username and avatar for deployments triggerd by the github app integration
Small change that shows the github user in the deployments page in cases where it was triggered by the github app integration. These deployments are not triggered using a PAT, so we cannot associate them with a Trigger user ID.
1 parent 944b187 commit fd77372

File tree

2 files changed

+35
-16
lines changed

2 files changed

+35
-16
lines changed

apps/webapp/app/presenters/v3/BranchesPresenter.server.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { GitMeta } from "@trigger.dev/core/v3";
22
import { type z } from "zod";
3-
import { Prisma, type PrismaClient, prisma } from "~/db.server";
3+
import { type Prisma, type PrismaClient, prisma } from "~/db.server";
44
import { type Project } from "~/models/project.server";
55
import { type User } from "~/models/user.server";
66
import { type BranchesOptions } from "~/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.branches/route";
@@ -38,6 +38,13 @@ export type GitMetaLinks = {
3838
commitMessage: string;
3939
/** The commit author */
4040
commitAuthor: string;
41+
42+
/** The git provider, e.g., `github` */
43+
provider?: string;
44+
45+
source?: "trigger_github_app" | "github_actions" | "local";
46+
ghUsername?: string;
47+
ghUserAvatarUrl?: string;
4148
};
4249

4350
export class BranchesPresenter {
@@ -239,5 +246,9 @@ export function processGitMetadata(data: Prisma.JsonValue): GitMetaLinks | null
239246
isDirty: parsed.data.dirty ?? false,
240247
commitMessage: parsed.data.commitMessage ?? "",
241248
commitAuthor: parsed.data.commitAuthorName ?? "",
249+
provider: parsed.data.provider,
250+
source: parsed.data.source,
251+
ghUsername: parsed.data.ghUsername,
252+
ghUserAvatarUrl: parsed.data.ghUserAvatarUrl,
242253
};
243254
}

apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.deployments/route.tsx

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -245,21 +245,20 @@ export default function Page() {
245245
)}
246246
</TableCell>
247247
<TableCell to={path} isSelected={isSelected}>
248-
{deployment.deployedBy ? (
249-
<div className="flex items-center gap-1">
250-
<UserAvatar
251-
avatarUrl={deployment.deployedBy.avatarUrl}
252-
name={
253-
deployment.deployedBy.name ??
254-
deployment.deployedBy.displayName
255-
}
256-
className="h-4 w-4"
257-
/>
258-
<Paragraph variant="extra-small">
259-
{deployment.deployedBy.name ??
260-
deployment.deployedBy.displayName}
261-
</Paragraph>
262-
</div>
248+
{deployment.git?.source === "trigger_github_app" ? (
249+
<UserTag
250+
name={deployment.git.ghUsername ?? "GitHub Integration"}
251+
avatarUrl={deployment.git.ghUserAvatarUrl}
252+
/>
253+
) : deployment.deployedBy ? (
254+
<UserTag
255+
name={
256+
deployment.deployedBy.name ??
257+
deployment.deployedBy.displayName ??
258+
""
259+
}
260+
avatarUrl={deployment.deployedBy.avatarUrl ?? undefined}
261+
/>
263262
) : (
264263
"–"
265264
)}
@@ -318,6 +317,15 @@ export default function Page() {
318317
);
319318
}
320319

320+
function UserTag({ name, avatarUrl }: { name: string; avatarUrl?: string }) {
321+
return (
322+
<div className="flex items-center gap-1">
323+
<UserAvatar avatarUrl={avatarUrl} name={name} className="h-4 w-4" />
324+
<Paragraph variant="extra-small">{name}</Paragraph>
325+
</div>
326+
);
327+
}
328+
321329
function DeploymentActionsCell({
322330
deployment,
323331
path,

0 commit comments

Comments
 (0)