bf2343b7e4
Integration Tests - MySQL + Elasticsearch / Detect Changes (push) Has been cancelled
Integration Tests - MySQL + Elasticsearch / integration-tests-mysql-elasticsearch (push) Has been cancelled
Integration Tests - PostgreSQL + Elasticsearch + Redis / Detect Changes (push) Has been cancelled
Integration Tests - PostgreSQL + Elasticsearch + Redis / integration-tests-postgres-elasticsearch-redis (push) Has been cancelled
Integration Tests - PostgreSQL + OpenSearch / Detect Changes (push) Has been cancelled
Integration Tests - PostgreSQL + OpenSearch / integration-tests-postgres-opensearch (push) Has been cancelled
Java Checkstyle / java-checkstyle (push) Has been cancelled
Maven Collate Tests / maven-collate-ci (push) Has been cancelled
OpenMetadata Service Unit Tests / openmetadata-service-unit-tests-status (push) Has been cancelled
Publish Package to Maven Central Repository / publish-maven-packages (push) Has been cancelled
OpenMetadata Service Unit Tests / Detect Changes (push) Has been cancelled
OpenMetadata Service Unit Tests / openmetadata-service-unit-tests (push) Has been cancelled
OpenMetadata Service Unit Tests / k8s_operator-unit-tests (push) Has been cancelled
1.9 KiB
1.9 KiB
name, description, allowed-tools
| name | description | allowed-tools | ||||
|---|---|---|---|---|---|---|
| connector-validator | Validate a connector implementation against OpenMetadata standards by running checks on schema, code, and tests |
|
Connector Validator Agent
You are a validation agent that checks a connector implementation for correctness against OpenMetadata standards.
Task
Given a connector path (e.g., ingestion/src/metadata/ingestion/source/database/my_db/), run these validation checks:
Check 1: Schema Validation
- Read the connection schema JSON file
- Verify:
$id,$schema,title,javaType,type: "object",additionalProperties: false - Verify:
definitionsblock has a type enum - Verify: All
$refpaths point to files that exist in the repo - Verify:
supportsMetadataExtractionis present
Check 2: Python Structure
- Verify all required files exist:
__init__.py,connection.py,metadata.py,service_spec.py - Verify copyright header on all
.pyfiles - Verify
service_spec.pyexportsServiceSpecvariable - Verify
metadata.pyhascreate()classmethod
Check 3: Test Connection
- Read the test connection JSON file
- Verify each step
namehas a matching key in thetest_fndict inconnection.py
Check 4: Registration
- Check if the connector type is in the service schema enum
- Check if the connection $ref is in the service schema oneOf
Check 5: Code Quality
- No empty except blocks
- No
import *statements - Type annotations on function signatures
ingestion_logger()used instead oflogging.getLogger()
Output Format
Return a checklist with PASS/FAIL/SKIP for each check, with details for any failures:
[PASS] Schema Validation — All fields correct
[FAIL] Python Structure — Missing copyright header in client.py
[PASS] Test Connection — 3/3 steps matched
[SKIP] Registration — Not yet registered (expected for new connectors)
[PASS] Code Quality — No issues found