Contributing
Whether you want to fix a bug, implement a feature, or add some other improvements or apis, the following sections will guide you on the process.
Read Getting started to get your environment up and running, then read Best practices.
- Testing
- How we use git and github
- Interpreting CI Failures
- Documentation during development
- Submitting a pull request
- Effective issue reporting in Kibana
- Signing the contributor license agreement
- Localization
- Release Notes Process
- Linting
Signing the contributor license agreement
Please make sure you have signed the [Contributor License Agreement](http://www.elastic.co/contributor-agreement/). We are not asking you to assign copyright to us, but to give us the right to distribute your code without restriction. We ask this of all contributors in order to assure our users of the origin and continuing existence of the code. You only need to sign the CLA once.
Localization
Read Localization for details on our localization practices.
Note that we cannot support accepting contributions to the translations from any source other than the translators we have engaged to do the work. We are still to develop a proper process to accept any contributed translations. We certainly appreciate that people care enough about the localization effort to want to help improve the quality. We aim to build out a more comprehensive localization process for the future and will notify you once contributions can be supported, but for the time being, we are not able to incorporate suggestions.
Release Notes Process
Part of this process only applies to maintainers, since it requires access to GitHub labels.
Kibana publishes Release Notes for major and minor releases. The Release Notes summarize what the PRs accomplish in language that is meaningful to users. To generate the Release Notes, the team runs a script against this repo to collect the merged PRs against the release.
Create the Release Notes text
The text that appears in the Release Notes is pulled directly from your PR title, or a single paragraph of text that you specify in the PR description.
To use a single paragraph of text, enter Release note:
or a ## Release note
header in the PR description, followed by your text. For example, refer to this PR that uses the ## Release note
header.
When you create the Release Notes text, use the following best practices:
- Use present tense.
- Use sentence case.
- When you create a feature PR, start with
Adds
. - When you create an enhancement PR, start with
Improves
. - When you create a bug fix PR, start with
Fixes
. - When you create a deprecation PR, start with
Deprecates
.
Add your labels
- Label the PR with the targeted version (ex:
v7.3.0
). Label the PR with the appropriate GitHub labels:
- For a new feature or functionality, use
release_note:enhancement
. - For an external-facing fix, use
release_note:fix
. We do not include docs, build, and test fixes in the Release Notes, or unreleased issues that are only onmaster
. - For a deprecated feature, use
release_note:deprecation
. - For a breaking change, use
release_note:breaking
. - To NOT include your changes in the Release Notes, use
release_note:skip
.
- For a new feature or functionality, use