in src/metric-client.ts [44:74]
export async function createOrUpdateMetrics(
input: Input,
metrics: Metric[]
): Promise<void> {
const accessToken = await getToken()
if (input.strictSync) {
core.info('Deleting metrics in strict mode')
await deleteRemainingMetrics(input, metrics)
}
const createResults = await Promise.all(
metrics.map(metric =>
createOrUpdateMetric(input, metric, accessToken).then(response => ({
response,
metric
}))
)
)
const results = createResults.map(({ response, metric }) => {
return handleCreateOrUpdateResult(response, metric)
})
if (results.some(r => r == false)) {
throw new ValidationError('Metric create or update failed')
}
core.info('All metrics are created or updated successfully')
core.info('Operation completed successfully')
}