Skip to content

Conversation

@MatthewBemis
Copy link
Member

@MatthewBemis MatthewBemis commented Dec 15, 2025

Jira Ticket: https://broadworkbench.atlassian.net/browse/TSPS-635

Summary of changes:

What

  • Adds a new Job Details view, allowing users to more easily view their job inputs and outputs. In the future, a Job Timeline will also be including (as a follow-up PR)

(ignore the default notation on the inputs in these screenshots, that has since been removed per recent team discussions)

screencapture-localhost-3000-2025-12-16-10_00_18 screencapture-localhost-3000-2025-12-15-11_55_28 screencapture-localhost-3000-2025-12-16-13_11_03 screencapture-localhost-3000-2026-01-06-16_00_44

Why

Testing strategy

onDismiss: () => void;
}

const getFileSize = async (url: string): Promise<string> => {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moved to util file so job details page can use it

@MatthewBemis MatthewBemis changed the title [TSPS-635] Add Job Details view for Teaspoons jobs [WIP - do not merge until 2026] [TSPS-635] Add Job Details view for Teaspoons jobs Jan 6, 2026
return <JobIdCell pipelineRun={paginatedRuns[rowIndex]} />;
},
size: { basis: 140 },
size: { basis: 250 },
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tweaked the width of some of the columns to keep things more appropriately distributed

}
};

const pipelineNameToColor = (pipelineRun: PipelineRun): string => {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moved to pipeline-style-utils

Comment on lines +30 to +34
return (
<span style={{ whiteSpace: 'pre-wrap' }} key={`span-${key}`}>
{part}
</span>
);
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i needed this fix to use the stylized string inside of a header tag, otherwise the browser would remove any whitespace immediately after this span. without it, the job details page would display the pipeline name as "All of Us+ AnVIL Array Imputation"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the gift that keeps on giving

@MatthewBemis MatthewBemis marked this pull request as ready for review January 6, 2026 20:21
@MatthewBemis MatthewBemis requested a review from a team as a code owner January 6, 2026 20:21
Copy link

@jsotobroad jsotobroad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice this looks really cool, just a couple of comments

causes: string[];
}

export interface PipelineRunReport {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

its definitely too late to do this now but OoC would there be a way to generate these models from the api yml like we do for the python client?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes it's possible to do that. that would be a great thing to consider doing if/when we ever break the teaspoons UI out of terra-ui and into our own codebase

})}
</div>
) : (
<div style={{ color: colors.dark(0.6), fontSize: '0.875rem' }}>There are no inputs to display</div>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so this state should never be possible right? Do we want to display this more prominently as an error rather than a job that has no inputs?

).toLocaleDateString()} and are no longer available.`;
}
if (isSucceeded) {
return 'This job succeeded, but did not produce any outputs.';

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

similar question here, should this also be treated as more of an error state?

Comment on lines +30 to +34
return (
<span style={{ whiteSpace: 'pre-wrap' }} key={`span-${key}`}>
{part}
</span>
);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the gift that keeps on giving

>
{pipelineRun.jobId}
</TooltipCell>
{canViewDetails ? (

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you add a screenshot showing these changes as well

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 added to description

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I might be going crazy but I can't see this change in the Job History screenshot. should I be able to see something? maybe it needs a video if it's just the link?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah my b i thought jose meant just show the jobhistory.tsx changes generally since the columns have new widths.

for these specific changes, it's basically just "is the job ID a link to details or not". here's what that looks like:

Screenshot 2026-01-07 at 12 19 39 PM

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!

>
{pipelineRun.jobId}
</TooltipCell>
{canViewDetails ? (
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I might be going crazy but I can't see this change in the Job History screenshot. should I be able to see something? maybe it needs a video if it's just the link?

<div
style={{
width: '100%',
background: `linear-gradient(to right, #f5f6f9, ${getPipelineStatusColor(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this gradient is swanky

<div style={{ flex: 1 }}>
<div style={{ display: 'flex', alignItems: 'center', gap: '0.5rem', marginBottom: '1rem' }}>
<h4 style={{ margin: 0, fontSize: 16, fontWeight: 600 }}>Inputs</h4>
<TooltipTrigger content='Inputs include both values you provided and defaults for any parameters you did not specify.'>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does this show up when you hover in the Inputs text? I don't see a tooltip icon in the screenshot

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah sorry- slightly outdated screenshot in the description.

Screenshot 2026-01-07 at 12 15 29 PM

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

very nice, thanks!

pipelineRunResult.pipelineRunReport.pipelineVersion
);

const inputDefinitions = pipelineDetails?.inputs || [];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

related to Jose's comment, I don't think we should have a default to none here. if there are no inputs, something went wrong.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That makes complete sense- i will change these cases to display an error instead

@sonarqubecloud
Copy link

sonarqubecloud bot commented Jan 7, 2026

Copy link
Contributor

@mmorgantaylor mmorgantaylor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you, looks great to me!

Copy link

@jsotobroad jsotobroad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is great!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants