JS client for increment_unique_users API
requested to merge 244355-add-javascript-example-on-how-we-could-track-ui-events-using-usagedata into master
What does this MR do?
Adds JS client helpers for API for increment_unique_users usage_data API.
- This gives a simple API interface by adding CSRF and authentication headers
Related #244355 (closed) and API MR !41301 (diffs)
Manual testing
Here's a way to test the JS call in "star"ing action for projects
index 64842ae7f8d..b1c385c4fa7 100644
--- a/app/assets/javascripts/star.js
+++ b/app/assets/javascripts/star.js
@@ -3,6 +3,7 @@ import { deprecatedCreateFlash as Flash } from './flash';
import { __, s__ } from './locale';
import { spriteIcon } from './lib/utils/common_utils';
import axios from './lib/utils/axios_utils';
+import api from './api';
export default class Star {
constructor(container = '.project-home-panel') {
@@ -12,6 +13,8 @@ export default class Star {
const $starIcon = $this.find('svg');
const iconClasses = $starIcon.attr('class').split(' ');
+ api.trackRedisHllUserEvent('a_compliance_audit_events_api');
+
axios
.post($this.data('endpoint'))
.then(({ data }) => {
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team
Edited by Alper Akgun