public async getGitRepositoriesActivityMetrics()

in api/ProjectAnalysisApi.ts [136:194]


    public async getGitRepositoriesActivityMetrics(
        project: string,
        fromDate: Date,
        aggregationType: ProjectAnalysisInterfaces.AggregationType,
        skip: number,
        top: number
        ): Promise<ProjectAnalysisInterfaces.RepositoryActivityMetrics[]> {
        if (fromDate == null) {
            throw new TypeError('fromDate can not be null or undefined');
        }
        if (aggregationType == null) {
            throw new TypeError('aggregationType can not be null or undefined');
        }
        if (skip == null) {
            throw new TypeError('skip can not be null or undefined');
        }
        if (top == null) {
            throw new TypeError('top can not be null or undefined');
        }

        return new Promise<ProjectAnalysisInterfaces.RepositoryActivityMetrics[]>(async (resolve, reject) => {
            let routeValues: any = {
                project: project
            };

            let queryValues: any = {
                fromDate: fromDate,
                aggregationType: aggregationType,
                '$skip': skip,
                '$top': top,
            };
            
            try {
                let verData: vsom.ClientVersioningData = await this.vsoClient.getVersioningData(
                    "6.1-preview.1",
                    "projectanalysis",
                    "df7fbbca-630a-40e3-8aa3-7a3faf66947e",
                    routeValues,
                    queryValues);

                let url: string = verData.requestUrl!;
                let options: restm.IRequestOptions = this.createRequestOptions('application/json', 
                                                                                verData.apiVersion);

                let res: restm.IRestResponse<ProjectAnalysisInterfaces.RepositoryActivityMetrics[]>;
                res = await this.rest.get<ProjectAnalysisInterfaces.RepositoryActivityMetrics[]>(url, options);

                let ret = this.formatResponse(res.result,
                                              ProjectAnalysisInterfaces.TypeInfo.RepositoryActivityMetrics,
                                              true);

                resolve(ret);
                
            }
            catch (err) {
                reject(err);
            }
        });
    }