Skip to content

rollno748/Jmeter-local-plugins-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 Cannot retrieve latest commit at this time.

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JMeter local plugins manager

Intranet Plugin Manager server for JMeter - Periodically downloads plugins from the internet.

Motive

In situations where specific hosts lack internet access, this tool enables the team to establish a dedicated server for managing plugins within the organization.

Required Components

  1. Java 8 or above

Features

  1. Downloads plugins and their associated dependent libraries to local storage.
  2. Stores all information in an SQLITE DB.
  3. Provides a UI to upload custom plugins restricted to sharing within the organization.
  4. Creates and exposes a modified API to retrieve plugin info for JMeter Plugin Manager.
  5. Easily configurable scheduler to check for newly available plugins/versions in the market.

Available APIs

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

Creating Properties file

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\\

How to Set up

  • 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

Uploading Custom plugin

Custom Upload Form

How it works ?

  • 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

  • Detailed instructions is available at Medium

Tools used

  • Spark java framework
  • Sqlite DB

💲 Support Me

If this project help you reduce time to develop, you can give me a cup of coffee :)

paypal

Please rate a star(:star2:) - If you like it.

Please open up a bug(:beetle:) - If you experience abnormalities.