How to report a bug or request a feature

June 30, 2026 · View on GitHub

Please post general questions to the Redis Discord Server or Github discussions. These can be closed without response when posted to Github issues.

How to contribute by Pull Request

  1. Fork Jedis repo on github (how to fork a repo)
  2. Create a topic branch (git checkout -b my_branch)
  3. Push to your remote branch (git push origin my_branch)
  4. Create a pull request on github (how to create a pull request)

Create a branch with a meaningful name and do not modify the master branch directly.

Please add unit tests and integration tests to validate your changes work, then ensure your changes pass all unit tests.

Testing

Jedis runs its tests against real Redis servers started in Docker. The full testing infrastructure — the test container, how environments are started, how tests discover their servers, where to place unit vs. integration tests, and how this maps to CI — is documented in docs/integration-testing.md.

When adding tests, please follow the unit vs. integration conventions described in the guide. New integration tests must be named *IT (not *IntegrationTest, and never @Tag("integration")); unit tests are plain *Test classes that need no running server.

Code Convention

  • Jedis uses HBase Formatter introduced by HBASE-5961
  • You can import code style file (located to hbase-formatter.xml) to Eclipse, IntelliJ
    • line break by column count seems not working with IntelliJ
  • You can run make format anytime to reformat without IDEs
  • DO NOT format the source codes within io.redis.examples test package.
  • A test class name MUST NOT end with Example.

type <-> byte array conversion

  • string <-> byte array : use SafeEncoder.encode()
    • Caution: use String.toBytes() directly will break GBK support!
  • boolean, int, long, double -> byte array : use Protocol.toByteArray()

Thanks!