Skip to content

Feature/integrations pt2 actions - #194

Open
PaperMtn wants to merge 15 commits into
google:mainfrom
PaperMtn:feature/integrations-pt2-actions
Open

Feature/integrations pt2 actions#194
PaperMtn wants to merge 15 commits into
google:mainfrom
PaperMtn:feature/integrations-pt2-actions

Conversation

@PaperMtn

Copy link
Copy Markdown
Contributor

Implement All Integration Management Functions - Pt 2: Actions and Managers functions

Summary

This PR Adds Integration Action and Integration Managers capabilities to the SecOps SDK. It includes:

  • SDK modules
  • ChronicleClient methods
  • CLI commands
  • Unit tests
  • Full documentation.

New SDK Modules (src/secops/chronicle/integration/)

ModuleDescription
actions.pyCRUD, test execution, template fetching, and environment-based retrieval for integration actions
action_revisions.pyList, create, delete, and rollback action revisions
managers.pyCRUD and template fetching for integration managers
manager_revisions.pyList, get, create, delete, and rollback manager revisions

CLI Commands (src/secops/cli/commands/integration/)

Added a complete secops integration CLI command tree with 21 subcommand modules, all registered via integration_client.py:

CLI SubcommandOperations
secops integration actionslist, get, create, update, delete, test, template
secops integration action-revisionslist, create, delete, rollback
secops integration managerslist, get, create, update, delete, template
secops integration manager-revisionslist, get, create, delete, rollback

Tests

Unit Tests - SDK Modules (tests/chronicle/integration/)

  • test_actions.py, test_action_revisions.py
  • test_managers.py, test_manager_revisions.py

Documentation Updates

README.md

SDK usage examples for every new module, following the established format:

  • Actions (CRUD, test, template, environment-based retrieval)
  • Managers (CRUD, template) and Manager Revisions

CLI.md

CLI usage documentation with bash examples for all integration subcommands, including workflow examples for revision-based safe updates.


ChronicleClient Updates

  • client.py - All new integration module functions added as ChronicleClient methods with full docstrings
  • __init__.py - All new functions exported in __all__ and publicly importable from secops.chronicle

API Version Support

All integration modules support both v1beta (default) and v1alpha via the api_version parameter.

@mihirvala08

Copy link
Copy Markdown
Collaborator

@PaperMtn, can you merge main branch into this? And also update code to utilize new helper methods such as remove_none_values wherever applicable?

Thanks!

# By Mihir Vala (43) and others
# Via Mihir Vala (11) and others
* main: (66 commits)
chore: bump version; added changelog
chore: minor refactoring and formatting
chore: utilize helper methods.
chore: fixed tests
chore: added integration tests. fixed integration instance flags.
chore: fix unit tests
chore: minor refactoring and formatting
chore: added docs in README and CLI. Added changelog. Updated project version.
chore: added client integration tests
chore: add missing docstring
fix: remove unused import
fix: fix use before assignment error
chore: linting fixes
fix: restore mistaken deleted documentation
chore: fixed unit tests
chore: case integration tests fix
chore: fixed unit tests
chore: refactoring and improvements
chore: fixed unnessary changes
chore: refactor param type models into one single IntegrationParamType
...
# Conflicts:
#	CLI.md
#	README.md
#	src/secops/chronicle/__init__.py
#	src/secops/chronicle/client.py
#	src/secops/chronicle/soar/integration/integration_instances.py
#	src/secops/chronicle/soar/integration/integrations.py
#	src/secops/chronicle/soar/integration/marketplace_integrations.py
#	src/secops/cli/commands/integration/integration.py
#	src/secops/cli/commands/integration/integration_client.py
#	src/secops/cli/commands/integration/integration_instances.py
#	src/secops/cli/commands/integration/marketplace_integration.py
#	tests/chronicle/soar/integration/test_integration_instances.py
#	tests/chronicle/soar/integration/test_integrations.py
#	tests/chronicle/soar/integration/test_marketplace_integrations.py
@PaperMtn

Copy link
Copy Markdown
ContributorAuthor

@mihirvala08 I've caught up with main, and have migrated the functions over into the SOARService namespace

@mihirvala08

Copy link
Copy Markdown
Collaborator

/run-integration-tests a9aa790

@mihirvala08

Copy link
Copy Markdown
Collaborator

/run-integration-tests 21f351d

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@PaperMtn@mihirvala08