Contributing

edit

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. After committing your code, check out the Elastic Contributor Program where you can earn points and rewards for your contributions.

Read Getting started to get your environment up and running, then read Best practices.

Signing the contributor license agreement

edit

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

edit

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

edit

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

edit

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 a Release note: or ## Release note header in the PR description ("dev docs" works too), 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

edit
  1. Label the PR with the targeted version (ex: v7.3.0).
  2. 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 on master.
    • 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.