diff --git a/.changeset/hip-pets-sell.md b/.changeset/hip-pets-sell.md
new file mode 100644
index 0000000000..7773d8d008
--- /dev/null
+++ b/.changeset/hip-pets-sell.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-jenkins': patch
+---
+
+Improve display of duration in latest build card
diff --git a/plugins/jenkins/src/components/Cards/Cards.tsx b/plugins/jenkins/src/components/Cards/Cards.tsx
index 447afff266..6fc544bcea 100644
--- a/plugins/jenkins/src/components/Cards/Cards.tsx
+++ b/plugins/jenkins/src/components/Cards/Cards.tsx
@@ -40,13 +40,13 @@ const WidgetContent = ({
const classes = useStyles();
if (loading || !latestRun) return ;
const displayDate = DateTime.fromMillis(latestRun.timestamp).toRelative();
- // TODO This works, but hard codes as minutes. Would prefer something smarter/relative.
- const durationInMinutes = Math.round(
- Duration.fromMillis(latestRun.duration).as('minutes'),
- );
- const displayDuration = `${durationInMinutes} minute${
- durationInMinutes > 1 ? 's' : ''
- }`;
+ const displayDuration =
+ (latestRun.building ? 'Running for ' : '') +
+ DateTime.local()
+ .minus(Duration.fromMillis(latestRun.duration))
+ .toRelative({ locale: 'en' })
+ ?.replace(' ago', '');
+
return (