Skip to content

Commit fae2f75

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 fae2f75

File tree

2 files changed

+36
-16
lines changed

2 files changed

+36
-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: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -245,21 +245,21 @@ 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+
deployment.git?.ghUsername !== undefined ? (
250+
<UserTag
251+
name={deployment.git?.ghUsername}
252+
avatarUrl={deployment.git?.ghUserAvatarUrl}
253+
/>
254+
) : deployment.deployedBy ? (
255+
<UserTag
256+
name={
257+
deployment.deployedBy.name ??
258+
deployment.deployedBy.displayName ??
259+
""
260+
}
261+
avatarUrl={deployment.deployedBy.avatarUrl ?? undefined}
262+
/>
263263
) : (
264264
"–"
265265
)}
@@ -318,6 +318,15 @@ export default function Page() {
318318
);
319319
}
320320

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

0 commit comments

Comments
 (0)