diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-16 15:09:17 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-16 15:09:17 +0300 |
commit | 09dff3eec735ccbe001d165293ecebf195452071 (patch) | |
tree | 03c73077d0703edb9452145e7109835da2cd4918 /app/assets/javascripts/api | |
parent | 78e911431fc575ff4f6c9b7e0f95c02b57a5e926 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/api')
-rw-r--r-- | app/assets/javascripts/api/analytics_api.js | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/app/assets/javascripts/api/analytics_api.js b/app/assets/javascripts/api/analytics_api.js index e10439f699d..c7a53288ae4 100644 --- a/app/assets/javascripts/api/analytics_api.js +++ b/app/assets/javascripts/api/analytics_api.js @@ -2,10 +2,17 @@ import axios from '~/lib/utils/axios_utils'; import { joinPaths } from '~/lib/utils/url_utility'; import { buildApiUrl } from './api_utils'; +const PROJECT_VSA_METRICS_BASE = '/:request_path/-/analytics/value_stream_analytics'; const PROJECT_VSA_PATH_BASE = '/:request_path/-/analytics/value_stream_analytics/value_streams'; const PROJECT_VSA_STAGES_PATH = `${PROJECT_VSA_PATH_BASE}/:value_stream_id/stages`; const PROJECT_VSA_STAGE_DATA_PATH = `${PROJECT_VSA_STAGES_PATH}/:stage_id`; +export const METRIC_TYPE_SUMMARY = 'summary'; +export const METRIC_TYPE_TIME_SUMMARY = 'time_summary'; + +const buildProjectMetricsPath = (requestPath) => + buildApiUrl(PROJECT_VSA_METRICS_BASE).replace(':request_path', requestPath); + const buildProjectValueStreamPath = (requestPath, valueStreamId = null) => { if (valueStreamId) { return buildApiUrl(PROJECT_VSA_STAGES_PATH) @@ -40,9 +47,7 @@ export const getProjectValueStreamMetrics = (requestPath, params) => axios.get(requestPath, { params }); /** - * Shared group VSA paths - * We share some endpoints across and group and project level VSA - * When used for project level VSA, requests should include the `project_id` in the params object + * Dedicated project VSA paths */ export const getValueStreamStageMedian = ({ requestPath, valueStreamId, stageId }, params = {}) => { @@ -62,3 +67,17 @@ export const getValueStreamStageCounts = ({ requestPath, valueStreamId, stageId const stageBase = buildValueStreamStageDataPath({ requestPath, valueStreamId, stageId }); return axios.get(joinPaths(stageBase, 'count'), { params }); }; + +export const getValueStreamMetrics = ({ + endpoint = METRIC_TYPE_SUMMARY, + requestPath, + params = {}, +}) => { + const metricBase = buildProjectMetricsPath(requestPath); + return axios.get(joinPaths(metricBase, endpoint), { params }); +}; + +export const getValueStreamSummaryMetrics = (requestPath, params = {}) => { + const metricBase = buildProjectMetricsPath(requestPath); + return axios.get(joinPaths(metricBase, 'summary'), { params }); +}; |