{"id":50646576,"url":"https://github.com/ISAITB/gitb","last_synced_at":"2026-07-12T14:00:39.905Z","repository":{"id":38991720,"uuid":"138187409","full_name":"ISAITB/gitb","owner":"ISAITB","description":"The Interoperability Test Bed is a solution supported by the European Commission’s DIGIT for the conformance testing of IT systems.","archived":false,"fork":false,"pushed_at":"2026-07-08T11:20:32.000Z","size":33808,"stargazers_count":40,"open_issues_count":29,"forks_count":7,"subscribers_count":10,"default_branch":"master","last_synced_at":"2026-07-08T13:10:05.950Z","etag":null,"topics":["conformance","interoperability","testing"],"latest_commit_sha":null,"homepage":"https://www.itb.ec.europa.eu","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"eupl-1.2","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ISAITB.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":"publiccode.yml","codemeta":null,"zenodo":null,"notice":"NOTICE.md","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-06-21T15:14:52.000Z","updated_at":"2026-06-19T13:08:43.000Z","dependencies_parsed_at":"2023-10-03T19:15:18.928Z","dependency_job_id":"71d0ebe3-2cb5-40f1-ab80-1c9a5b8d1ee7","html_url":"https://github.com/ISAITB/gitb","commit_stats":null,"previous_names":[],"tags_count":67,"template":false,"template_full_name":null,"purl":"pkg:github/ISAITB/gitb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ISAITB%2Fgitb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ISAITB%2Fgitb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ISAITB%2Fgitb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ISAITB%2Fgitb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ISAITB","download_url":"https://codeload.github.com/ISAITB/gitb/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ISAITB%2Fgitb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35393398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-12T02:00:06.386Z","response_time":87,"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":["conformance","interoperability","testing"],"created_at":"2026-06-07T13:00:30.180Z","updated_at":"2026-07-12T14:00:39.892Z","avatar_url":"https://github.com/ISAITB.png","language":"Scala","funding_links":[],"categories":["Interoperability and Digital Infrastructure"],"sub_categories":[],"readme":"![Banner](https://www.itb.ec.europa.eu/files/banners/gitb_banner.png?v=1)\n\n# Interoperability Test Bed\n\n![BuildStatus](https://github.com/ISAITB/gitb/actions/workflows/quality.yml/badge.svg)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=ISAITB_gitb\u0026metric=security_rating)](https://sonarcloud.io/summary/new_code?id=ISAITB_gitb)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=ISAITB_gitb\u0026metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=ISAITB_gitb)\n[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=ISAITB_gitb\u0026metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=ISAITB_gitb)\n[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=ISAITB_gitb\u0026metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=ISAITB_gitb)\n[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=ISAITB_gitb\u0026metric=bugs)](https://sonarcloud.io/summary/new_code?id=ISAITB_gitb)\n[![licence](https://img.shields.io/github/license/ISAITB/gitb.svg?color=blue)](https://github.com/ISAITB/gitb/blob/master/LICENCE.txt)\n[![docs](https://img.shields.io/static/v1?label=docs\u0026message=Interoperable%20Europe%20Portal\u0026color=blue)](https://www.itb.ec.europa.eu)\n[![docs](https://img.shields.io/static/v1?label=docs\u0026message=Test%20Bed%20guides\u0026color=blue)](https://www.itb.ec.europa.eu/docs/guides/latest/)\n[![docs](https://img.shields.io/static/v1?label=docs\u0026message=GITB%20TDL%20\u0026color=blue)](https://www.itb.ec.europa.eu/docs/tdl/latest/)\n[![docs](https://img.shields.io/static/v1?label=docs\u0026message=GITB%20test%20services\u0026color=blue)](https://www.itb.ec.europa.eu/docs/services/latest/)\n[![Gurubase](https://img.shields.io/badge/Gurubase-Ask%20ITB%20Guru-006BFF?color=blue)](https://gurubase.io/g/itb)\n[![docker](https://img.shields.io/docker/pulls/isaitb/gitb-ui?color=blue\u0026logo=docker\u0026logoColor=white)](https://hub.docker.com/r/isaitb/gitb-ui)\n\nThe [Interoperability Test Bed](https://interoperable-europe.ec.europa.eu/collection/interoperability-test-bed-repository/solution/interoperability-test-bed) is a service offered by the European Commission’s DIGIT for the **conformance testing** of IT systems.\nIt approaches conformance testing by means of scenario-based test cases expressed in the [GITB Test Description Language (TDL)](https://www.itb.ec.europa.eu/docs/tdl/latest/),\nthat defines test steps implemented using built-in capabilities or by orchestration of [extension services](https://www.itb.ec.europa.eu/docs/services/latest/).\n\nTest cases typically involve **message exchanges** with a system under test, with **validation** of individual messages and the overall conversation,\nbut also steps including control flow, user interactions, and arbitrary processing of test session data. Besides the test engine itself, the Test Bed also\nprovides a **rich user interface** for administrators and testers, as well as a **REST API** and **webhooks** for integrations and automation workflows.\n\nDIGIT operates its own [Test Bed instance](https://www.itb.ec.europa.eu/itb/) shared by several projects, but also makes\navailable all software as components (shared as public Docker images) that can be installed and used locally.   \n\n## About this repository\n\nThis repository contains the main application components that are used by the Interoperability Test Bed. These are:\n- The **test engine**, responsible for executing test cases and reporting their progress and outcome.\n  In terms of Docker images, this component represents the ``gitb-srv`` image.\n- The **frontend**, responsible for the Test Bed's user interface and its test, user, and configuration\n  management features. In terms of Docker images, this component represents the ``gitb-ui`` image.\n\nIn subsequent sections these components are referred to using their Docker image names (``gitb-srv`` and ``gitb-ui``).\n\n\u003e **Note**\n\u003e \n\u003e This repository is used to build the Test Bed's software components from their source. The simplest approach\n\u003e to use the Test Bed is via its **published Docker images** ([gitb-ui](https://hub.docker.com/r/isaitb/gitb-ui) and [gitb-srv](https://hub.docker.com/r/isaitb/gitb-srv)) following\n\u003e our [installation guide](https://www.itb.ec.europa.eu/docs/guides/latest/installingTheTestBed/index.html).\n\u003e \n\u003e Alternatively, you may build and launch the Docker service directly from its sources. See [here](#build-for-deployment) for details.\n\n## Documentation\n\nThe main documentation hub for the Test Bed is its [Interoperable Europe Portal site](https://interoperable-europe.ec.europa.eu/collection/interoperability-test-bed-repository/solution/interoperability-test-bed)\nfrom where you can access all [types of documentation](https://interoperable-europe.ec.europa.eu/collection/interoperability-test-bed-repository/solution/interoperability-test-bed/documentation).\nDocumentation highlights include:\n- The [developer onboarding guide](https://www.itb.ec.europa.eu/docs/guides/latest/onboardingDevelopers/index.html), that provides a technical overview of how the Test Bed works.\n- The Test Bed's [user guide](https://www.itb.ec.europa.eu/docs/itb-ta/latest/). \n- The reference documentation for the [GITB TDL](https://www.itb.ec.europa.eu/docs/tdl/latest/) (to author test cases) and [GITB test services](https://www.itb.ec.europa.eu/docs/services/latest/) (to add custom extensions). \n- The installation guide [for development](https://www.itb.ec.europa.eu/docs/guides/latest/installingTheTestBed/index.html) and [for production](https://www.itb.ec.europa.eu/docs/guides/latest/installingTheTestBedProduction/index.html).\n\nIf you are new to the Test Bed you should start with the [developer onboarding guide](https://www.itb.ec.europa.eu/docs/guides/latest/onboardingDevelopers/index.html), and then follow the tutorials\nto [create a first test case](https://www.itb.ec.europa.eu/docs/guides/latest/creatingATestCase/index.html), extend it for [simple messaging needs](https://www.itb.ec.europa.eu/docs/guides/latest/sendingAndReceivingContent/index.html),\nand then for more [complex testing needs](https://www.itb.ec.europa.eu/docs/guides/latest/developingComplexTests/index.html).\n\n# Technology stack\n\nBoth ``gitb-srv`` and ``gitb-ui`` are Java-based applications. Specifically, ``gitb-srv`` is packaged\nas a Spring Boot application using Akka as its primary internal framework, whereas ``gitb-ui``\nis developed in Scala and uses the Play Framework.\n\nThe frontend of the ``gitb-ui`` component is an Angular app developed in TypeScript, and is managed in terms\nof scaffolding and build using Angular CLI.\n\n# Configuration properties\n\nThe main configuration file of interest is ``application.conf`` from ``gitb-ui`` although this never needs\nto be adapted directly. All properties can be set through environment variables, provided either via Docker\nor through the IDE used for development.\n\nThe full listing and documentation of properties is available [here](https://www.itb.ec.europa.eu/docs/guides/latest/installingTheTestBedProduction/index.html#configuration-properties).\n\n# Build for development\n\nFollow these steps to build and run the application components for development purposes.\n\n## Prerequisites\n\nTo build and run the Test Bed's components you need to have the following tools:\n- JDK 21+, used as the base platform for both ``gitb-srv`` and ``gitb-ui``.\n- Maven 3.9+, used to build ``gitb-srv``.\n- SBT 1.10+, used to build ``gitb-ui``.\n- Scala 2.13+, used to build the backend app of ``gitb-ui``.\n- Node version 22+, used to build the frontend app of ``gitb-ui``.\n\nAlthough not mandatory, the proposed IDE to use is IntelliJ, and VS Code for ``gitb-ui``'s Angular app.\n\n### Additional Test Bed components\n\nThe focus of this README file is the ``gitb-srv`` and ``gitb-ui`` components. To run a complete Test Bed instance\nyou will also require at least:\n- A MySQL database (version 8+) for its persistence.\n- A REDIS instance (version 7+) for the caching of user sessions.\n\nBoth these instances are set up separately (e.g. via Docker) environment. These can be set up from Docker\nas follows:\n- MySQL: ``docker run --name gitb-mysql -p 3306:3306 -d isaitb/gitb-mysql``\n- REDIS: ``docker run --name gitb-redis -p 6379:6379 -d isaitb/gitb-redis``\n\n\u003e **Note**  \n\u003e \n\u003e All images and containers are defined in ``docker-compose.yml`` and explained in detail the [developer installation guide](https://www.itb.ec.europa.eu/docs/guides/latest/installingTheTestBed/index.html). You may build and launch the complete service as described [here](#build-for-deployment).\n\n## Test engine (gitb-srv)\n\nTo build and run the ``gitb-srv`` component carry out the following steps:\n1. From folder ``gitb`` run ``mvn clean install -DskipTests=true``.\n2. Create a run configuration in your IDE as follows (or set up outside your IDE). The run configuration\n   can be defined in one of two ways:\n   - **As a Java Application (best):** Set class ``Application`` from the ``gitb-testbed-service`` module as\n     your entry point. This is the best approach as it allows direct debugging without extra configuration.\n   - **Via Maven:** Run ``mvn spring-boot:run`` from the ``gitb-testbed-service`` module.\n3. Adapt your run definition's environment variables to add the following:\n   - ``remote.testcase.repository.url`` = http://localhost:9000/repository/tests/:test_id/definition\n   - ``remote.testresource.repository.url`` = http://localhost:9000/repository/resource/:test_id/:resource_id\n\nNote that defining a run configuration is something specific. If running outside an IDE you can follow either\napproach but ensure that the environment variables are correctly set up.\n\n## Frontend (gitb-ui)\n\nTo build and run the ``gitb-ui`` component carry out the following steps:\n1. From the ``gitb-ui`` folder issue ``sbt compile``.\n2. Define in your IDE a run configuration as a sbt application to run ``sbt run``.\n3. Set environment variables as needed. For example set ``THEME = ec`` for a EC-themed UI.\n\nThe next step is to choose how to build and run the Angular UI application. Its resources are defined in\nthe ``gitb-ui/ui`` folder and its build is managed by Angular CLI. You have two options on how to work with\nthe Angular app - choose the preferred approach for you from the two following sections. As a common first\nstep regardless of the approach you choose you need to issue ``npm install`` from folder ``gitb-ui/ui``. \n\n**Developing with EU Login enabled:** In case you are developing with EU Login enabled (i.e. against a local EU \nLogin test instance), you need to ensure that the following environment variables are set:\n- ``SESSION_SECURE`` set to ``false`` \n- ``SESSION_COOKIE_NAME`` set to ``ITB_SESSION``.\n\nFailure to set these properties will result in session cookies never getting served over HTTP, resulting in endless\nauthentication loops. The alternative is to test over HTTPS via a local SSL-enabled proxy (e.g. a local nginx server\nwith a self-signed server certificate).\n\n### Option 1: Work on Angular UI through Play application\n\nUsing this approach you build the Angular app using Angular CLI but access it through the Play application. To do this:\n1. From ``gitb-ui/ui`` issue ``npm run build``. This will build the app and copy it under the Play application's ``assets``\n   folder. To rebuild automatically for any changes use ``npm run build:dev``.\n2. Access the application by first going to the Play application's welcome page at http://localhost:9000. Once you click\n   any of the login options the Angular app will be launched.\n3. Once any part of the Angular app is rebuilt you will need to refresh the browser page to see\n   changes.     \n\n**When to use this approach:** Using this approach mirrors exactly how the application will run in production. In addition,\nyou may need to use this approach to effectively test aspects that require interaction with the Play application. These \ninclude:\n- Testing with EU Login enabled (as EU Login's callback returns to the Play application).\n- Testing the different login options (e.g. register, demos, confirm role assignment).\n\n### Option 2: Work on Angular UI standalone \n\nUsing this approach you build and serve the Angular app using Angular CLI. In this scenario the Play application\nis only used through its REST API which the Angular app proxies and uses. To use this approach:\n- Only once from ``gitb-ui/ui`` issue  ``npm run build``. This is needed to put in place static resources used by the Angular app\n  (most notably tinymce styles).\n- From ``gitb-ui/ui`` issue ``npm start``. This reloads the app upon detected changes.\n- Access the application at http://localhost:4200 (this will be automatically opened for you).  \n\n**When to use this approach:** This approach is the most efficient as it allows use of the lightweight CLI server\nand provides automatic refresh for build changes. The problem with this approach is that it cannot cover\ncases where you need to test interactions with the Play application (e.g. when EU Login is used for authentication).\nHaving said this however, you can still use this after you have authenticated using the Play application given that\nauthentication cookies are shared.\n\n# Build for deployment\n\nFollow these steps to build the components for deployment as a Dockerised service. Two approaches are available:\n* [Build using the project's development tools](#build-using-development-tools).\n* [Build using Docker Compose (containerised build)](#build-using-docker-compose).\n\n## Build using development tools\n\nThis approach is more suitable is you have set up the repository for development and have [installed all necessary tooling](#prerequisites).\nProducing build artefacts is faster but expects the necessary tools (Java, Maven, NPM, SBT, Scala) to be installed, and manual steps\nto build Docker images.\n\n### Test engine (gitb-srv)\n\n1. From the current (root) folder issue ``mvn clean install -DskipTests=true -Denv=docker``\n2. Copy file ``gitb-testbed-service/target/itbsrv.war`` to a separate folder to build its Docker image.\n3. Use Dockerfile ``etc/docker/gitb-srv/Dockerfile`` from the same folder to build the image with `docker build -t isaitb/gitb-srv .`.\n\n### Frontend (gitb-ui)\n\n1. From the ``gitb-ui`` folder issue ``sbt clean dist``. This builds all Play code and automatically calls the required\n   prod build target from its Angular app.\n2. Unzip the contents of the ``gitb-ui/target/universal/gitb-1.0-SNAPSHOT.zip`` archive to a separate folder. The name of the resulting unzipped folder should be ``gitb-ui``.\n3. Use the Dockerfile ``etc/docker/gitb-ui/Dockerfile`` from the same folder to build the image with `docker build -t isaitb/gitb-ui .`.\n\n### Database (gitb-mysql)\n\n1. From the `etc/docker/gitb-mysql` folder build the image with `docker build -t isaitb/gitb-mysql .`\n\n### Session cache (gitb-redis)\n\n1. From the `etc/docker/gitb-redis` folder build the image with `docker build -t isaitb/gitb-redis .`\n\n### Create the overall service\n\n1. Follow the [development installation guide](https://www.itb.ec.europa.eu/docs/guides/latest/installingTheTestBed/index.html).\n2. Create or [download](https://www.itb.ec.europa.eu/docs/guides/latest/_downloads/d863ccca4f45b40bb17be79b4841ad4b/docker-compose.yml) your docker-compose.yml file\n   making use of the locally built images (see previous steps).\n3. Launch the service from the folder containing your `docker-compose.yml` file with `docker compose up -d`.\n\n## Build using Docker Compose\n\nThis approach is more suitable for a containerised build, avoiding any manual steps and developer tool installations (apart from Docker Compose). Make sure that your \nDocker Compose is at least at version `2.0.0`. Note that the overall build time in this case is slower compared to building with the relevant tools.\n\nWhen using this approach the images are built directly from the repository's sources using the definitions in `docker-compose.yml`. As part of this process, select\nconfiguration values are passed as Docker build arguments and embedded in the resulting images for development use. Before starting the build you must therefore define\nthe following environment variables in your shell:\n\n- `MYSQL_ROOT_PASSWORD`: The MySQL root password. This is also used by the MySQL container's healthcheck.\n- `MYSQL_PASSWORD`: The password of the `gitb` MySQL user.\n- `DB_DEFAULT_PASSWORD`: The password used by `gitb-ui` to connect to MySQL. This **must match** `MYSQL_PASSWORD`.\n- `APPLICATION_SECRET`: The Play secret used by `gitb-ui`.\n- `MASTER_PASSWORD`: The password used by `gitb-ui` to encrypt sensitive persisted values.\n- `HMAC_KEY`: The shared HMAC key used by `gitb-ui` and `gitb-srv`. This **must be the same** for both components.\n\nFor a quick local setup you can define these directly in your shell before starting Docker Compose. For example on Linux/macOS:\n\n```bash\nexport MYSQL_ROOT_PASSWORD='rootPasswordForLocalBuild'\nexport MYSQL_PASSWORD='gitbPasswordForLocalBuild'\nexport DB_DEFAULT_PASSWORD=\"$MYSQL_PASSWORD\"\nexport APPLICATION_SECRET='a-local-development-application-secret-at-least-32-chars'\nexport MASTER_PASSWORD='a-local-development-master-password'\nexport HMAC_KEY='a-local-development-hmac-key'\ndocker compose up -d --build\n```\n\nOn Windows PowerShell, the equivalent would be:\n\n```powershell\n$env:MYSQL_ROOT_PASSWORD = 'rootPasswordForLocalBuild'\n$env:MYSQL_PASSWORD = 'gitbPasswordForLocalBuild'\n$env:DB_DEFAULT_PASSWORD = $env:MYSQL_PASSWORD\n$env:APPLICATION_SECRET = 'a-local-development-application-secret-at-least-32-chars'\n$env:MASTER_PASSWORD = 'a-local-development-master-password'\n$env:HMAC_KEY = 'a-local-development-hmac-key'\ndocker compose up -d --build\n```\n\nAlternatively, you may place the same variables in a `.env` file in the repository's root folder so that Docker Compose picks them up automatically.\n\nOnce these variables are defined, build and launch all containers from the repository's root folder with:\n\n```bash\ndocker compose up -d --build\n```\n\n\u003e **Note**\n\u003e\n\u003e The values above are used to build development-ready images from source. If you later adapt your setup for a more secure deployment, note that the published images\n\u003e continue to support runtime secret configuration via environment variables and the `_FILE` variants described in the installation guides.\n\n# Using the application\n\nOnce a complete Test Bed instance has been set up, either in development or as a Dockerised service, access using the default\nTest Bed administrator account as follows:\n1. Go to http://localhost:9000.\n2. Click on the login button.\n3. Authenticate using `admin@itb`. This account is set with a one-time password that is refreshed at start-up until a\n   first login is made. The password to use is obtained by checking the logs of container `gitb-ui`.\n\nAn example log output to retrieve the administrator password is as follows: \n```\n###############################################################################\n\nThe one-time password for the default administrator account [admin@itb] is:\n\nb1afbc39-8ad7-49f4-a9d9-0bcec942aef4\n\n###############################################################################\n```\n\nFor information on how to proceed once you have logged in, you may refer to the Test Bed's [user guide](https://www.itb.ec.europa.eu/docs/itb-ta/latest/) \nand [sample usage tutorials](https://www.itb.ec.europa.eu/docs/guides/latest/definingYourTestConfiguration/index.html).\n\n# Licence\n\nThis software is shared using the [European Union Public Licence (EUPL) version 1.2](https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12).\n\nThird-party library licences, notices and attributions are listed in [NOTICE.md](NOTICE.md).\n\n# Legal notice\n\nThe authors of this software waive any and all liability linked to its usage, or the interpretation of any results it may produce.\nAny data, including data of private nature that it may store, is defined by the eventual downstream user's configuration. A detailed\nlegal notice of the [shared instance](https://www/itb.ec.europa.eu/itb) hosted by the European Commission is available via the \nrelevant welcome page link. \n\n# Contact\n\nFor feedback or questions regarding the GITB Test Bed software you are invited to post issues in the current repository. In addition,\nfeel free to contact the Test Bed team via email at [DIGIT-ITB@ec.europa.eu](mailto:DIGIT-ITB@ec.europa.eu).\n\n# See also\n\nFor general information on all aspects of the Interoperability Test Bed and the GITB software in particular you may refer\nto its [Interoperable Europe Portal site](https://interoperable-europe.ec.europa.eu/collection/interoperability-test-bed-repository/solution/interoperability-test-bed).\n\nThe GITB software is used to realise a complete conformance testing platform. If you are more interested in standalone \ndata validation you may find interesting the Test Bed's validators for [XML](https://github.com/ISAITB/xml-validator),\n[RDF](https://github.com/ISAITB/shacl-validator), [JSON](https://github.com/ISAITB/json-validator) and [CSV](https://github.com/ISAITB/csv-validator)\ncontent.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FISAITB%2Fgitb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FISAITB%2Fgitb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FISAITB%2Fgitb/lists"}