Skip to content

Commit 092f1e4

Browse files
Merge branch 'master' into mapTestUser7
2 parents e693aa7 + 2e34eb2 commit 092f1e4

File tree

782 files changed

+31516
-83453
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

782 files changed

+31516
-83453
lines changed

.ci/end2end.groovy

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -37,22 +37,31 @@ pipeline {
3737
deleteDir()
3838
gitCheckout(basedir: "${BASE_DIR}", githubNotifyFirstTimeContributor: false,
3939
shallow: false, reference: "/var/lib/jenkins/.git-references/kibana.git")
40+
41+
// Filter when to run based on the below reasons:
42+
// - On a PRs when:
43+
// - There are changes related to the APM UI project
44+
// - only when the owners of those changes are members of the apm-ui team (new filter)
45+
// - On merges to branches when:
46+
// - There are changes related to the APM UI project
47+
// - FORCE parameter is set to true.
4048
script {
49+
def apm_updated = false
4150
dir("${BASE_DIR}"){
42-
def regexps =[ "^x-pack/plugins/apm/.*" ]
43-
env.APM_UPDATED = isGitRegionMatch(patterns: regexps)
51+
apm_updated = isGitRegionMatch(patterns: [ "^x-pack/plugins/apm/.*" ])
52+
}
53+
if (isPR()) {
54+
def isMember = isMemberOf(user: env.CHANGE_AUTHOR, team: 'apm-ui')
55+
setEnvVar('RUN_APM_E2E', params.FORCE || (apm_updated && isMember))
56+
} else {
57+
setEnvVar('RUN_APM_E2E', params.FORCE || apm_updated)
4458
}
4559
}
4660
}
4761
}
4862
stage('Prepare Kibana') {
4963
options { skipDefaultCheckout() }
50-
when {
51-
anyOf {
52-
expression { return params.FORCE }
53-
expression { return env.APM_UPDATED != "false" }
54-
}
55-
}
64+
when { expression { return env.RUN_APM_E2E != "false" } }
5665
environment {
5766
JENKINS_NODE_COOKIE = 'dontKillMe'
5867
}
@@ -70,12 +79,7 @@ pipeline {
7079
}
7180
stage('Smoke Tests'){
7281
options { skipDefaultCheckout() }
73-
when {
74-
anyOf {
75-
expression { return params.FORCE }
76-
expression { return env.APM_UPDATED != "false" }
77-
}
78-
}
82+
when { expression { return env.RUN_APM_E2E != "false" } }
7983
steps{
8084
notifyTestStatus('Running smoke tests', 'PENDING')
8185
dir("${BASE_DIR}"){

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@
169169
/x-pack/plugins/encrypted_saved_objects/ @elastic/kibana-security
170170
/x-pack/plugins/security/ @elastic/kibana-security
171171
/x-pack/test/api_integration/apis/security/ @elastic/kibana-security
172+
/x-pack/test/ui_capabilities/ @elastic/kibana-security
172173
/x-pack/test/encrypted_saved_objects_api_integration/ @elastic/kibana-security
173174
/x-pack/test/functional/apps/security/ @elastic/kibana-security
174175
/x-pack/test/kerberos_api_integration/ @elastic/kibana-security

.github/ISSUE_TEMPLATE/APM.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: APM Issue
33
about: Issues related to the APM solution in Kibana
44
labels: Team:apm
5-
title: [APM]
5+
title: "[APM]"
66
---
77

88
**Versions**

docs/developer/architecture/security/feature-registration.asciidoc

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,12 @@ Registering features also gives your plugin access to “UI Capabilities”. The
99

1010
=== Registering a feature
1111

12-
Feature registration is controlled via the built-in `xpack_main` plugin. To register a feature, call `xpack_main`'s `registerFeature` function from your plugin's `init` function, and provide the appropriate details:
12+
Feature registration is controlled via the built-in `features` plugin. To register a feature, call `features`'s `registerKibanaFeature` function from your plugin's `setup` lifecycle function, and provide the appropriate details:
1313

1414
["source","javascript"]
1515
-----------
16-
init(server) {
17-
const xpackMainPlugin = server.plugins.xpack_main;
18-
xpackMainPlugin.registerFeature({
16+
setup(core, { features }) {
17+
features.registerKibanaFeature({
1918
// feature details here.
2019
});
2120
}
@@ -45,12 +44,12 @@ Registering a feature consists of the following fields. For more information, co
4544
|An array of applications this feature enables. Typically, all of your plugin's apps (from `uiExports`) will be included here.
4645

4746
|`privileges` (required)
48-
|{kib-repo}blob/{branch}/x-pack/plugins/features/common/feature.ts[`FeatureConfig`].
47+
|{kib-repo}blob/{branch}/x-pack/plugins/features/common/feature.ts[`KibanaFeatureConfig`].
4948
|See <<example-1-canvas,Example 1>> and <<example-2-dev-tools,Example 2>>
5049
|The set of privileges this feature requires to function.
5150

5251
|`subFeatures` (optional)
53-
|{kib-repo}blob/{branch}/x-pack/plugins/features/common/feature.ts[`FeatureConfig`].
52+
|{kib-repo}blob/{branch}/x-pack/plugins/features/common/feature.ts[`KibanaFeatureConfig`].
5453
|See <<example-3-discover,Example 3>>
5554
|The set of subfeatures that enables finer access control than the `all` and `read` feature privileges. These options are only available in the Gold subscription level and higher.
5655

@@ -73,25 +72,26 @@ For a full explanation of fields and options, consult the {kib-repo}blob/{branch
7372
=== Using UI Capabilities
7473

7574
UI Capabilities are available to your public (client) plugin code. These capabilities are read-only, and are used to inform the UI. This object is namespaced by feature id. For example, if your feature id is “foo”, then your UI Capabilities are stored at `uiCapabilities.foo`.
76-
To access capabilities, import them from `ui/capabilities`:
75+
Capabilities can be accessed from your plugin's `start` lifecycle from the `core.application` service:
7776

7877
["source","javascript"]
7978
-----------
80-
import { uiCapabilities } from 'ui/capabilities';
79+
public start(core) {
80+
const { capabilities } = core.application;
8181
82-
const canUserSave = uiCapabilities.foo.save;
83-
if (canUserSave) {
84-
// show save button
82+
const canUserSave = capabilities.foo.save;
83+
if (canUserSave) {
84+
// show save button
85+
}
8586
}
8687
-----------
8788

8889
[[example-1-canvas]]
8990
=== Example 1: Canvas Application
9091
["source","javascript"]
9192
-----------
92-
init(server) {
93-
const xpackMainPlugin = server.plugins.xpack_main;
94-
xpackMainPlugin.registerFeature({
93+
public setup(core, { features }) {
94+
features.registerKibanaFeature({
9595
id: 'canvas',
9696
name: 'Canvas',
9797
icon: 'canvasApp',
@@ -130,11 +130,13 @@ The `all` privilege defines a single “save” UI Capability. To access this in
130130

131131
["source","javascript"]
132132
-----------
133-
import { uiCapabilities } from 'ui/capabilities';
133+
public start(core) {
134+
const { capabilities } = core.application;
134135
135-
const canUserSave = uiCapabilities.canvas.save;
136-
if (canUserSave) {
137-
// show save button
136+
const canUserSave = capabilities.canvas.save;
137+
if (canUserSave) {
138+
// show save button
139+
}
138140
}
139141
-----------
140142

@@ -145,9 +147,8 @@ Because the `read` privilege does not define the `save` capability, users with r
145147

146148
["source","javascript"]
147149
-----------
148-
init(server) {
149-
const xpackMainPlugin = server.plugins.xpack_main;
150-
xpackMainPlugin.registerFeature({
150+
public setup(core, { features }) {
151+
features.registerKibanaFeature({
151152
id: 'dev_tools',
152153
name: i18n.translate('xpack.features.devToolsFeatureName', {
153154
defaultMessage: 'Dev Tools',
@@ -206,9 +207,8 @@ a single "Create Short URLs" subfeature privilege is defined, which allows users
206207

207208
["source","javascript"]
208209
-----------
209-
init(server) {
210-
const xpackMainPlugin = server.plugins.xpack_main;
211-
xpackMainPlugin.registerFeature({
210+
public setup(core, { features }) {
211+
features.registerKibanaFeature({
212212
{
213213
id: 'discover',
214214
name: i18n.translate('xpack.features.discoverFeatureName', {

docs/developer/plugin-list.asciidoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ in Kibana, e.g. visualizations. It has the form of a flyout panel.
9595
9696
9797
|{kib-repo}blob/{branch}/src/plugins/kibana_legacy/README.md[kibanaLegacy]
98-
|This plugin will contain several helpers and services to integrate pieces of the legacy Kibana app with the new Kibana platform.
98+
|This plugin contains several helpers and services to integrate pieces of the legacy Kibana app with the new Kibana platform.
9999
100100
101101
|{kib-repo}blob/{branch}/src/plugins/kibana_react/README.md[kibanaReact]
@@ -172,6 +172,10 @@ which also contains the timelion APIs and backend, look at the vis_type_timelion
172172
|An API for:
173173
174174
175+
|{kib-repo}blob/{branch}/src/plugins/url_forwarding/README.md[urlForwarding]
176+
|This plugins contains helpers to redirect legacy URLs. It can be used to forward old URLs to their new counterparts.
177+
178+
175179
|{kib-repo}blob/{branch}/src/plugins/usage_collection/README.md[usageCollection]
176180
|Usage Collection allows collecting usage data for other services to consume (telemetry and monitoring).
177181
To integrate with the telemetry services for usage collection of your feature, there are 2 steps:
@@ -412,10 +416,6 @@ using the CURL scripts in the scripts folder.
412416
|This plugin provides shared components and services for use across observability solutions, as well as the observability landing page UI.
413417
414418
415-
|{kib-repo}blob/{branch}/x-pack/plugins/oss_telemetry[ossTelemetry]
416-
|WARNING: Missing README.
417-
418-
419419
|{kib-repo}blob/{branch}/x-pack/plugins/painless_lab[painlessLab]
420420
|WARNING: Missing README.
421421

docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
readonly links: {
1111
readonly dashboard: {
1212
readonly drilldowns: string;
13+
readonly drilldownsTriggerPicker: string;
14+
readonly urlDrilldownTemplateSyntax: string;
15+
readonly urlDrilldownVariables: string;
1316
};
1417
readonly filebeat: {
1518
readonly base: string;

docs/development/core/public/kibana-plugin-core-public.doclinksstart.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ export interface DocLinksStart
1717
| --- | --- | --- |
1818
| [DOC\_LINK\_VERSION](./kibana-plugin-core-public.doclinksstart.doc_link_version.md) | <code>string</code> | |
1919
| [ELASTIC\_WEBSITE\_URL](./kibana-plugin-core-public.doclinksstart.elastic_website_url.md) | <code>string</code> | |
20-
| [links](./kibana-plugin-core-public.doclinksstart.links.md) | <code>{</code><br/><code> readonly dashboard: {</code><br/><code> readonly drilldowns: string;</code><br/><code> };</code><br/><code> readonly filebeat: {</code><br/><code> readonly base: string;</code><br/><code> readonly installation: string;</code><br/><code> readonly configuration: string;</code><br/><code> readonly elasticsearchOutput: string;</code><br/><code> readonly startup: string;</code><br/><code> readonly exportedFields: string;</code><br/><code> };</code><br/><code> readonly auditbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly metricbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly heartbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly logstash: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly functionbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly winlogbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly aggs: {</code><br/><code> readonly date_histogram: string;</code><br/><code> readonly date_range: string;</code><br/><code> readonly filter: string;</code><br/><code> readonly filters: string;</code><br/><code> readonly geohash_grid: string;</code><br/><code> readonly histogram: string;</code><br/><code> readonly ip_range: string;</code><br/><code> readonly range: string;</code><br/><code> readonly significant_terms: string;</code><br/><code> readonly terms: string;</code><br/><code> readonly avg: string;</code><br/><code> readonly avg_bucket: string;</code><br/><code> readonly max_bucket: string;</code><br/><code> readonly min_bucket: string;</code><br/><code> readonly sum_bucket: string;</code><br/><code> readonly cardinality: string;</code><br/><code> readonly count: string;</code><br/><code> readonly cumulative_sum: string;</code><br/><code> readonly derivative: string;</code><br/><code> readonly geo_bounds: string;</code><br/><code> readonly geo_centroid: string;</code><br/><code> readonly max: string;</code><br/><code> readonly median: string;</code><br/><code> readonly min: string;</code><br/><code> readonly moving_avg: string;</code><br/><code> readonly percentile_ranks: string;</code><br/><code> readonly serial_diff: string;</code><br/><code> readonly std_dev: string;</code><br/><code> readonly sum: string;</code><br/><code> readonly top_hits: string;</code><br/><code> };</code><br/><code> readonly scriptedFields: {</code><br/><code> readonly scriptFields: string;</code><br/><code> readonly scriptAggs: string;</code><br/><code> readonly painless: string;</code><br/><code> readonly painlessApi: string;</code><br/><code> readonly painlessSyntax: string;</code><br/><code> readonly luceneExpressions: string;</code><br/><code> };</code><br/><code> readonly indexPatterns: {</code><br/><code> readonly loadingData: string;</code><br/><code> readonly introduction: string;</code><br/><code> };</code><br/><code> readonly addData: string;</code><br/><code> readonly kibana: string;</code><br/><code> readonly siem: {</code><br/><code> readonly guide: string;</code><br/><code> readonly gettingStarted: string;</code><br/><code> };</code><br/><code> readonly query: {</code><br/><code> readonly luceneQuerySyntax: string;</code><br/><code> readonly queryDsl: string;</code><br/><code> readonly kueryQuerySyntax: string;</code><br/><code> };</code><br/><code> readonly date: {</code><br/><code> readonly dateMath: string;</code><br/><code> };</code><br/><code> readonly management: Record&lt;string, string&gt;;</code><br/><code> readonly visualize: Record&lt;string, string&gt;;</code><br/><code> }</code> | |
20+
| [links](./kibana-plugin-core-public.doclinksstart.links.md) | <code>{</code><br/><code> readonly dashboard: {</code><br/><code> readonly drilldowns: string;</code><br/><code> readonly drilldownsTriggerPicker: string;</code><br/><code> readonly urlDrilldownTemplateSyntax: string;</code><br/><code> readonly urlDrilldownVariables: string;</code><br/><code> };</code><br/><code> readonly filebeat: {</code><br/><code> readonly base: string;</code><br/><code> readonly installation: string;</code><br/><code> readonly configuration: string;</code><br/><code> readonly elasticsearchOutput: string;</code><br/><code> readonly startup: string;</code><br/><code> readonly exportedFields: string;</code><br/><code> };</code><br/><code> readonly auditbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly metricbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly heartbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly logstash: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly functionbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly winlogbeat: {</code><br/><code> readonly base: string;</code><br/><code> };</code><br/><code> readonly aggs: {</code><br/><code> readonly date_histogram: string;</code><br/><code> readonly date_range: string;</code><br/><code> readonly filter: string;</code><br/><code> readonly filters: string;</code><br/><code> readonly geohash_grid: string;</code><br/><code> readonly histogram: string;</code><br/><code> readonly ip_range: string;</code><br/><code> readonly range: string;</code><br/><code> readonly significant_terms: string;</code><br/><code> readonly terms: string;</code><br/><code> readonly avg: string;</code><br/><code> readonly avg_bucket: string;</code><br/><code> readonly max_bucket: string;</code><br/><code> readonly min_bucket: string;</code><br/><code> readonly sum_bucket: string;</code><br/><code> readonly cardinality: string;</code><br/><code> readonly count: string;</code><br/><code> readonly cumulative_sum: string;</code><br/><code> readonly derivative: string;</code><br/><code> readonly geo_bounds: string;</code><br/><code> readonly geo_centroid: string;</code><br/><code> readonly max: string;</code><br/><code> readonly median: string;</code><br/><code> readonly min: string;</code><br/><code> readonly moving_avg: string;</code><br/><code> readonly percentile_ranks: string;</code><br/><code> readonly serial_diff: string;</code><br/><code> readonly std_dev: string;</code><br/><code> readonly sum: string;</code><br/><code> readonly top_hits: string;</code><br/><code> };</code><br/><code> readonly scriptedFields: {</code><br/><code> readonly scriptFields: string;</code><br/><code> readonly scriptAggs: string;</code><br/><code> readonly painless: string;</code><br/><code> readonly painlessApi: string;</code><br/><code> readonly painlessSyntax: string;</code><br/><code> readonly luceneExpressions: string;</code><br/><code> };</code><br/><code> readonly indexPatterns: {</code><br/><code> readonly loadingData: string;</code><br/><code> readonly introduction: string;</code><br/><code> };</code><br/><code> readonly addData: string;</code><br/><code> readonly kibana: string;</code><br/><code> readonly siem: {</code><br/><code> readonly guide: string;</code><br/><code> readonly gettingStarted: string;</code><br/><code> };</code><br/><code> readonly query: {</code><br/><code> readonly luceneQuerySyntax: string;</code><br/><code> readonly queryDsl: string;</code><br/><code> readonly kueryQuerySyntax: string;</code><br/><code> };</code><br/><code> readonly date: {</code><br/><code> readonly dateMath: string;</code><br/><code> };</code><br/><code> readonly management: Record&lt;string, string&gt;;</code><br/><code> readonly visualize: Record&lt;string, string&gt;;</code><br/><code> }</code> | |
2121

docs/development/core/server/kibana-plugin-core-server.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ The plugin integrates with the core system via lifecycle events: `setup`<!-- -->
2828
| [SavedObjectsErrorHelpers](./kibana-plugin-core-server.savedobjectserrorhelpers.md) | |
2929
| [SavedObjectsRepository](./kibana-plugin-core-server.savedobjectsrepository.md) | |
3030
| [SavedObjectsSerializer](./kibana-plugin-core-server.savedobjectsserializer.md) | A serializer that can be used to manually convert [raw](./kibana-plugin-core-server.savedobjectsrawdoc.md) or [sanitized](./kibana-plugin-core-server.savedobjectsanitizeddoc.md) documents to the other kind. |
31+
| [SavedObjectsUtils](./kibana-plugin-core-server.savedobjectsutils.md) | |
3132
| [SavedObjectTypeRegistry](./kibana-plugin-core-server.savedobjecttyperegistry.md) | Registry holding information about all the registered [saved object types](./kibana-plugin-core-server.savedobjectstype.md)<!-- -->. |
3233

3334
## Enumerations

0 commit comments

Comments
 (0)