mirror of
https://github.com/n8n-io/n8n.git
synced 2025-03-05 20:50:17 -08:00
fix(editor): Send correct telemetry events in credential setup (no-changelog) (#7926)
Send the `User opened cred setup` and `User closed cred setup` events specified [here](https://www.notion.so/n8n/Handoff-a1150c38f6e042db91fdf61c56900967?pvs=4)
This commit is contained in:
parent
04cabafef7
commit
dc1f14b0be
|
@ -9,10 +9,12 @@ import SetupTemplateFormStep from './SetupTemplateFormStep.vue';
|
||||||
import TemplatesView from '../TemplatesView.vue';
|
import TemplatesView from '../TemplatesView.vue';
|
||||||
import { VIEWS } from '@/constants';
|
import { VIEWS } from '@/constants';
|
||||||
import { useI18n } from '@/composables/useI18n';
|
import { useI18n } from '@/composables/useI18n';
|
||||||
|
import { useTelemetry } from '@/composables/useTelemetry';
|
||||||
|
|
||||||
// Store
|
// Store
|
||||||
const setupTemplateStore = useSetupTemplateStore();
|
const setupTemplateStore = useSetupTemplateStore();
|
||||||
const i18n = useI18n();
|
const i18n = useI18n();
|
||||||
|
const telemetry = useTelemetry();
|
||||||
|
|
||||||
// Router
|
// Router
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
@ -58,14 +60,17 @@ const onSkipSetup = async (event: MouseEvent) => {
|
||||||
const skipIfTemplateHasNoCreds = async () => {
|
const skipIfTemplateHasNoCreds = async () => {
|
||||||
const isTemplateLoaded = !!setupTemplateStore.template;
|
const isTemplateLoaded = !!setupTemplateStore.template;
|
||||||
if (!isTemplateLoaded) {
|
if (!isTemplateLoaded) {
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (setupTemplateStore.credentialUsages.length === 0) {
|
if (setupTemplateStore.credentialUsages.length === 0) {
|
||||||
await setupTemplateStore.skipSetup({
|
await setupTemplateStore.skipSetup({
|
||||||
router,
|
router,
|
||||||
});
|
});
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
//#endregion Methods
|
//#endregion Methods
|
||||||
|
@ -76,7 +81,12 @@ setupTemplateStore.setTemplateId(templateId.value);
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await setupTemplateStore.init();
|
await setupTemplateStore.init();
|
||||||
await skipIfTemplateHasNoCreds();
|
const wasSkipped = await skipIfTemplateHasNoCreds();
|
||||||
|
if (!wasSkipped) {
|
||||||
|
telemetry.track('User opened cred setup', undefined, {
|
||||||
|
withPostHog: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
//#endregion Lifecycle hooks
|
//#endregion Lifecycle hooks
|
||||||
|
@ -124,7 +134,7 @@ onMounted(async () => {
|
||||||
size="large"
|
size="large"
|
||||||
:label="i18n.baseText('templateSetup.continue.button')"
|
:label="i18n.baseText('templateSetup.continue.button')"
|
||||||
:disabled="setupTemplateStore.isSaving"
|
:disabled="setupTemplateStore.isSaving"
|
||||||
@click="setupTemplateStore.createWorkflow(router)"
|
@click="setupTemplateStore.createWorkflow({ router })"
|
||||||
data-test-id="continue-button"
|
data-test-id="continue-button"
|
||||||
/>
|
/>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
|
|
|
@ -304,15 +304,14 @@ export const useSetupTemplateStore = defineStore('setupTemplate', () => {
|
||||||
const externalHooks = useExternalHooks();
|
const externalHooks = useExternalHooks();
|
||||||
const telemetry = useTelemetry();
|
const telemetry = useTelemetry();
|
||||||
|
|
||||||
const telemetryPayload = {
|
await externalHooks.run('templatesWorkflowView.openWorkflow', {
|
||||||
source: 'workflow',
|
source: 'workflow',
|
||||||
template_id: templateId.value,
|
template_id: templateId.value,
|
||||||
wf_template_repo_session_id: templatesStore.currentSessionId,
|
wf_template_repo_session_id: templatesStore.currentSessionId,
|
||||||
};
|
});
|
||||||
|
|
||||||
await externalHooks.run('templatesWorkflowView.openWorkflow', telemetryPayload);
|
telemetry.track('User closed cred setup', {
|
||||||
telemetry.track('User inserted workflow template', telemetryPayload, {
|
completed: false,
|
||||||
withPostHog: true,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Replace the URL so back button doesn't come back to this setup view
|
// Replace the URL so back button doesn't come back to this setup view
|
||||||
|
@ -325,7 +324,10 @@ export const useSetupTemplateStore = defineStore('setupTemplate', () => {
|
||||||
/**
|
/**
|
||||||
* Creates a workflow from the template and navigates to the workflow view.
|
* Creates a workflow from the template and navigates to the workflow view.
|
||||||
*/
|
*/
|
||||||
const createWorkflow = async ($router: Router) => {
|
const createWorkflow = async (opts: { router: Router }) => {
|
||||||
|
const { router } = opts;
|
||||||
|
const telemetry = useTelemetry();
|
||||||
|
|
||||||
if (!template.value) {
|
if (!template.value) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -340,8 +342,12 @@ export const useSetupTemplateStore = defineStore('setupTemplate', () => {
|
||||||
workflowsStore,
|
workflowsStore,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
telemetry.track('User closed cred setup', {
|
||||||
|
completed: true,
|
||||||
|
});
|
||||||
|
|
||||||
// Replace the URL so back button doesn't come back to this setup view
|
// Replace the URL so back button doesn't come back to this setup view
|
||||||
await $router.replace({
|
await router.replace({
|
||||||
name: VIEWS.WORKFLOW,
|
name: VIEWS.WORKFLOW,
|
||||||
params: { name: createdWorkflow.id },
|
params: { name: createdWorkflow.id },
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue