Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
2002aa2
feat: Implement marketplace integrations functionality
PaperMtn Feb 27, 2026
182c2bf
chore: linting and tidying up imports
PaperMtn Feb 27, 2026
da677e7
chore: update docstring
PaperMtn Feb 27, 2026
a774413
feat: added tests for marketplace integrations
PaperMtn Feb 27, 2026
6c8c1b1
fix: rename incorrect field
PaperMtn Feb 27, 2026
b63941b
feat: implement CLI commands for marketplace integrations
PaperMtn Feb 27, 2026
1fa8916
chore: add imports
PaperMtn Feb 28, 2026
46b7288
feat: refactor for integrations and subcommands in CLI
PaperMtn Feb 28, 2026
eb954dd
feat: refactor for integrations and subcommands in CLI
PaperMtn Feb 28, 2026
5cd6ee0
feat: refactor for integrations and subcommands in CLI
PaperMtn Feb 28, 2026
ee73653
chore: marketplace integration features documentation
PaperMtn Feb 28, 2026
1b3a828
chore: linting and formatting
PaperMtn Feb 28, 2026
c30d8c6
chore: refactor integrations under directory for future expansion
PaperMtn Mar 1, 2026
c5ed1b9
feat: implement integrations functions
PaperMtn Mar 2, 2026
083276a
feat: implement bytes request helper for download functions
PaperMtn Mar 2, 2026
ae13e72
feat: implement bytes request helper for download functions
PaperMtn Mar 3, 2026
8d485a0
Merge remote-tracking branch 'origin/main' into feature/marketplace-i…
PaperMtn Mar 3, 2026
0785c0b
chore: linting and formatting
PaperMtn Mar 3, 2026
efe32b8
fix: updates based on testing errors
PaperMtn Mar 3, 2026
04c8524
feat: added tests for integrations
PaperMtn Mar 3, 2026
9a96405
feat: update to use model
PaperMtn Mar 4, 2026
6e3d8fa
feat: implement integrations CLI
PaperMtn Mar 4, 2026
a27aed9
feat: implement integration actions functions
PaperMtn Mar 6, 2026
8a4ff68
chore: black formatting and linting
PaperMtn Mar 6, 2026
2e8e4d9
feat: add functions for integration connectors
PaperMtn Mar 6, 2026
1e1d979
feat: add functions for integration jobs
PaperMtn Mar 6, 2026
16bcff0
feat: add functions for integration managers
PaperMtn Mar 7, 2026
40d19a8
feat: add functions for integration manager revisions
PaperMtn Mar 7, 2026
4285d2b
feat: add functions for integration job revisions
PaperMtn Mar 7, 2026
c4bb017
feat: add functions for integration job instances
PaperMtn Mar 8, 2026
aa69ab8
feat: add functions for integration job context properties
PaperMtn Mar 8, 2026
584d2b9
feat: add functions for integration job instance logs
PaperMtn Mar 8, 2026
6e98409
feat: add functions for integration instances
PaperMtn Mar 9, 2026
4967db3
feat: add functions for integration connector revisions
PaperMtn Mar 9, 2026
0e6b0a4
feat: add functions for integration connector context properties
PaperMtn Mar 9, 2026
9bf1aa2
feat: add functions for integration connector instances
PaperMtn Mar 9, 2026
933e7d3
feat: add functions for integration connector instances
PaperMtn Mar 9, 2026
40a2e85
feat: add functions for integration action revisions functions
PaperMtn Mar 9, 2026
bb04df6
feat: implement integration CLI functions
PaperMtn Mar 9, 2026
8528510
chore: update documentation for integrations
PaperMtn Mar 10, 2026
f43a5cc
feat: implement integration transformers
PaperMtn Mar 10, 2026
22df29d
feat: implement logical operators
PaperMtn Mar 10, 2026
398d0d8
chore: black formatting
PaperMtn Mar 10, 2026
513a824
feat: implement logical operator revision functions
PaperMtn Mar 10, 2026
2ab83f6
chore: move test case directory
PaperMtn Mar 10, 2026
8e400f5
Merge branch 'main' into feature/marketplace-integrations
PaperMtn Mar 10, 2026
49f7b3d
chore: refactor for split PR
PaperMtn Mar 10, 2026
a58146c
fix: PyLint error on f-strings
PaperMtn Mar 10, 2026
38376a6
Merge branch 'main' into feature/integrations-pt1-integrations
PaperMtn Mar 11, 2026
053e5d2
feat: refactor SOARService as a feature namespace in ChronicleClient
PaperMtn Mar 19, 2026
7f557e0
Merge branch 'main' into feature/integrations-pt1-integrations
PaperMtn Apr 3, 2026
b5a7bac
Merge branch 'main' into feature/integrations-pt1-integrations
PaperMtn Apr 3, 2026
2058a09
chore: refactor build_patch_body
PaperMtn Apr 3, 2026
7393f23
chore: fix incorrect variable type
PaperMtn Apr 3, 2026
22e33cf
chore: rename soar.client.py to soar.service.py
PaperMtn Apr 3, 2026
1296d02
chore: revert formatting changes
PaperMtn Apr 3, 2026
d675257
chore: refactor param type models into one single IntegrationParamType
PaperMtn Apr 3, 2026
4df5c19
fix: restore mistaken deleted documentation
PaperMtn Apr 3, 2026
71a61a7
chore: linting fixes
PaperMtn Apr 3, 2026
ea97722
fix: fix use before assignment error
PaperMtn Apr 3, 2026
d91bb53
fix: remove unused import
PaperMtn Apr 3, 2026
1a55e95
chore: add missing docstring
PaperMtn Apr 3, 2026
aecfbff
Merge branch 'main' into feature/integrations-pt1-integrations
PaperMtn Apr 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
412 changes: 412 additions & 0 deletions CLI.md

Large diffs are not rendered by default.

563 changes: 503 additions & 60 deletions README.md

Large diffs are not rendered by default.

1,438 changes: 1,034 additions & 404 deletions api_module_mapping.md

Large diffs are not rendered by default.

44 changes: 35 additions & 9 deletions src/secops/chronicle/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,27 +111,43 @@
search_log_types,
)
from secops.chronicle.models import (
AdvancedConfig,
AlertCount,
AlertState,
Case,
CaseList,
DailyScheduleDetails,
DataExport,
DataExportStage,
DataExportStatus,
Date,
DayOfWeek,
DetectionType,
DiffType,
Entity,
EntityMetadata,
EntityMetrics,
EntitySummary,
FileMetadataAndProperties,
InputInterval,
IntegrationJobInstanceParameter,
IntegrationParam,
IntegrationParamType,
IntegrationType,
ListBasis,
MonthlyScheduleDetails,
OneTimeScheduleDetails,
PrevalenceData,
PythonVersion,
ScheduleType,
SoarPlatformInfo,
TargetMode,
TileType,
TimeInterval,
Timeline,
TimelineBucket,
TimeOfDay,
WeeklyScheduleDetails,
WidgetMetadata,
)
from secops.chronicle.nl_search import translate_nl_to_udm
Expand Down Expand Up @@ -340,21 +356,31 @@
"execute_query",
"get_execute_query",
# Models
"AdvancedConfig",
"AlertCount",
"AlertState",
"Case",
"CaseList",
"DailyScheduleDetails",
"Date",
"DayOfWeek",
"Entity",
"EntityMetadata",
"EntityMetrics",
"EntitySummary",
"FileMetadataAndProperties",
"IntegrationJobInstanceParameter",
"MonthlyScheduleDetails",
"OneTimeScheduleDetails",
"PrevalenceData",
"ScheduleType",
"SoarPlatformInfo",
"TimeInterval",
"TimelineBucket",
"Timeline",
"TimelineBucket",
"TimeOfDay",
"WeeklyScheduleDetails",
"WidgetMetadata",
"EntitySummary",
"AlertCount",
"AlertState",
"Case",
"SoarPlatformInfo",
"CaseList",
"PrevalenceData",
"FileMetadataAndProperties",
"ValidationResult",
"GeminiResponse",
"Block",
Expand Down
13 changes: 9 additions & 4 deletions src/secops/chronicle/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,8 @@
EntitySummary,
InputInterval,
TileType,
AlertState,
ListBasis,
)
from secops.chronicle.nl_search import nl_search as _nl_search
from secops.chronicle.nl_search import translate_nl_to_udm
Expand Down Expand Up @@ -229,7 +231,6 @@
update_reference_list as _update_reference_list,
)

# Import rule functions
from secops.chronicle.rule import create_rule as _create_rule
from secops.chronicle.rule import delete_rule as _delete_rule
from secops.chronicle.rule import enable_rule as _enable_rule
Expand Down Expand Up @@ -287,7 +288,7 @@
list_retrohunts as _list_retrohunts,
)
from secops.chronicle.rule_set import (
batch_update_curated_rule_set_deployments as _batch_update_curated_rule_set_deployments, # pylint: disable=line-too-long
batch_update_curated_rule_set_deployments as _batch_update_curated_rule_set_deployments, #pylint: disable=line-too-long
)
from secops.chronicle.rule_set import get_curated_rule as _get_curated_rule
from secops.chronicle.rule_set import (
Expand All @@ -303,7 +304,7 @@
get_curated_rule_set_deployment as _get_curated_rule_set_deployment,
)
from secops.chronicle.rule_set import (
get_curated_rule_set_deployment_by_name as _get_curated_rule_set_deployment_by_name, # pylint: disable=line-too-long
get_curated_rule_set_deployment_by_name as _get_curated_rule_set_deployment_by_name, #pylint: disable=line-too-long
)
from secops.chronicle.rule_set import (
list_curated_rule_set_categories as _list_curated_rule_set_categories,
Expand Down Expand Up @@ -333,7 +334,6 @@
generate_udm_key_value_mappings as _generate_udm_key_value_mappings,
)

# Import functions from the new modules
from secops.chronicle.udm_search import (
fetch_udm_search_csv as _fetch_udm_search_csv,
)
Expand All @@ -356,6 +356,10 @@
trigger_github_checks as _trigger_github_checks,
)
from secops.exceptions import SecOpsError
from secops.chronicle.soar import SOARService


# pylint: enable=line-too-long


class ValueType(Enum):
Expand Down Expand Up @@ -518,6 +522,7 @@ def __init__(
self.default_api_version = APIVersion(default_api_version)
self._default_forwarder_display_name: str = "Wrapper-SDK-Forwarder"
self._cached_default_forwarder_id: str | None = None
self.soar = SOARService(self)

# Format the instance ID to match the expected format
if region in ["dev", "staging"]:
Expand Down
Loading