{"id":44677309,"url":"https://github.com/specify/report-runner-service","last_synced_at":"2026-02-15T03:30:35.945Z","repository":{"id":20790059,"uuid":"24075197","full_name":"specify/report-runner-service","owner":"specify","description":"Jasper Report service for Specify 7","archived":false,"fork":false,"pushed_at":"2024-08-19T17:02:19.000Z","size":7193,"stargazers_count":2,"open_issues_count":9,"forks_count":2,"subscribers_count":6,"default_branch":"master","last_synced_at":"2026-01-15T07:11:05.109Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/specify.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2014-09-15T21:45:56.000Z","updated_at":"2024-05-09T04:20:26.000Z","dependencies_parsed_at":"2023-01-12T03:30:54.183Z","dependency_job_id":"9b705a4c-5597-41ae-936f-d9d5e9b3e406","html_url":"https://github.com/specify/report-runner-service","commit_stats":null,"previous_names":["specify/minimal-reports"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/specify/report-runner-service","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specify%2Freport-runner-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specify%2Freport-runner-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specify%2Freport-runner-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specify%2Freport-runner-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/specify","download_url":"https://codeload.github.com/specify/report-runner-service/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specify%2Freport-runner-service/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29466929,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T01:01:38.065Z","status":"online","status_checked_at":"2026-02-15T02:00:07.449Z","response_time":118,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-15T03:30:35.385Z","updated_at":"2026-02-15T03:30:35.933Z","avatar_url":"https://github.com/specify.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Specify Report Runner Service\n\nThis project implements a simple web service wrapper around the Jasper\nReports libraries for report and label generation in Specify 7.\n\n## Requirements\n\n- Java JDK \u003e= 1.7 (never versions work too)\n- Apache Maven 2 or 3\n\n## Test Service\n\nAfter cloning the repository, build with `mvn compile`. The test\nserver can be started using the Maven Jetty plugin: `mvn\njetty:run`. The service will run on port `8080` on `localhost`\nadapter. These values can be changed in `jetty.xml`. Because there is\nno authentication, the report service should run on the same machine\nas the Specify 7 server or on a private subnet and only bind an\naddress that is not routed externally.\n\nIn the Specify 7 (development branch) settings file, typically\n`specifyweb/settings/local_specify_settings.py`, set the values\n`REPORT_RUNNER_HOST` and `REPORT_RUNNER_PORT` appropriately and\nrestart. A *Reports* task will now be available on the taskbar at the\ntop of the Specify 7 web application.\n\n## Fonts\n\nUnless the report runner service is provided with the fonts used in a\nreport it will use built-in PDF fonts. The consequences range in\nseverity from slight differences in appearance to rendered text\noverflowing bounding boxes resulting in truncation to report runner throwing\nexceptions.\n\nTo provide fonts to be used by this service, a font extension jar file\ncan be added to `src/main/webapp/WEB-INF/lib/` before compiling. There\nis a good description of creating the font extension file at\nhttp://javaskeleton.blogspot.com/2010/12/embedding-fonts-into-pdf-generated-by.html\nIf you follow the iReport instructions in that guide, be sure to\ninclude the variants (italic, bold and bold italic) for each font added.\n\nIf using the report runner in a Docker container, the font extension\njar can be mounted into the container using a volume directive such\nas:\n\n```\ndocker run -p 8080 --name report-runner -d -v ./report-fonts.jar:/var/lib/jetty/webapps/ROOT/WEB-INF/lib/report-fonts.jar specifyconsortium/report-runner\n```\n\n## Running as a service\n\nUse the following *SystemD* script to start report runner service\n\nPS: change User and home path to your needs.\n\n```\n[Unit]\nDescription=Specify Report Runner Service \n# Author Job Diogenes Ribeiro Borges\nWants=network.target\nConditionPathExists=/home/specify/report-runner-service\n\n[Service]\nUser=specify\nWorkingDirectory=/home/specify/report-runner-service\nExecStart=/usr/bin/mvn jetty:run\n\n[Install]\nAlias=ireportrunner.service\n```\n\n## Missing Barcode Text\n\nWhen running with a headless JRE, there is a bug in the barbecue\nbarcode generation library that prevents the text value of a barcode\nfrom be included even if that option is turned on in the report\ndefinition. The bug has been\n[fixed](https://github.com/barbecue-sf/barbecue/commit/420f362ac2348b8a7cbb056e5d920317ce0a0ce1)\nin the\n[barbecue repository](https://github.com/barbecue-sf/barbecue) in an\nunreleased version, *1.9-dev*. The solution is to clone the barbecue\nrepository locally and build and install the maven artifact.\n\n```\ngit clone https://github.com/barbecue-sf/barbecue.git\ncd barbecue/barbecue\nmvn compile\nmvn install\n```\n\nThen update the `pom.xml` in this repository to depend on version\n*1.9-dev* instead of the currently released *1.5-beta1*.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspecify%2Freport-runner-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspecify%2Freport-runner-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspecify%2Freport-runner-service/lists"}