Skip to content

Commit 4e6fa9e

Browse files
lcawlrbrtj
andauthored
[DOCS] Use new ML and transform URLs in doc link service (#217930)
Co-authored-by: Robert Jaszczurek <[email protected]>
1 parent c7fa2b4 commit 4e6fa9e

File tree

2 files changed

+68
-56
lines changed

2 files changed

+68
-56
lines changed

src/platform/packages/shared/kbn-doc-links/src/get_doc_links.ts

Lines changed: 51 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -515,50 +515,56 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D
515515
apiKeys: `${KIBANA_DOCS}api-keys.html`,
516516
},
517517
ml: {
518-
guide: `${MACHINE_LEARNING_DOCS}index.html`,
519-
aggregations: `${MACHINE_LEARNING_DOCS}ml-configuring-aggregation.html`,
520-
anomalyDetection: `${MACHINE_LEARNING_DOCS}ml-ad-overview.html`,
521-
anomalyDetectionBucketSpan: `${MACHINE_LEARNING_DOCS}ml-ad-run-jobs.html#ml-ad-bucket-span`,
522-
anomalyDetectionConfiguringCategories: `${MACHINE_LEARNING_DOCS}ml-configuring-categories.html`,
523-
anomalyDetectionCardinality: `${MACHINE_LEARNING_DOCS}ml-ad-run-jobs.html#ml-ad-cardinality`,
524-
anomalyDetectionCreateJobs: `${MACHINE_LEARNING_DOCS}ml-ad-run-jobs.html#ml-ad-create-job`,
525-
anomalyDetectionDetectors: `${MACHINE_LEARNING_DOCS}ml-ad-run-jobs.html#ml-ad-detectors`,
526-
anomalyDetectionFunctions: `${MACHINE_LEARNING_DOCS}ml-functions.html`,
527-
anomalyDetectionInfluencers: `${MACHINE_LEARNING_DOCS}ml-ad-run-jobs.html#ml-ad-influencers`,
528-
anomalyDetectionJobs: `${MACHINE_LEARNING_DOCS}ml-ad-finding-anomalies.html`,
529-
anomalyDetectionJobResource: `${ELASTICSEARCH_DOCS}ml-put-job.html#ml-put-job-path-parms`,
530-
anomalyDetectionJobResourceAnalysisConfig: `${ELASTICSEARCH_DOCS}ml-put-job.html#put-analysisconfig`,
531-
anomalyDetectionJobTips: `${MACHINE_LEARNING_DOCS}ml-ad-run-jobs.html#ml-ad-job-tips`,
532-
anomalyDetectionScoreExplanation: `${MACHINE_LEARNING_DOCS}ml-ad-explain.html`,
533-
alertingRules: `${MACHINE_LEARNING_DOCS}ml-configuring-alerts.html`,
534-
anomalyDetectionModelMemoryLimits: `${MACHINE_LEARNING_DOCS}ml-ad-run-jobs.html#ml-ad-model-memory-limits`,
535-
calendars: `${MACHINE_LEARNING_DOCS}ml-ad-run-jobs.html#ml-ad-calendars`,
536-
classificationEvaluation: `${MACHINE_LEARNING_DOCS}ml-dfa-classification.html#ml-dfanalytics-classification-evaluation`,
537-
customRules: `${MACHINE_LEARNING_DOCS}ml-ad-run-jobs.html#ml-ad-rules`,
538-
customUrls: `${MACHINE_LEARNING_DOCS}ml-configuring-url.html`,
539-
dataFrameAnalytics: `${MACHINE_LEARNING_DOCS}ml-dfanalytics.html`,
540-
dFAPrepareData: `${MACHINE_LEARNING_DOCS}ml-dfa-overview.html#prepare-transform-data`,
541-
dFAStartJob: `${ELASTICSEARCH_DOCS}start-dfanalytics.html`,
542-
dFACreateJob: `${ELASTICSEARCH_DOCS}put-dfanalytics.html`,
543-
featureImportance: `${MACHINE_LEARNING_DOCS}ml-feature-importance.html`,
544-
outlierDetectionRoc: `${MACHINE_LEARNING_DOCS}ml-dfa-finding-outliers.html#ml-dfanalytics-roc`,
545-
regressionEvaluation: `${MACHINE_LEARNING_DOCS}ml-dfa-regression.html#ml-dfanalytics-regression-evaluation`,
546-
classificationAucRoc: `${MACHINE_LEARNING_DOCS}ml-dfa-classification.html#ml-dfanalytics-class-aucroc`,
547-
setUpgradeMode: `${ELASTICSEARCH_DOCS}ml-set-upgrade-mode.html`,
548-
trainedModels: `${MACHINE_LEARNING_DOCS}ml-trained-models.html`,
549-
startTrainedModelsDeployment: `${MACHINE_LEARNING_DOCS}ml-nlp-deploy-model.html`,
550-
logsAnomalyDetectionConfigs: `${MACHINE_LEARNING_DOCS}ootb-ml-jobs-logs-ui.html`,
551-
metricsAnomalyDetectionConfigs: `${MACHINE_LEARNING_DOCS}ootb-ml-jobs-metrics-ui.html`,
552-
nlpElser: `${MACHINE_LEARNING_DOCS}ml-nlp-elser.html`,
553-
nlpE5: `${MACHINE_LEARNING_DOCS}ml-nlp-e5.html`,
554-
nlpImportModel: `${MACHINE_LEARNING_DOCS}ml-nlp-import-model.html`,
518+
guide: `${ELASTIC_DOCS}explore-analyze/machine-learning`,
519+
aggregations: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-configuring-aggregation`,
520+
anomalyDetection: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection`,
521+
anomalyDetectionBucketSpan: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs#ml-ad-bucket-span`,
522+
anomalyDetectionConfiguringCategories: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-configuring-categories`,
523+
anomalyDetectionCardinality: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs#ml-ad-cardinality`,
524+
anomalyDetectionCreateJobs: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs#ml-ad-create-job`,
525+
anomalyDetectionDetectors: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs#ml-ad-detectors`,
526+
anomalyDetectionFunctions: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-functions`,
527+
anomalyDetectionInfluencers: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs#ml-ad-influencers`,
528+
anomalyDetectionJobs: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-finding-anomalies`,
529+
anomalyDetectionJobResource: isServerless
530+
? `${ELASTICSEARCH_SERVERLESS_APIS}operation/operation-ml-put-job`
531+
: `${ELASTICSEARCH_APIS}operation/operation-ml-put-job`,
532+
anomalyDetectionJobResourceAnalysisConfig: isServerless
533+
? `${ELASTICSEARCH_SERVERLESS_APIS}operation/operation-ml-put-job`
534+
: `${ELASTICSEARCH_APIS}operation/operation-ml-put-job`,
535+
anomalyDetectionJobTips: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs`,
536+
anomalyDetectionScoreExplanation: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-explain`,
537+
alertingRules: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-configuring-alerts`,
538+
anomalyDetectionModelMemoryLimits: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs#ml-ad-model-memory-limits`,
539+
calendars: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs#ml-ad-calendars`,
540+
classificationEvaluation: `${ELASTIC_DOCS}explore-analyze/machine-learning/data-frame-analytics/ml-dfa-classification#ml-dfanalytics-classification-evaluation`,
541+
customRules: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs#ml-ad-rules`,
542+
customUrls: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-configuring-url`,
543+
dataFrameAnalytics: `${ELASTIC_DOCS}explore-analyze/machine-learning/data-frame-analytics`,
544+
dFAPrepareData: `${ELASTIC_DOCS}explore-analyze/machine-learning/data-frame-analytics/ml-dfa-overview#prepare-transform-data`,
545+
dFAStartJob: isServerless
546+
? `${ELASTICSEARCH_SERVERLESS_APIS}operation/operation-ml-start-data-frame-analytics`
547+
: `${ELASTICSEARCH_APIS}operation/operation-ml-start-data-frame-analytics`,
548+
dFACreateJob: isServerless
549+
? `${ELASTICSEARCH_SERVERLESS_APIS}operation/operation-ml-put-data-frame-analytics`
550+
: `${ELASTICSEARCH_APIS}operation/operation-ml-put-data-frame-analytics`,
551+
featureImportance: `${ELASTIC_DOCS}explore-analyze/machine-learning/data-frame-analytics/ml-feature-importance`,
552+
outlierDetectionRoc: `${ELASTIC_DOCS}explore-analyze/machine-learning/data-frame-analytics/ml-dfa-finding-outliers#ml-dfanalytics-roc`,
553+
regressionEvaluation: `${ELASTIC_DOCS}explore-analyze/machine-learning/data-frame-analytics/ml-dfa-regression#ml-dfanalytics-regression-evaluation`,
554+
classificationAucRoc: `${ELASTIC_DOCS}explore-analyze/machine-learning/data-frame-analytics/ml-dfa-classification#ml-dfanalytics-class-aucroc`,
555+
setUpgradeMode: `${ELASTICSEARCH_APIS}operation/operation-ml-set-upgrade-mode`,
556+
trainedModels: `${ELASTIC_DOCS}explore-analyze/machine-learning/data-frame-analytics/ml-trained-models`,
557+
startTrainedModelsDeployment: `${ELASTIC_DOCS}explore-analyze/machine-learning/nlp/ml-nlp-deploy-model`,
558+
logsAnomalyDetectionConfigs: `${ELASTIC_DOCS}reference/data-analysis/machine-learning/ootb-ml-jobs-logs-ui`,
559+
metricsAnomalyDetectionConfigs: `${ELASTIC_DOCS}reference/data-analysis/machine-learning/ootb-ml-jobs-metrics-ui`,
560+
nlpElser: `${ELASTIC_DOCS}explore-analyze/machine-learning/nlp/ml-nlp-elser`,
561+
nlpE5: `${ELASTIC_DOCS}explore-analyze/machine-learning/nlp/ml-nlp-e5`,
562+
nlpImportModel: `${ELASTIC_DOCS}explore-analyze/machine-learning/nlp/ml-nlp-import-model`,
555563
},
556564
transforms: {
557-
guide: isServerless
558-
? `${SERVERLESS_DOCS}transforms.html`
559-
: `${ELASTICSEARCH_DOCS}transforms.html`,
560-
alertingRules: `${ELASTICSEARCH_DOCS}transform-alerts.html`,
561-
overview: `${ELASTICSEARCH_DOCS}transform-overview.html`,
565+
guide: `https://www.elastic.co/docs/explore-analyze/transforms`,
566+
alertingRules: `https://www.elastic.co/docs/explore-analyze/transforms/transform-alerts`,
567+
overview: `https://www.elastic.co/docs/explore-analyze/transforms/transform-overview`,
562568
},
563569
visualize: {
564570
guide: `${KIBANA_DOCS}_panels_and_visualizations.html`,
@@ -1019,7 +1025,9 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D
10191025
synonymsAPIDocumentation: `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/reference/current/synonyms-apis.html`,
10201026
},
10211027
queryRules: {
1022-
queryRulesAPIDocumentation: `${ELASTIC_WEBSITE_URL}docs/api/doc/elasticsearch/group/endpoint-query_rules`,
1028+
queryRulesAPIDocumentation: isServerless
1029+
? `${ELASTICSEARCH_SERVERLESS_APIS}group/endpoint-query_rules`
1030+
: `${ELASTICSEARCH_APIS}group/endpoint-query_rules`,
10231031
},
10241032
});
10251033
};

x-pack/platform/plugins/shared/ml/common/constants/messages.test.ts

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ import {
1515
nonBasicIssuesMessages,
1616
} from './messages.test.mock';
1717

18+
const BASE_URL_DOCS = 'https://www.elastic.co/docs';
19+
const BASE_URL_API = `${BASE_URL_DOCS}/api/doc/elasticsearch/operation`;
20+
const BASE_URL_EXPLORE = `${BASE_URL_DOCS}/explore-analyze/machine-learning/anomaly-detection`;
21+
1822
describe('Constants: Messages parseMessages()', () => {
1923
const docLinksService = docLinksServiceMock.createStartContract();
2024

@@ -25,22 +29,22 @@ describe('Constants: Messages parseMessages()', () => {
2529
id: 'job_id_valid',
2630
status: 'success',
2731
text: 'Lowercase alphanumeric (a-z and 0-9) characters, hyphens or underscores, starts and ends with an alphanumeric character, and is no more than 64 characters long.',
28-
url: 'https://www.elastic.co/guide/en/elasticsearch/reference/mocked-test-branch/ml-put-job.html#ml-put-job-path-parms',
32+
url: `${BASE_URL_API}/operation-ml-put-job`,
2933
},
3034
{
3135
heading: 'Detector functions',
3236
id: 'detectors_function_not_empty',
3337
status: 'success',
3438
text: 'Presence of detector functions validated in all detectors.',
35-
url: 'https://www.elastic.co/guide/en/machine-learning/mocked-test-branch/ml-ad-run-jobs.html#ml-ad-detectors',
39+
url: `${BASE_URL_EXPLORE}/ml-ad-run-jobs#ml-ad-detectors`,
3640
},
3741
{
3842
bucketSpan: '15m',
3943
heading: 'Bucket span',
4044
id: 'success_bucket_span',
4145
status: 'success',
4246
text: 'Format of "15m" is valid and passed validation checks.',
43-
url: 'https://www.elastic.co/guide/en/machine-learning/mocked-test-branch/ml-ad-run-jobs.html#ml-ad-bucket-span',
47+
url: `${BASE_URL_EXPLORE}/ml-ad-run-jobs#ml-ad-bucket-span`,
4448
},
4549
{
4650
heading: 'Time range',
@@ -53,7 +57,7 @@ describe('Constants: Messages parseMessages()', () => {
5357
id: 'success_mml',
5458
status: 'success',
5559
text: 'Valid and within the estimated model memory limit.',
56-
url: 'https://www.elastic.co/guide/en/machine-learning/mocked-test-branch/ml-ad-run-jobs.html#ml-ad-model-memory-limits',
60+
url: `${BASE_URL_EXPLORE}/ml-ad-run-jobs#ml-ad-model-memory-limits`,
5761
},
5862
]);
5963
});
@@ -65,22 +69,22 @@ describe('Constants: Messages parseMessages()', () => {
6569
status: 'error',
6670
heading: 'Job ID',
6771
text: 'Job ID is invalid. It can contain lowercase alphanumeric (a-z and 0-9) characters, hyphens or underscores and must start and end with an alphanumeric character.',
68-
url: 'https://www.elastic.co/guide/en/elasticsearch/reference/mocked-test-branch/ml-put-job.html#ml-put-job-path-parms',
72+
url: `${BASE_URL_API}/operation-ml-put-job`,
6973
},
7074
{
7175
heading: 'Detector functions',
7276
id: 'detectors_function_not_empty',
7377
status: 'success',
7478
text: 'Presence of detector functions validated in all detectors.',
75-
url: 'https://www.elastic.co/guide/en/machine-learning/mocked-test-branch/ml-ad-run-jobs.html#ml-ad-detectors',
79+
url: `${BASE_URL_EXPLORE}/ml-ad-run-jobs#ml-ad-detectors`,
7680
},
7781
{
7882
bucketSpan: '15m',
7983
heading: 'Bucket span',
8084
id: 'bucket_span_valid',
8185
status: 'success',
8286
text: 'Format of "15m" is valid.',
83-
url: 'https://www.elastic.co/guide/en/elasticsearch/reference/mocked-test-branch/ml-put-job.html#put-analysisconfig',
87+
url: `${BASE_URL_API}/operation-ml-put-job`,
8488
},
8589
{
8690
id: 'skipped_extended_tests',
@@ -97,14 +101,14 @@ describe('Constants: Messages parseMessages()', () => {
97101
id: 'job_id_valid',
98102
status: 'success',
99103
text: 'Lowercase alphanumeric (a-z and 0-9) characters, hyphens or underscores, starts and ends with an alphanumeric character, and is no more than 64 characters long.',
100-
url: 'https://www.elastic.co/guide/en/elasticsearch/reference/mocked-test-branch/ml-put-job.html#ml-put-job-path-parms',
104+
url: `${BASE_URL_API}/operation-ml-put-job`,
101105
},
102106
{
103107
heading: 'Detector functions',
104108
id: 'detectors_function_not_empty',
105109
status: 'success',
106110
text: 'Presence of detector functions validated in all detectors.',
107-
url: 'https://www.elastic.co/guide/en/machine-learning/mocked-test-branch/ml-ad-run-jobs.html#ml-ad-detectors',
111+
url: `${BASE_URL_EXPLORE}/ml-ad-run-jobs#ml-ad-detectors`,
108112
},
109113
{
110114
id: 'cardinality_model_plot_high',
@@ -117,14 +121,14 @@ describe('Constants: Messages parseMessages()', () => {
117121
status: 'warning',
118122
heading: 'Partition field cardinality',
119123
text: 'Cardinality of partition_field "order_id" is above 1000 and might result in high memory usage.',
120-
url: 'https://www.elastic.co/guide/en/machine-learning/mocked-test-branch/ml-ad-run-jobs.html#ml-ad-cardinality',
124+
url: `${BASE_URL_EXPLORE}/ml-ad-run-jobs#ml-ad-cardinality`,
121125
},
122126
{
123127
heading: 'Bucket span',
124128
id: 'bucket_span_high',
125129
status: 'info',
126130
text: 'Bucket span is 1 day or more. Be aware that days are considered as UTC days, not local days.',
127-
url: 'https://www.elastic.co/guide/en/machine-learning/mocked-test-branch/ml-ad-run-jobs.html#ml-ad-bucket-span',
131+
url: `${BASE_URL_EXPLORE}/ml-ad-run-jobs#ml-ad-bucket-span`,
128132
},
129133
{
130134
bucketSpanCompareFactor: 25,
@@ -139,15 +143,15 @@ describe('Constants: Messages parseMessages()', () => {
139143
status: 'success',
140144
heading: 'Influencer configuration',
141145
text: 'Passed the validation checks.',
142-
url: 'https://www.elastic.co/guide/en/machine-learning/mocked-test-branch/ml-ad-run-jobs.html#ml-ad-influencers',
146+
url: `${BASE_URL_EXPLORE}/ml-ad-run-jobs#ml-ad-influencers`,
143147
},
144148
{
145149
id: 'half_estimated_mml_greater_than_mml',
146150
mml: '1MB',
147151
status: 'warning',
148152
heading: 'Model memory limit',
149153
text: 'The specified model memory limit is less than half of the estimated model memory limit and will likely hit the hard limit.',
150-
url: 'https://www.elastic.co/guide/en/machine-learning/mocked-test-branch/ml-ad-run-jobs.html#ml-ad-model-memory-limits',
154+
url: `${BASE_URL_EXPLORE}/ml-ad-run-jobs#ml-ad-model-memory-limits`,
151155
},
152156
{
153157
id: 'missing_summary_count_field_name',

0 commit comments

Comments
 (0)