Contributing to WSO2 API Manager
July 8, 2026 · View on GitHub
Overview
Project Resources
- Home page: https://wso2.com/api-manager/
- Docs: https://apim.docs.wso2.com/en/latest/
- Issue Tracker: https://github.com/wso2/api-manager/issues
Building the Distribution from Source
To build the WSO2 API Manager distribution from source, follow these steps:
- Install Java SE Development Kit 21.
- Install Apache Maven 3.x.x (Download Maven).
- Clone the repository:
https://github.com/wso2/product-apim.gitor download the source. - From the
product-apimdirectory, run one of the following Maven commands:mvn clean install
(Builds the binary and source distributions with tests)mvn clean install -Dmaven.test.skip=true
(Builds the binary and source distributions without running any unit/integration tests)
- The binary distribution will be available in the
product-apim/all-in-one-apim/modules/distribution/product/targetdirectory.
Bug Fixing
WSO2 API Manager is built with many components. The source code for each component resides in its own repository. The two main components used within the product are:
Core API Manager component: https://github.com/wso2/carbon-apimgt UI components: https://github.com/wso2/apim-apps
Most product-related issues need to be fixed in these two components. Instructions for building each component can be found in the README files of their respective repositories.
Once you implement a bug fix, build the component locally.
To apply the fix to the product, you need to update the component version in the product.
For backend-related fixes, update the carbon-apimgt component version (e.g., <carbon.apimgt.version> to x.x.x-SNAPSHOT) in https://github.com/wso2/product-apim/blob/master/all-in-one-apim/pom.xml
For UI-related fixes, update the apim-apps component version in <carbon.apimgt.ui.version> in https://github.com/wso2/product-apim/blob/master/all-in-one-apim/pom.xml
After updating the version, rebuild the product-apim repository.
Debug the Product
- Unzip the product distribution (e.g., wso2am-4.7.0.zip).
- Identify the component version used in the product. You can find this by:
- Checking the component version in the
repository/components/plugins/folder, or - Viewing the component version in the corresponding product release tag (ex: https://github.com/wso2/product-apim/blob/v4.7.0/all-in-one-apim/pom.xml for APIM 4.7.0).
- Checking the component version in the
- Clone the relevant component repository and check out the tag that matches the component version. Example: The carbon-apimgt component version used in WSO2 API Manager 4.7.0 is 9.33.118. The source code for this version is available at: https://github.com/wso2/carbon-apimgt/tree/v9.33.118
- Load the source code into your IDE.
- Start the product in debug mode:
- Navigate to wso2am-4.7.0/bin/
- Run:
./api-manager.sh -debug 5005
- Connect to the server using your IDE’s remote debug option.
Contributing Code
All the bug fixes are added to the master branch and will be included in an upcoming product release. To include the fix,
- Fork the repository on GitHub.
- Create a new branch for your changes.
- Make your changes and commit them with a descriptive message.
- Push your changes to your forked repository.
- Create a pull request against the
masterbranch of the main repository. - Ensure your code adheres to the project's coding standards and passes all tests.
- Provide a clear description of your changes and the reason for them in the pull request.
- For more information, refer to https://wso2.github.io/