Skip to content

Update SyncFunnels worker to include pointer project

What does this MR do and why?

Sync Funnels worker syncs funnel definitions in .gitlab/analytics/funnels to a clickhouse database. A clickhouse database is set up when project analytics is initialized for a project. This already works.

However, funnel definitions can be stored not only in the same project, but also in a custom dashboard project. In that case, the funnels in a custom dashboard project should be synced with the clickhouse database of the project which uses this custom dashboard project.

Note that different projects might be using different analytics configurators. That's why we may send requests to more than 1 configurator.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

How to set up and validate locally

  1. Create a project, onboard product analytics so that clickhouse database is created
  2. Go to project -> settings -> analytics. Choose another project under Custom dashboard projects. Save
  3. Go to the project that you've chosen as a custom dashboard project. Create a funnel definition in .gitlab/analytics/funnels
  4. Check clickhouse database for the project you created in step 2. It should have a funnel schema record.

Related to #459988 (closed)

Edited by Halil Coban

Merge request reports