scaffolder: refine analytics events data

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
This commit is contained in:
Vincenzo Scamporlino
2025-06-13 10:00:42 +02:00
parent df766a420e
commit 2da89d1289
4 changed files with 63 additions and 40 deletions
@@ -22,7 +22,7 @@ import {
} from '@backstage/core-components';
import { stringifyEntityRef } from '@backstage/catalog-model';
import { TemplateCardProps, TemplateCard } from '../TemplateCard';
import { IconComponent } from '@backstage/core-plugin-api';
import { AnalyticsContext, IconComponent } from '@backstage/core-plugin-api';
/**
* The props for the {@link TemplateGroup} component.
@@ -69,12 +69,18 @@ export const TemplateGroup = (props: TemplateGroupProps) => {
{titleComponent}
<ItemCardGrid>
{templates.map(({ template, additionalLinks }) => (
<Card
<AnalyticsContext
attributes={{
entityRef: stringifyEntityRef(template),
}}
key={stringifyEntityRef(template)}
additionalLinks={additionalLinks}
template={template}
onSelected={onSelected}
/>
>
<Card
additionalLinks={additionalLinks}
template={template}
onSelected={onSelected}
/>
</AnalyticsContext>
))}
</ItemCardGrid>
</Content>
@@ -97,13 +97,11 @@ export const Workflow = (workflowProps: WorkflowProps): JSX.Element | null => {
async (formState: Record<string, JsonValue>) => {
await onCreate(formState);
const name =
typeof formState.name === 'string' ? formState.name : undefined;
analytics.captureEvent('create', name ?? templateName ?? 'unknown', {
analytics.captureEvent('create', 'Task has been created', {
value: minutesSaved,
});
},
[onCreate, analytics, templateName, minutesSaved],
[onCreate, analytics, minutesSaved],
);
useEffect(() => {