Skip to content

Commit f767654

Browse files
authored
feat: show gh username and avatar for deployments triggerd by the github app integration (#2394)
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 f767654

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)