Skip to content

Drupal module to report on availability status of 3-rd party endpoints.

License

Notifications You must be signed in to change notification settings

AlexSkrypnyk/integration_report

Repository files navigation

Integration Report Drupal module

Integration Report Drupal module

GitHub Issues GitHub Pull Requests CircleCI GitHub release (latest by date) LICENSE Renovate

Drupal 9 Drupal 10

screenshot

Why?

If your website has 3rd-party integration with one or multiple 3rd-party services via API endpoints, this module allows to call the endpoints and see all the response information within a single page.

You may also implement status check on behalf of any other Drupal module that does not have such information page.

Features

  • Single page for all status checks.
  • <iframe>-based status checks (useful for SSO with redirects).

Getting started

  1. Extend IntegrationReport class with your 3rd-party endpoint request methods.

  2. Register this class as a service in your custom module and tag it:

     services:
       example_integration_report:
         class: Drupal\example\ExampleIntegrationReport
         tags:
           - { name: integration_report }
    
  3. Go to /admin/reports/integrations to check the status.

Refer to integration_report.api.php and modules/integration_report_example for an implementation example.

Local development

Provided that you have PHP installed locally, you can develop an extension using the provided scripts.

Build

Run .devtools/build-codebase.sh (or ahoy build-codebase if Ahoy is installed) to start inbuilt PHP server locally and run the same commands as in CI, plus installing a site and your extension automatically.

Code linting

Run tools individually (or ahoy lint to run all tools if Ahoy is installed) to lint your code according to the Drupal coding standards.

cd build

vendor/bin/phpcs
vendor/bin/phpstan
vendor/bin/rector --clear-cache --dry-run
vendor/bin/phpmd . text phpmd.xml
vendor/bin/twigcs

Tests

Run .devtools/test.sh (or ahoy test if Ahoy is installed) to run all test for your extension.

Browsing SQLite database

To browse the contents of created SQLite database (located at /tmp/site_[EXTENSION_NAME].sqlite), use DB Browser for SQLite.