Branch / Status | Azure | Jenkins |
---|---|---|
master |
WSO2 API Manager apps consists of several loosely coupled modules.
* API Publisher portal
* API Developer portal
* API Admin portal
* Portals integration tests
- Install NodeJS 16.x or later LTS version from https://nodejs.org/en/download/.
Note :-
You may use nvm tool to manage NodeJS on your development environment
Note :-
You can skip following steps if you don not want to build product-apim binaries
- Install Maven from https://maven.apache.org/download.cgi. * For Maven 3.8 and up, please check the Troubleshoot section.
- Install JDK 1.8 https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html.
If you are planning to fix an issue in a specific web application, you don't need to build the whole repository. You only need to build that specific application from the portals folder. We will take fixing an issue in publisher web application as an example.
-
If you do not build a WSO2 API Manager server, Download the built distribution of WSO2 API Manager Server from http://wso2.com/api-manager.
-
Execute api-manager.sh (For unix environment) or api-manager.bat (For windows environment) file from the bin directory to run WSO2 API Manager Server.
-
Goto
portals/publisher
directory in theapim-apps
repository. -
You can either run
mvn clean install
from root directory ornpm ci
fromsrc/main/webapp
directory. Note that thenpm ci
will be faster sincemvn clean install
command is executing production build and UI tests. -
Run
npm start
fromsrc/main/webapp
to start publisher portal in development mode.
Now you can update the code to view the changes in the development server. Once you are done with the fixes,
you can run npm run build:prod
to check for errors before committing. Also refer to 'Running Tests' section and run test if the tests are effected. At the moment these tests are valid for only publisher app.
-
Setup the development environment by following the steps given above.
-
Run the npm command from the web application root folder. ( Ex: For publisher web app, it's
portals/publisher/src/main/webapp
).- Adding a dependency
npm i <package-name>
. (Ex:npm i base64url
) - Removing a dependency
npm uninstall <package-name>
. (Ex:npm uninstall base64url
) - Updating a version or specifying version when installing
npm i <package-name>@<version>
. (Ex:npm i base64url@3.0.1
).
- Adding a dependency
-
Once you successfully run the above commands the package.json and package-lock.json files will be updated. You need to commit both of them.
Never run
npm i
since it will update the package lock for all the dependencies with there minor updated versions.
-
Download or clone the project source code from https://github.com/wso2/apim-apps
-
If you want to build all web apps, run
mvn clean install
from the command line in the project root directory (where the root pom.xml is located). -
Then you just need to build WSO2 API Manager Server after. (Follow the guide there)
-
Extract the wso2am-4.0.0.zip and go to the 'bin' directory
-
Run the api-manager.sh or api-manager.bat script based on you operating system.
-
Access the respective WSO2 API-M interfaces
- API Publisher web application is running at - https://localhost:9443/publisher
You may sign in to the Publisher using the default administrator credentials (username: admin, password: admin). - Developer Portal web application is running at - https://localhost:9443/devportal
You may sign in to the Developer Portal using the default administrator credentials (username: admin, password: admin). Running Tests ==================================
- API Publisher web application is running at - https://localhost:9443/publisher
Product Unit tests have been implemented using Jest along with enzyme
-
Go to the webapp directory in the respective individual portals directory
i:e
/portals/publisher/src/main/webapp
-
and run
npm run test
For more information regarding the test module, checkout the README in the publisher
Tests
module.
Product integration tests have been written using Cypress Testing Framework and you can run the test suites using the following command.
- Goto
/tests/cypress/
-
Run
npm run test
-
Run
npm run test:gui
WSO2 Inc. offers a variety of development and production support programs, ranging from Web-based support up through normal business hours, to premium 24x7 phone support.
For additional support information please refer to http://wso2.com/support
For more information on WSO2 API Manager please visit https://wso2.com/api-management/
All known issues of WSO2 API Manager are filed at:
(c) Copyright 2021 WSO2 Inc.