NIFI-15258 Added API for Connectors (#70)

NIFI-15259: Adding web context interface for custom Connector UIs.
NIFI-15322: Require all property descriptors within a PropertyGroup / ConfigurationStep are unique (#27)
NIFI-15326: Adding support for connector configuration step documentation. (#28)
NIFI-15312: Moved SecretsProvider / SecretsManager to framework instead of api; added description to Secret and updated ParameterProvider to allow more specific fetching of parameters; cleaned up Connector validation logic (#29)
NIFI-15343: Adding providerId to Secret. (#30)
NIFI-15258: Enable Custom UI to retrieve connector with flow contexts (#33)
NIFI-15352: Added getFullyQualifiedName to secret, to encapsulate the combination of group and name (#35)
NIFI-15352: Added getFullyQualifiedName to SecretReference
NIFI-15315 Add support for assets in Connectors (#31)
NIFI-15361: Removing documentation from ConfigurationStep. (#38)
NIFI-15369: Allow ConfigurationStep to depend on another (ConfigurationStep,Property) tuple (#39)
NIFI-15356: Introducing the ConnectorWebMethod. (#37)
NIFI-15353: Adding documentation writers for connectors. (#40)
NIFI-15428: If non-existent property value is set, connector should be invalid. (#43)
NIFI-15427: Added drainFlowFiles(FlowContext) method to Connector (#42)
NIFI-15440: Implementation of ConnectorActions (#47)
NIFI-15446: Updated JavaDocs to clarify how invocations of Connector Methods work (#45)
NIFI-15461: Fixed bug that caused system tests to fail (#48)
NIFI-15451: Provide ability for Connectors to lookup Bundles available for a given component type (#46)
NIFI-15485: Include provider name when providing fqn for secrets (#52)
NIFI-15467: Allow Connectors to specify bundle compatability when upd… (#54)
NIFI-15536: Change Connector API to use DescribedValue vs AllowableValue (#60)
NIFI-15514: Ensure that when AbstractConnector is started, it includes all components, not just processors and controller services; code cleanup (#57)
NIFI-15538: When starting/stopping components allow specifying whether or not the action should be recursive; code cleanup and simplification to use a Virtual Thread to execute code sequentially instead of chaining CompletableFutures. (#61)
NIFI-15480: Added DropFlowFileSummary, ability to drop FlowFiles from a ConnectionFacade / ProcessGroupFacade (#62)
NIFI-15557: Allow Connectors to enable a Controller Service using overridden property values (#63)
NIFI-15565: Code cleanup (#64)
NIFI-15621: Allow Configuration to Validate with ValidationContext (#69)

Co-authored-by: Mark Payne <markap14@hotmail.com>
Co-authored-by: Matt Gilman <matt.c.gilman@gmail.com>
Co-authored-by: Bryan Bende <bbende@apache.org>
Co-authored-by: Bob Paulin <bob@bobpaulin.com>
Signed-off-by: David Handermann <exceptionfactory@apache.org>
74 files changed
tree: 436913d4209c5ffcf3b4a58c6a6f804ae64d2ace
  1. .github/
  2. .mvn/
  3. src/
  4. .asf.yaml
  5. .gitignore
  6. checkstyle.xml
  7. LICENSE
  8. mvnw
  9. mvnw.cmd
  10. NOTICE
  11. pmd-ruleset.xml
  12. pom.xml
  13. README.md
README.md

Apache NiFi API

license build

The Apache NiFi API repository contains public interfaces and classes for building extension components.

Requirements

  • Java 21
  • Maven 3.9.12

Versioning

The project follows Semantic Versioning 2.0.0.

Building

This project uses Maven to build distribution packages.

This project includes the Maven Wrapper to build with required Maven versions.

./mvnw install

Verifying

Code and documentation changes must pass build verification to be eligible for review.

./mvnw verify

The project uses several build plugins for static code analysis and license evaluation.

Documentation

The Apache NiFi Documentation includes reference information for project capabilities.

Contributing

The Apache NiFi Contributor Guide describes the process for getting involved in the development of this project.

Issues

This project uses Jira for tracking bugs and features.

Licensing

This project is released under the Apache License, Version 2.0.