1
0
mirror of https://github.com/kochetkov-ma/allure-server.git synced 2024-11-24 08:22:37 +02:00
allure-server/README.md

7.0 KiB

Allure Portal (Allure Report Server)

Build / Test / Check

jdk11 gradle junit

checkstyle pmd spotbugs

About

Allure server for store / aggregate / manage Allure results and generate / manage Allure Reports.

There is simple API with Swagger(OpenAPI) Description.

Just use Spring Boot Jar from Release Page.

Web GUI has been available from Release v2.0.0

Example on allure.iopump.ru or allure-server.herokuapp.com (unstable)

Get Started

Docker

There is a docker image on Docker Hub: allure-server Running as Docker container look at: readme

Jar

Get the latest release Releases
Download allure-server.jar
Update your jre(jdk) up to Java 11
Execute command java -jar allure-server.jar

Got to http://localhost:8080 - will redirect to OpenAPI (Swagger UI)

Upload results

Only allure2 supported
Make some allure results and create zip archive with these results, for example allure-results.zip in your root dir

curl --location --request POST 'http://localhost:8080/api/result' \
--form 'allureResults=@/allure-results.zip;type=application/zip'

Response:

{
    "fileName": "allure-results.zip",
    "uuid": "1037f8be-68fb-4756-98b6-779637aa4670"
}

Save uuid
Don't forget specify form item Content type as application/zip. Server works with zip archives only!

Generate report

For generate new report execute POST request with json body:

curl --location --request POST 'http://localhost:8080/api/report' \
--header 'Content-Type: application/json' \
--data-raw '{
  "reportSpec": {
    "path": [
      "master",
      "666"
    ],
    "executorInfo": {
      "buildName": "#666"
    }
  },
  "results": [
    "1037f8be-68fb-4756-98b6-779637aa4670"
  ],
  "deleteResults": false
}'

Response:

{
    "path": "master/666",
    "url": "http://localhost:8080/allure/reports/master/666/index.html"
}

Memorize url

Access to generated reports

After generating you can access the report byhttp://localhost:8080/allure/reports/master/666/index.html

You may get all reports

curl --location --request GET 'http://localhost:8080/api/report'

Or by path as branch name master

curl --location --request GET 'http://localhost:8080/api/report?path=master'

You may get all uploaded results:

curl --location --request GET 'http://localhost:8080/api/result'

Clear results or reports:

curl --location --request DELETE 'http://localhost:8080/api/result'
curl --location --request DELETE 'http://localhost:8080/api/report'

Special options

From version 1.2.0 all reports manage with Database and have unic uuids. Old format is no longer supported, but you can convert reports created before 1.2.0 - just set 'allure.support.old.format' to 'true' in Spring Configutaion:

  • system vars (JVM option) -Dallure.support.old.format=true
  • environment vars export allure.support.old.format=true
  • in docker environment vars -e allure.support.old.format=true
ENV TYPE DEFAULT DESCRIPTION
spring.datasource.url string jdbc:h2:file:./allure/db H2 jdbc connection string. By default DB file will be created/read on startup
PORT int 8080 Tomcat http port
allure.results.dir string allure/results/ Unzipped results store
allure.reports.dir string allure/reports/ Generated results store
allure.reports.path string reports/ Url path (after base url) to acccess to reports
allure.reports.history.level int 20 Number of reports in history
allure.support.old.format boolean false Auto-convert old format reports to new and add to db
JAVA_OPTS string -Xms256m -Xmx2048m Java memory options for container
allure.date.format string yy/MM/dd HH:mm:ss Date Time format in grid
allure.report.url.base string Define custom base url for results. If your server behind the proxy or other troubles to get server external hostname. Don't forget about '/' at the end

Every spring boot setting can be passed through ENV variables with a little changes according to spring boot cfg docs For example: allure.report.host transform to ALLURE_REPORT_HOST

GUI

See example on allure.iopump.ru or allure-server.herokuapp.com

Allure Server provide WEB UI to access to reports and results.
By default WEB UI is available on path /ui and there is redirection from / to /ui
Example: http://localhost:8080/ui
WEB UI provides the same functions as a REST API
WEB UI is implemented with Vaadin 14

Main Page alt text