Add API endpoint for Internal Events Tracking
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.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Ankit Panchal