The Apache Solr Github Repository is located here: https://github.com/apache/solr. Typically all contributions to Solr are developed on a fork of the Solr repository, then opened as PRs against the main
branch in the solr repository. These PRs are then linked to an open JIRA issue and members of the community will review, comment, approve, and commit changes.
Please keep in mind that the project is community driven, with many members taking their own personal time to help respond to issue and review PRs. Be open to feedback and discussions and maintain a respectful approach. Read our code of conduct for more.
In order to get setup you will need a fork of the Apache Solr repository and an account in the ASF Jira (usable for all Apache projects).
-
Create a fork of the Solr repository into your own personal account or a your corporate organization account using the Github instructions provided here: https://docs.github.com/en/get-started/quickstart/fork-a-repo.
-
If you do not already have one, you will need to create an account in the ASF Jira: https://issues.apache.org/jira/login.jsp which you will use to create new issues. You can request a new account if you do not already have one by contacting the Solr users mailing list.
In order to make a new contribution to Solr you will use the fork you have created above.
-
Create a new Jira issue in the Solr project: https://issues.apache.org/jira/projects/SOLR/issues
-
Create a new branch in your Solr fork to provide a PR for your contribution on the newly created issue. Make any necessary changes for the given bug/feature in that branch. You can use additional information in these dev-docs to build and test your code as well as ensure it passes code quality checks.
-
Once you are satisfied with your changes, get your branch ready for a PR by running
./gradlew tidy updateLicenses check -x test
. This will format your source code, update licenses of any dependency version changes and run all pre-commit tests. Commit the changes.-
Note: the
check
command requiresperl
andpython3
to be present on yourPATH
to validate documentation.
-
-
Open a PR of your branch against the
main
branch of the apache/solr repository. When you open a PR on your fork, this should be the default option.-
The title of your PR should include the Solr Jira issue that you opened, i.e.
SOLR-12345: New feature
. -
The PR description will automatically populate with a pre-set template that you will need to fill out.
-
The PR will run a gradle pre-commit task that will do some basic checks of your changes. This is run as a Github Action and the results can be viewed from your PR.
-
If you properly named your PR you will see it automatically linked to your Jira issue when you view the issue.
-
If your PR is still a work in progress, you can use the PR Draft feature of Github to denote draft status.
-
-
At this point, you will need a Solr committer to review your change and help to get it merged upstream. You can use the Solr Developers Mailing List to get attention to your issue.