|
| 1 | +# Contributing to the github-java-client |
| 2 | + |
| 3 | +Thanks for your interest in the github-java-client. Our goal is to bring a reliable Java-based |
| 4 | +alternative to the GitHub API. |
| 5 | + |
| 6 | +## Getting Started |
| 7 | + |
| 8 | +The Github Java Clients's [open issues are here](https://github.com/github-java-client/github-java-client/issues). |
| 9 | +In time, we'll tag issues that would make a good first pull request for new contributors. An easy |
| 10 | +way to get started helping the project is to *file an issue*. Issues can include bugs to fix, |
| 11 | +features to add, or documentation that looks outdated. |
| 12 | + |
| 13 | +## Contributions |
| 14 | + |
| 15 | +This project welcomes contributions from everyone. |
| 16 | + |
| 17 | +Contributions to github-java-client should be made in the form of GitHub pull requests. Each pull |
| 18 | +request will be reviewed by a maintainer of the library and either merged and released or given |
| 19 | +feedback for changes that would be required. |
| 20 | + |
| 21 | +## Pull Request Checklist |
| 22 | + |
| 23 | +- Branch from the master branch and, if needed, rebase to the current master branch before |
| 24 | + submitting your pull request. If it doesn't merge cleanly with master you may be asked to rebase |
| 25 | + your changes. |
| 26 | +- Commits should be as small as possible while ensuring that each commit is valid independently |
| 27 | + (i.e. each commit should compile and the tests should pass). |
| 28 | +- Add tests relevant to the fixed bug or new feature. We love to increase our test coverage so any |
| 29 | + contributions made to improving that will be very welcomed. |
| 30 | + |
| 31 | +## Coding Standards |
| 32 | + |
| 33 | +- This library is modelled after the [GitHub API](https://docs.github.com/en/rest?apiVersion=2022-11-28) and it has been structured to mimic that. |
| 34 | + For example, to access the Teams endpoints, you need to instantiate an `OrganisationClient` |
| 35 | + and then a `TeamsClient` as [seen here](./src/main/java/com/spotify/github/v3/clients/OrganisationClient.java). This mirrors the nested structure of the API endpoints such as the |
| 36 | + [/orgs/{org}/teams/{team_slug}](https://docs.github.com/en/rest/teams/teams?apiVersion=2022-11-28#list-teams) endpoint |
| 37 | +- We operate a monkey see, monkey do approach to this library. We understand that there are some inconsistencies in the library |
| 38 | + in terms of how the tests and/or endpoints are written but we, with your help, are working on creating a more consistent codebase. |
| 39 | +- All bug fixes and new features need to be fully tested. |
0 commit comments