Intranet Plugin Manager server for JMeter - Periodically downloads plugins from the internet.
In situations where specific hosts lack internet access, this tool enables the team to establish a dedicated server for managing plugins within the organization.
- Java 8 or above
- Downloads plugins and their associated dependent libraries to local storage.
- Stores all information in an SQLITE DB.
- Provides a UI to upload custom plugins restricted to sharing within the organization.
- Creates and exposes a modified API to retrieve plugin info for JMeter Plugin Manager.
- Easily configurable scheduler to check for newly available plugins/versions in the market.
Service | HTTP Method | URI |
---|---|---|
App Running Status | GET | http://<hostname/IP>:<port>/v1/status |
Get Plugins | GET | http://<hostname/IP>:<port>/v1/plugins |
Upload Custom Plugin | GET | http://<hostname/IP>:<port>/v1/upload |
View Plugins in table | GET | http://<hostname/IP>:<port>/v1/dashboard |
Get Public Plugins | GET | http://<hostname/IP>:<port>/v1/plugins?type=public |
Get Custom Plugins | GET | http://<hostname/IP>:<port>/v1/plugins?type=custom |
create a properties file with the below contents.
server.port=2222
server.uri.path=/v1
# Scheduler interval (in ms)
scheduler.interval=86400000
# DB Connection Pool configuration
db.min.threads=2
db.max.threads=10
db.timeout.secs=300
# External APIs
jmeter.plugins.url=https://jmeter-plugins.org/repo/
mvn.repo.url=mvn.repo.url=https://repo1.maven.org/maven2/org/apache/jmeter/
# Directory Configs
local.repo.path=/app/plugins-manager/
# Uncomment the below if you are running this on Windows
# local.repo.path=C:\\Temp\\plugins-manager\\
- Download the Latest release from here
- Create
configuration.properties
file - Run the JAR (java -jar jmeter-local-plugins-manager-2.0.jar -c configuration.properties)
- Go to the JMeter installed directory and set
jpgc.repo.address
(this should be the local plugins manager API) in the jmeter.properties
- Acts as an independent server that polls the plugins manager for updates (configurable).
- Creates the required directories to store plugins and their dependencies locally.
- Checks permissions on local directories before storing files.
- Exposes 3 APIs in the intranet:
- Public plugins API
- Custom Plugins API
- Merged (Public and Custom) Plugins API
- Detailed instructions is available at Medium
- Spark java framework
- Sqlite DB
If this project help you reduce time to develop, you can give me a cup of coffee :)
Please rate a star(:star2:) - If you like it.
Please open up a bug(:beetle:) - If you experience abnormalities.