Skip to content

A simple Gauge Report plugin that will send (POST) the generated html-report to a HTTP fileserver such as gohttpserver.

License

Notifications You must be signed in to change notification settings

sitture/gauge-reportserver

Repository files navigation

gauge-reportserver

CircleCI

A simple Gauge plugin that will send (POST) the generated html-report to a HTTP fileserver such as gohttpserver.

The aim of this plugin is to gather reports from mulitple projects into a single place for reference.

Gauge Badge

All notable changes to this project are documented in CHANGELOG.md. The format is based on Keep a Changelog and adheres to Semantic Versioning.

⚒️ Installation

gauge install reportserver

Offline installation

gauge install reportserver --file reportserver-${version}-darwin.x86_64.zip

Using the plugin

Add reportserver to your project's manifest.json.

{
  "Language": "java",
  "Plugins": [
    "html-report",
    "reportserver"
  ]
}

⚙️ Configuration

You can set the following environment variables to override the configuration OR by adding these to env/default.properties:

  • REPORTSERVER_HOST - This is the base url of the http server. Default is set to http://localhost:8000
  • REPORTSERVER_BASE_DIR - This is the base directory of your reports. Default is set to your project directory name.
  • REPORTSERVER_PATH - This is path where you want the report files to go. if this is not specified, then the environment directory name is used as the path.
  • REPORTSERVER_TIMEOUT_IN_SECONDS - This is how long to wait for html-report to be ready before sending. Default is 15 seconds.

Examples

REPORTSERVER_HOST=http://myreportserver.com
REPORTSERVER_BASE_DIR=myproject

# Path on reportserver
http://myreportserver.com/myproject/${env_directory}

REPORTSERVER_HOST=http://myreportserver.com
REPORTSERVER_BASE_DIR=myproject
REPORTSERVER_PATH=test/test

# Path on reportserver
http://myreportserver.com/myproject/test/test/

🔌 Running gohttpserver locally

Note: Make sure you have docker installed.

docker run -it --rm -p 8000:8000 -v $PWD:/app/public --name gohttpserver codeskyblue/gohttpserver
  • You can also use docker-compose to bring up the service. Create a new file docker-compose.yml and add the following:
version: '2'
services:
  gohttpserver:
    image: codeskyblue/gohttpserver
    ports:
      - '8000:8000'
    volumes:
      - '.:/app/public'

Run docker-compose up -d to bring up the gohttpserver in background.

The above should bring up the httpserver on port 8000 at http://127.0.0.1:8000

Building locally

go run build/make.go
go run build/make.go --install

👋 Issues & Contributions

Please open an issue here on GitHub if you have a problem, suggestion, or other comments.

Pull requests are welcome and encouraged! Any contributions should include new or updated tests as necessary to maintain thorough test coverage.

📜 License

This work is licensed under the terms of GNU Public License version 3.0