We'd love to accept your patches and contributions to this project. There are just a few guidelines you need to follow.
- The primary focus of this repo is to provide introductory Apigee samples of low to medium complexity, aimed at developers who are new to Apigee
- More complex projects may be better suited for the Apigee DevRel repo
- Projects in this repo are targeted for Apigee X and hybrid. We do not accept samples for the Apigee Edge platform (these may be found here)
- More information about the different versions of Apigee can be found here
- Projects accepted to this repository should be considered a recommended best practice by Apigee's product management, field engineers, customers and community
- For large pull requests (e.g. rewrites of large portions or entire projects), please first propose the changes via a new GitHub issue and discuss with the community before submitting a PR
- Fork
the repository and make your contribution. Please don't make changes to
multiple projects in the same pull request
- Consult GitHub Help for more information on using pull requests. Also please check if GitHub Action is enabled in your forked repo. Go to the Settings tab in the GitHub repo, under Actions and General, make sure the permissions are set to allow all actions and reusable workflows
- In your forked repo, create a new branch and make your changes:
- To run the mega-linter locally, you will need to install latest versions of Docker and Node.js on your local machine
- Install mega-linter-runner by running
npm install mega-linter-runner -g
(Note: You might need to run this with sudo permissions) - From the main directory, run the megalinter locally by executing
mega-linter-runner -p . --remove-container
. This should run all the checks locally. - Additionally, you can also run:
./tools/pipeline-linter/check-readme.sh
to check if the sample is added to main README table./tools/pipeline-linter/check-apigeelint.sh
to check if the samples pass all the Apigeelint rules
- Once all the changes are made and the checks have passed, commit them to your branch
- Submit a PR from your branch to the main branch in your forked repo itself. This should trigger the GitHub Action in your forked repo. As there are other checks besides megalinter, with this process you can check they all are met before merging to the main Google repo.
- Make sure they all pass. Once they are all passed, you can submit a pull request from your fork repo's main branch to the Google's apigee-samples repo
- This again should trigger the GitHub Action in the Google repo. Ensure the pull request checks listed below all pass
- Submit your PR, and we will perform a code review
- Once all issues are resolved, your change will be merged!
- Submitter has signed a Contributor License Agreement (see below)
- Apache 2.0 License is present (you can automate this)
- Sample is listed in the main README
- Mega Linter checks pass
- apigeelint checks pass
- Commit messages follow the Conventional Commits standard
Contributions to this project must be accompanied by a Contributor License Agreement. You (or your employer) retain the copyright to your contribution; this simply gives us permission to use and redistribute your contributions as part of the project. Head over to https://cla.developers.google.com/ to see your current agreements on file or to sign a new one.
You generally only need to submit a CLA once, so if you've already submitted one (even if it was for a different project), you probably don't need to do it again.
This project follows Google's Open Source Community Guidelines.