Skip to content

Commit 112b286

Browse files
authored
[9.0] [DOCS] Use new ML and transform URLs in doc link service (#217930) (#218892)
# Backport This will backport the following commits from `main` to `9.0`: - [[DOCS] Use new ML and transform URLs in doc link service (#217930)](#217930) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Lisa Cawley","email":"[email protected]"},"sourceCommit":{"committedDate":"2025-04-21T20:09:43Z","message":"[DOCS] Use new ML and transform URLs in doc link service (#217930)\n\n\nCo-authored-by: Robert Jaszczurek <[email protected]>","sha":"4e6fa9e37f7390a86b0f38f8981fbf9eb1f0751b","branchLabelMapping":{"^v9.1.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Docs","release_note:skip","docs","backport:version","v9.1.0","v9.0.1"],"title":"[DOCS] Use new ML and transform URLs in doc link service","number":217930,"url":"https://github.com/elastic/kibana/pull/217930","mergeCommit":{"message":"[DOCS] Use new ML and transform URLs in doc link service (#217930)\n\n\nCo-authored-by: Robert Jaszczurek <[email protected]>","sha":"4e6fa9e37f7390a86b0f38f8981fbf9eb1f0751b"}},"sourceBranch":"main","suggestedTargetBranches":["9.0"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217930","number":217930,"mergeCommit":{"message":"[DOCS] Use new ML and transform URLs in doc link service (#217930)\n\n\nCo-authored-by: Robert Jaszczurek <[email protected]>","sha":"4e6fa9e37f7390a86b0f38f8981fbf9eb1f0751b"}},{"branch":"9.0","label":"v9.0.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT-->
1 parent be9363a commit 112b286

File tree

2 files changed

+64
-54
lines changed

2 files changed

+64
-54
lines changed

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

Lines changed: 47 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -512,49 +512,55 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D
512512
apiKeys: `${KIBANA_DOCS}api-keys.html`,
513513
},
514514
ml: {
515-
guide: `${MACHINE_LEARNING_DOCS}index.html`,
516-
aggregations: `${MACHINE_LEARNING_DOCS}ml-configuring-aggregation.html`,
517-
anomalyDetection: `${MACHINE_LEARNING_DOCS}ml-ad-overview.html`,
518-
anomalyDetectionBucketSpan: `${MACHINE_LEARNING_DOCS}ml-ad-run-jobs.html#ml-ad-bucket-span`,
519-
anomalyDetectionConfiguringCategories: `${MACHINE_LEARNING_DOCS}ml-configuring-categories.html`,
520-
anomalyDetectionCardinality: `${MACHINE_LEARNING_DOCS}ml-ad-run-jobs.html#ml-ad-cardinality`,
521-
anomalyDetectionCreateJobs: `${MACHINE_LEARNING_DOCS}ml-ad-run-jobs.html#ml-ad-create-job`,
522-
anomalyDetectionDetectors: `${MACHINE_LEARNING_DOCS}ml-ad-run-jobs.html#ml-ad-detectors`,
523-
anomalyDetectionFunctions: `${MACHINE_LEARNING_DOCS}ml-functions.html`,
524-
anomalyDetectionInfluencers: `${MACHINE_LEARNING_DOCS}ml-ad-run-jobs.html#ml-ad-influencers`,
525-
anomalyDetectionJobs: `${MACHINE_LEARNING_DOCS}ml-ad-finding-anomalies.html`,
526-
anomalyDetectionJobResource: `${ELASTICSEARCH_DOCS}ml-put-job.html#ml-put-job-path-parms`,
527-
anomalyDetectionJobResourceAnalysisConfig: `${ELASTICSEARCH_DOCS}ml-put-job.html#put-analysisconfig`,
528-
anomalyDetectionJobTips: `${MACHINE_LEARNING_DOCS}ml-ad-run-jobs.html#ml-ad-job-tips`,
529-
anomalyDetectionScoreExplanation: `${MACHINE_LEARNING_DOCS}ml-ad-explain.html`,
530-
alertingRules: `${MACHINE_LEARNING_DOCS}ml-configuring-alerts.html`,
531-
anomalyDetectionModelMemoryLimits: `${MACHINE_LEARNING_DOCS}ml-ad-run-jobs.html#ml-ad-model-memory-limits`,
532-
calendars: `${MACHINE_LEARNING_DOCS}ml-ad-run-jobs.html#ml-ad-calendars`,
533-
classificationEvaluation: `${MACHINE_LEARNING_DOCS}ml-dfa-classification.html#ml-dfanalytics-classification-evaluation`,
534-
customRules: `${MACHINE_LEARNING_DOCS}ml-ad-run-jobs.html#ml-ad-rules`,
535-
customUrls: `${MACHINE_LEARNING_DOCS}ml-configuring-url.html`,
536-
dataFrameAnalytics: `${MACHINE_LEARNING_DOCS}ml-dfanalytics.html`,
537-
dFAPrepareData: `${MACHINE_LEARNING_DOCS}ml-dfa-overview.html#prepare-transform-data`,
538-
dFAStartJob: `${ELASTICSEARCH_DOCS}start-dfanalytics.html`,
539-
dFACreateJob: `${ELASTICSEARCH_DOCS}put-dfanalytics.html`,
540-
featureImportance: `${MACHINE_LEARNING_DOCS}ml-feature-importance.html`,
541-
outlierDetectionRoc: `${MACHINE_LEARNING_DOCS}ml-dfa-finding-outliers.html#ml-dfanalytics-roc`,
542-
regressionEvaluation: `${MACHINE_LEARNING_DOCS}ml-dfa-regression.html#ml-dfanalytics-regression-evaluation`,
543-
classificationAucRoc: `${MACHINE_LEARNING_DOCS}ml-dfa-classification.html#ml-dfanalytics-class-aucroc`,
544-
setUpgradeMode: `${ELASTICSEARCH_DOCS}ml-set-upgrade-mode.html`,
545-
trainedModels: `${MACHINE_LEARNING_DOCS}ml-trained-models.html`,
546-
startTrainedModelsDeployment: `${MACHINE_LEARNING_DOCS}ml-nlp-deploy-model.html`,
547-
logsAnomalyDetectionConfigs: `${MACHINE_LEARNING_DOCS}ootb-ml-jobs-logs-ui.html`,
548-
metricsAnomalyDetectionConfigs: `${MACHINE_LEARNING_DOCS}ootb-ml-jobs-metrics-ui.html`,
549-
nlpElser: `${MACHINE_LEARNING_DOCS}ml-nlp-elser.html`,
550-
nlpE5: `${MACHINE_LEARNING_DOCS}ml-nlp-e5.html`,
551-
nlpImportModel: `${MACHINE_LEARNING_DOCS}ml-nlp-import-model.html`,
515+
guide: `${ELASTIC_DOCS}explore-analyze/machine-learning`,
516+
aggregations: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-configuring-aggregation`,
517+
anomalyDetection: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection`,
518+
anomalyDetectionBucketSpan: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs#ml-ad-bucket-span`,
519+
anomalyDetectionConfiguringCategories: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-configuring-categories`,
520+
anomalyDetectionCardinality: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs#ml-ad-cardinality`,
521+
anomalyDetectionCreateJobs: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs#ml-ad-create-job`,
522+
anomalyDetectionDetectors: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs#ml-ad-detectors`,
523+
anomalyDetectionFunctions: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-functions`,
524+
anomalyDetectionInfluencers: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs#ml-ad-influencers`,
525+
anomalyDetectionJobs: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-finding-anomalies`,
526+
anomalyDetectionJobResource: isServerless
527+
? `${ELASTICSEARCH_SERVERLESS_APIS}operation/operation-ml-put-job`
528+
: `${ELASTICSEARCH_APIS}operation/operation-ml-put-job`,
529+
anomalyDetectionJobResourceAnalysisConfig: isServerless
530+
? `${ELASTICSEARCH_SERVERLESS_APIS}operation/operation-ml-put-job`
531+
: `${ELASTICSEARCH_APIS}operation/operation-ml-put-job`,
532+
anomalyDetectionJobTips: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs`,
533+
anomalyDetectionScoreExplanation: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-explain`,
534+
alertingRules: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-configuring-alerts`,
535+
anomalyDetectionModelMemoryLimits: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs#ml-ad-model-memory-limits`,
536+
calendars: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs#ml-ad-calendars`,
537+
classificationEvaluation: `${ELASTIC_DOCS}explore-analyze/machine-learning/data-frame-analytics/ml-dfa-classification#ml-dfanalytics-classification-evaluation`,
538+
customRules: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs#ml-ad-rules`,
539+
customUrls: `${ELASTIC_DOCS}explore-analyze/machine-learning/anomaly-detection/ml-configuring-url`,
540+
dataFrameAnalytics: `${ELASTIC_DOCS}explore-analyze/machine-learning/data-frame-analytics`,
541+
dFAPrepareData: `${ELASTIC_DOCS}explore-analyze/machine-learning/data-frame-analytics/ml-dfa-overview#prepare-transform-data`,
542+
dFAStartJob: isServerless
543+
? `${ELASTICSEARCH_SERVERLESS_APIS}operation/operation-ml-start-data-frame-analytics`
544+
: `${ELASTICSEARCH_APIS}operation/operation-ml-start-data-frame-analytics`,
545+
dFACreateJob: isServerless
546+
? `${ELASTICSEARCH_SERVERLESS_APIS}operation/operation-ml-put-data-frame-analytics`
547+
: `${ELASTICSEARCH_APIS}operation/operation-ml-put-data-frame-analytics`,
548+
featureImportance: `${ELASTIC_DOCS}explore-analyze/machine-learning/data-frame-analytics/ml-feature-importance`,
549+
outlierDetectionRoc: `${ELASTIC_DOCS}explore-analyze/machine-learning/data-frame-analytics/ml-dfa-finding-outliers#ml-dfanalytics-roc`,
550+
regressionEvaluation: `${ELASTIC_DOCS}explore-analyze/machine-learning/data-frame-analytics/ml-dfa-regression#ml-dfanalytics-regression-evaluation`,
551+
classificationAucRoc: `${ELASTIC_DOCS}explore-analyze/machine-learning/data-frame-analytics/ml-dfa-classification#ml-dfanalytics-class-aucroc`,
552+
setUpgradeMode: `${ELASTICSEARCH_APIS}operation/operation-ml-set-upgrade-mode`,
553+
trainedModels: `${ELASTIC_DOCS}explore-analyze/machine-learning/data-frame-analytics/ml-trained-models`,
554+
startTrainedModelsDeployment: `${ELASTIC_DOCS}explore-analyze/machine-learning/nlp/ml-nlp-deploy-model`,
555+
logsAnomalyDetectionConfigs: `${ELASTIC_DOCS}reference/data-analysis/machine-learning/ootb-ml-jobs-logs-ui`,
556+
metricsAnomalyDetectionConfigs: `${ELASTIC_DOCS}reference/data-analysis/machine-learning/ootb-ml-jobs-metrics-ui`,
557+
nlpElser: `${ELASTIC_DOCS}explore-analyze/machine-learning/nlp/ml-nlp-elser`,
558+
nlpE5: `${ELASTIC_DOCS}explore-analyze/machine-learning/nlp/ml-nlp-e5`,
559+
nlpImportModel: `${ELASTIC_DOCS}explore-analyze/machine-learning/nlp/ml-nlp-import-model`,
552560
},
553561
transforms: {
554-
guide: isServerless
555-
? `${SERVERLESS_DOCS}transforms.html`
556-
: `${ELASTICSEARCH_DOCS}transforms.html`,
557-
alertingRules: `${ELASTICSEARCH_DOCS}transform-alerts.html`,
562+
guide: `${ELASTIC_DOCS}explore-analyze/transforms`,
563+
alertingRules: `${ELASTIC_DOCS}explore-analyze/transforms/transform-alerts`,
558564
},
559565
visualize: {
560566
guide: `${KIBANA_DOCS}_panels_and_visualizations.html`,

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/v9/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)