Skip to main content

Bundle validator

A tiny standalone .NET console app (net8.0, no external packages) that checks an intake accelerator bundle folder.

What it checks​

  • manifest.json parses and has the required top-level properties.
  • source.storageType / source.fileFormat are valid enum values.
  • The samplePayload.file exists on disk.
  • The target has the fields its kind requires (customService or odataEntity).
  • mapping.json parses; its targetKind and targetRef agree with the manifest target.
  • Every mapping line has a target and at least one of source / const / transform.

When an activation block is present (see Activation):

  • activation.parameters is an array, and each parameter has key, label, scope, dataType and a boolean required.
  • key is camelCase and unique within the bundle; scope and dataType are valid enum values.
  • A secret (or secretRef) parameter ships no default - a default credential in a published bundle is a structural error, not a style preference.
  • Every batching.provisioningRequired entry has a matching activation.parameters[].key, so the older field cannot drift from the newer one.
  • Every __token__ placeholder in transform.liquid has a matching parameter key, so the bundle cannot contain a blank nobody is asked to fill.

It does not connect to an AOS - target class/entity/field existence is verified by the authoring process against the AOT, not by this tool.

Build & run​

dotnet build MGCLatticeIntakeBundleValidator.sln -c Release
dotnet run -c Release -- ../../bundles/vendor-invoice-intake ../../bundles/sales-order-intake \
../../bundles/asn-product-receipt-intake \
../../bundles/customer-payment-intake \
../../bundles/opportunity-intake

Exit code 0 = all valid, 1 = errors, 2 = bad invocation.