Description
n8n-nodes-inveniordm
This is an n8n community node. It lets you use InvenioRDM in your n8n workflows.
n8n is a fair-code licensed workflow automation platform.
Installation
Operations
Credentials
Compatibility
Usage
Resources
Installation
Follow the installation guide in the n8n community nodes documentation.
Operations
The following operations are supported:
- Records
- Get a record
- Get many records
- Communities
- Get a community
- Get many communities
Credentials
You can use a personal access token to use this node.
Personal access token
- Create an account in an InvenioRDM instance and login.
- Go to your Applications page.
- In the right navigation, under Personal access tokens, select New token.
- Enter a descriptive name for your token in the Token name field, like n8n integration.
- Select Scopes for your token, currently only the
user:emailscope is supported. - Click Create.
- Copy the token.

Testing
This package includes comprehensive tests to ensure reliability and functionality:
Running Tests
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Run tests with coverage report
npm run test:coverage
# Run only smoke tests
npm test -- test/smoke.test.ts
# Run end-to-end tests (requires test instance)
npm run test:e2e
Test Categories
- Smoke Tests: Basic functionality and instantiation tests
- Unit Tests: Detailed testing of individual components
- Integration Tests: Testing of node operations with mocked APIs
- E2E Tests: End-to-end testing against live InvenioRDM instances
Test Environment Variables
For E2E testing against a live InvenioRDM instance:
export TEST_INVENIORDM_URL="https://your-test-instance.org"
export TEST_INVENIORDM_TOKEN="your-test-token"
Coverage
The test suite aims for comprehensive coverage of:
- Credentials validation and authentication
- All node operations (CRUD for records, read for communities)
- Error handling and edge cases
- Input validation and type safety
Compatibility
Compatible with n8n@1.60.0 or later
Development
# Install dependencies
npm install
# Build the project
npm run build
# Run linting
npm run lint
# Fix linting issues
npm run lint:fix
# Watch for changes during development
npm run build:watch