Skip to content

Add API endpoint for Internal Events Tracking

Ankit Panchal requested to merge ankit.panchal/increment_event_api into master

What does this MR do and why?

Implements #415335 (closed)

Added new API increment_event which calls Gitlab::InternalEvents.track_event.

How to set up and validate locally

Call new api /usage_data/track_event with event name, namespace id and project Id,

CURL :

curl 'http://localhost:3000/api/v4/usage_data/track_event' \
  -H 'Accept: application/json, text/plain, */*' \
  -H 'Accept-Language: en-GB,en-US;q=0.9,en;q=0.8' \
  -H 'Connection: keep-alive' \
  -H 'Content-Type: application/json' \
  -H 'Cookie: sp=0c354fd0-ccc7-42a0-b2ac-05c45cb10ed6; visitor_id=101624fb-57ec-48d4-b50f-75a2dd6c063f; ajs_anonymous_id=832a1e96-b198-43d8-a2ef-9882d6834ae2; sidebar_collapsed=false; snowplow-micro=a6fcbee9-e08b-4f8c-8f21-a7dad4ce1f23; _sp_id.1fff=a583ebc4-814b-419c-ab8d-9f0a5d115046.1681967425.10.1686717303.1686712389.df51d779-72ea-4305-be95-00c85cd25847.a0576e9f-1edf-466c-97d3-ec962297a4c0.8c85afba-efcc-4965-a195-6e828b8b5803.1686717160576.14; dev_ops_report_intro_callout_dismissed=true; BetterErrors-2.10.1-CSRF-Token=849b5d89-f28d-415b-9fc0-670d474bf615; perf_bar_enabled=true; preferred_language=en; known_sign_in=cThIZUU0S1gveVhwUVY4Y09paWFvbk1jRXFaM3QxQlNJdTUxYzZULzBJMkRXTENoNDJJSitKSzRsbmtUWmNudHpHMkg1SURQVHVVM2hNcm1QWjZNdVFSSjNrSnYzWWtZc1JYeFNxVlNDblBTUUhTa2syaFlXQ0paY1A4RS8wRVAtLTZaWWx1VlNsL280d09pQ0FWblhOVkE9PQ%3D%3D--152dbfa9972e1a3f2d7c65bacacaf85ee3394bee; _gitlab_session_7a58fd71e4e9cfa6cfc4978d76f157f5874e3e42e1f50e263d79de904863d8d2=f7d8330e0d3aff1979928b9925b5f295; super_sidebar_collapsed=false' \
  -H 'Origin: http://localhost:3000' \
  -H 'Referer: http://localhost:3000/admin/dev_ops_reports?tab=dev' \
  -H 'Sec-Fetch-Dest: empty' \
  -H 'Sec-Fetch-Mode: cors' \
  -H 'Sec-Fetch-Site: same-origin' \
  -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36' \
  -H 'X-CSRF-Token: -xHkFV9fHxnrBMW86npPlIY_AiNpwf124AfybVUh8iRkRKnLGFWGUMK-SNu6z7I3njc5fLl7-xj3--neBspunQ' \
  -H 'X-Requested-With: XMLHttpRequest' \
  -H 'sec-ch-ua: "Google Chrome";v="113", "Chromium";v="113", "Not-A.Brand";v="24"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "macOS"' \
  --data-raw '{"event":"i_analytics_dev_ops_adoption","project_id":234,"namespace_id":123}' \
  --compressed

It should call Gitlab::InternalEvents.track_event internally.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Ankit Panchal

Merge request reports