ISAITB / gitb

The Interoperability Test Bed is a service offered by the European Commission’s DIGIT for the conformance testing of IT systems. It is based on the GITB CEN Workshop Agreement and was originally forked from the GITB PoC software (available at https://github.com/srdc/gitb).
https://joinup.ec.europa.eu/solution/interoperability-test-bed/about
Other
16 stars 4 forks source link

ITB and Webhooks #62

Open Nicolas-Caroff opened 1 week ago

Nicolas-Caroff commented 1 week ago

Hello,

I heard about the existance of webhooks in ITB but I am not able to find any documentation. Are webhooks still relevant today, and is there any documentation on them? If so, I would like to have it if possible.

costas80 commented 1 week ago

Hi @Nicolas-Caroff. Indeed the ITB does have webhooks (they are called "triggers"). There's a full section in the user guide on those: https://www.itb.ec.europa.eu/docs/itb-ta/latest/communityDashboard/index.html#manage-triggers

Nicolas-Caroff commented 1 week ago

From what I see, we can create and manipulate these triggers from the web interface. But can we do the same through a REST API ?

costas80 commented 1 week ago

I assume you mean creating such triggers from the REST API? If yes then indeed it's not possible. Of course, once created from the UI, configured triggers will execute regardless of how the relevant events took place (e.g. via a test session completed through the UI or via REST API).

In case you are looking more towards preconfiguring a set of triggers automatically, you can do this if you are creating the target Test Bed instance as what we call a sandbox instance. In brief:

  1. In a development instance you create all the data you need (community, domain, organisations, user accounts, specifications, ..., and also triggers).
  2. You export the configured community as an archive.
  3. For the target instance you provide the archive at a special "input" folder (see the guide for details) from which the data will be read (only once) at start-up. Doing so the new Test Bed instance will be created from scratch with preconfigured data including the triggers you have defined.

You typically define such sandbox instances if you want to provide downstream users a preconfigured testing package, or if you want to spin up a Test Bed instance with predefined configuration for use in CI/CD processes.

Would this approach be helpful?

Nicolas-Caroff commented 1 week ago

I'm currently starting a project linked to ITB. So I'm trying to get a clearer idea of the different approaches. This could be one of them.

costas80 commented 1 week ago

Great! The ITB has multiple features and different ways of being used (centralised/decentralised, UI/REST API, sandbox instances, ...). We could have a call (a Teams meeting) in which we can discuss what you need and go over the different approaches together. If you'd like this just drop us an email at DIGIT-ITB@ec.europa.eu and we can plan it.