-
Notifications
You must be signed in to change notification settings - Fork 76
feat: Add GitHub CI/CD versioning support with env profile #393
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Add native support for NiFi's GitHub Flow Registry Client to enable
CI/CD workflows for versioned NiFi flows.
New Git-specific versioning helpers:
- list_git_registry_buckets, get_git_registry_bucket
- list_git_registry_flows, get_git_registry_flow
- list_git_registry_flow_versions, deploy_git_registry_flow
- ensure_registry_client, update_registry_client
Profile system enhancements:
- Add 'env' profile for pure environment variable configuration
- Ideal for GitHub Actions, containers, and CI/CD pipelines
- No profiles file required when using nipyapi.profiles.switch('env')
Controller service management:
- Add schedule_all_controllers for bulk enable/disable operations
- Uses NiFi's native bulk activation API with descendant support
Bug fixes:
- Fix test_create_controller leaving orphaned controller services
Documentation:
- Add 1.1.0 release notes to history
- Add env profile usage guide to profiles documentation
Related: nipyapi-actions and nipyapi-workflow companion repositories
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #393 +/- ##
==========================================
+ Coverage 70.38% 71.03% +0.65%
==========================================
Files 9 9
Lines 1830 2020 +190
==========================================
+ Hits 1288 1435 +147
- Misses 542 585 +43 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
- Add nifi-github, nifi-github.localdomain, host.docker.internal to certificate SANs - Configure nifi-github service to mount generated certificates - Add NIFI_WEB_PROXY_HOST for host.docker.internal access - Enables act testing with proper SSL certificate validation
- update_processor now accepts name param for renaming processors - add auto_stop param (default False) to handle running processors - revert_flow_ver now refreshes revision internally to prevent stale errors
ottobackwards
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me. Minor version bump?
| GitHub CI/CD Integration - Native support for NiFi's GitHub Flow Registry Client
GitHub Flow Registry Support
list_git_registry_buckets: List buckets (folders) in a Git-backed registryget_git_registry_bucket: Get a specific bucket by namelist_git_registry_flows: List flows in a bucketget_git_registry_flow: Get a specific flow by namelist_git_registry_flow_versions: List all versions (commits) of a flowdeploy_git_registry_flow: Deploy a versioned flow from GitHub to the NiFi canvasupdate_git_flow_ver: Change version of an already-deployed Git-registry flowensure_registry_clientandupdate_registry_clientfor idempotent registry configurationrevert_flow_vernow acceptswait=Trueparameter for synchronous operationProfile System Enhancements
nipyapi.profiles.switch('env')to activateNIFI_API_ENDPOINT,NIFI_USERNAME, etc.) applyController Service Management
schedule_all_controllers(pg_id, scheduled)to enable/disable all controller services in a process groupBug Fixes
test_create_controllerleaving orphaned ADLS controller services after test runsdeploy_git_registry_flowto correctly identify latest versionInfrastructure
pylintrcfor pylint 3.x compatibilityRelated Projects