Once you have read Get Started as a Developer, and have set up your development environment, you can start contributing to development work.
Table of Contents
Prerequisites
Having some basic understanding of the following topics can be beneficial to your work:
- Using Git
- JIRA
- Contributing Code Video
- Code review checklist
- Code conventions
- Unit tests
- Pull request tips
- Agile sprint
Do some code reviews
Here is the list of pull requests that are waiting for review. Reviewing other people's work is one of the great ways of learning about OpenMRS. You can even review code for someone more experienced than you.
Reviews can be as simple as checking to ensure that commits are
- adhering to our code conventions
- free of spelling mistakes
- not missing JavaDoc comments.
More details about code reviews can be found at this Code Review page.
Tutorial on How to Contribute Code
Widget Connector |
---|
|
Work on an issue
The code issues ready to be assigned are listed on JIRA. The introductory issues are recommended for beginners. To work on an issue, follow these steps:
Claim an issue.
Review introductory issues, community priorities, active projects or unassigned projects below to find an issue of interest to you, claim it, and make your first contribution.
Tip Tip: If you need any clarification on the issue, use OpenMRS Talk , join
Slack for real-time interaction. Tip Tip: If you find yourself taking long time (days) without making any progress, feel free to un-assign yourself from the issue and choose another. - Include unit tests for your changes.
Make sure you always have unit tests for your code. Remember to also do an "mvn clean install" to ensure that all existing unit tests and yours pass. - Check the effects of your changes on the user interface.
If your changes affect the user interface, please run the web application with OpenMRS SDK to see the effects, and then attach a screenshot, before you send a pull request. - Make a pull request.
After your code has passed the unit test, you can make a pull request on GitHub. Remember to have a look at the Pull Request Tips.
Info |
---|
Note: Avoid staying assigned to issues you aren't actively working on. When you no longer want to work on an issue that you have already assigned to yourself, please remember to un-assign yourself from it such that others can take it up. If you have any findings that you feel would be useful to whoever takes it up, please feel free to add a comment. |
Work on other issues and projects
There are issues and projects of various difficulty levels for you to choose from.
Try Introductory Tickets Anchor intro intro
The issues linked below are both "introductory" and also "curated", meaning that they have thorough descriptions of how to approach solving them.
If you aren't able to find an appropriate issue in the list above, you can take a look at the complete list of "introductory" issues, (not necessarily "curated").
Work on Community Priorities Anchor Prio Prio
You also have the option to pick an issue prioritized by the community from the community priority Kanban.
Join a Project Team Anchor Proj Proj
Check out our list of active projects, and the teams (or squads) who are actively looking for contributors with a variety of skills to fill different roles. Active Projects & Squads.
Tackle a Big Unassigned Projects Anchor Unassigned Unassigned
If you are feeling ambitious and ready to tackle a more complex problem, you can work on unassigned projects.