xsoar-cli 2.4.2__tar.gz → 2.4.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/CHANGELOG.md +3 -1
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/PKG-INFO +1 -1
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/_version.py +2 -2
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/xsoar_client/packs.py +7 -5
- xsoar_cli-2.4.3/tests/cli/test_pack.py +48 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_packs.py +1 -1
- xsoar_cli-2.4.2/tests/cli/test_pack.py +0 -18
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/.github/workflows/main.yml +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/.github/workflows/pull-request-open.yml +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/.github/workflows/release.yml +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/.github/workflows/update-changelog.yml +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/.gitignore +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/CLAUDE.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/CONTRIBUTING.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/LICENSE.txt +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/pyproject.toml +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/cli.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/case/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/case/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/case/commands.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/completions/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/completions/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/completions/commands.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/config/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/config/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/config/commands.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/content/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/content/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/content/commands.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/execute/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/execute/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/execute/commands.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/graph/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/graph/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/graph/commands.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/integration/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/integration/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/integration/commands.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/manifest/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/manifest/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/manifest/commands.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/pack/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/pack/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/pack/commands.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/plugins/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/plugins/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/plugins/commands.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/rbac/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/rbac/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/commands/rbac/commands.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/configuration.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/error_handling/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/error_handling/connection.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/error_handling/http.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/log.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/plugins/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/plugins/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/plugins/manager.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/utilities/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/utilities/config_file.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/utilities/content.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/utilities/download_content_handlers.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/utilities/manifest.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/utilities/output.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/utilities/validators.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/utilities/version_check.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/xsoar_client/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/xsoar_client/artifact_providers/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/xsoar_client/artifact_providers/azure.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/xsoar_client/artifact_providers/base.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/xsoar_client/artifact_providers/s3.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/xsoar_client/cases.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/xsoar_client/client.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/xsoar_client/constants.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/xsoar_client/content.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/xsoar_client/execution.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/xsoar_client/integrations.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/xsoar_client/rbac.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/cli/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/cli/conftest.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/cli/test_base.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/cli/test_case.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/cli/test_completions.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/cli/test_config.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/cli/test_content.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/cli/test_execute.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/cli/test_graph.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/cli/test_manifest.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/cli/test_plugins.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/conftest.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/cases/create.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/cases/get.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/content/automation_search.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/content/playbook_search.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/content/user_commands.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/integrations/instances.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/manifest/manifest_base.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/manifest/manifest_invalid.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/manifest/manifest_with_pack_not_on_server.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/manifest/server_base_response.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/manifest/server_base_response_missing_one_pack.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/manifest/server_base_response_with_updates.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/manifest/server_base_response_with_updates_and_one_extra.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/packs/installed.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/packs/installed_expired.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/rbac/roles.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/rbac/user_groups.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/rbac/users.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Download/playbook-empty.yml +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonPlaybooks/.pack-ignore +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonPlaybooks/.secrets-ignore +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonPlaybooks/Author_image.png +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonPlaybooks/Playbooks/GenericPlaybook.yml +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonPlaybooks/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonPlaybooks/pack_metadata.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonScripts/.pack-ignore +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonScripts/.secrets-ignore +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonScripts/Author_image.png +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonScripts/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonScripts/Scripts/GenericScript/GenericScript.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonScripts/Scripts/GenericScript/GenericScript.yml +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonScripts/Scripts/GenericScript/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonScripts/pack_metadata.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_EDR/.pack-ignore +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_EDR/.secrets-ignore +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_EDR/Author_image.png +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_EDR/Playbooks/EDR_InitialTriage.yml +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_EDR/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_EDR/Scripts/EDR_FetchFile/EDR_FetchFile.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_EDR/Scripts/EDR_FetchFile/EDR_FetchFile.yml +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_EDR/Scripts/EDR_FetchFile/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_EDR/Scripts/EDR_Triage/EDR_Triage.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_EDR/Scripts/EDR_Triage/EDR_Triage.yml +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_EDR/Scripts/EDR_Triage/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_EDR/Scripts/LegacyItem/LegacyItem.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_EDR/Scripts/LegacyItem/LegacyItem.yml +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_EDR/Scripts/LegacyItem/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_EDR/Scripts/LegacyItem/test_data/basescript-dummy.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_EDR/pack_metadata.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_Layouts/.pack-ignore +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_Layouts/.secrets-ignore +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_Layouts/Author_image.png +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_Layouts/Layouts/layoutscontainer-GenericLayout.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_Layouts/README.md +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_Layouts/pack_metadata.json +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/Not_applicable/Playbooks/Empty.yml +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/__init__.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/conftest.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_artifact_azure.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_artifact_base.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_artifact_s3.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_case_commands.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_cases.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_client.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_config_file.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_content_domain.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_content_filters.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_content_handlers.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_error_handling.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_execution.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_integrations.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_main.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_manifest_utils.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_output.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_plugin_manager.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_rbac.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_validators.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/unit/test_version_check.py +0 -0
- {xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/uv.lock +0 -0
|
@@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [2.4.2] - 2026-09-16
|
|
10
|
+
|
|
9
11
|
## [2.4.1] - 2026-06-19
|
|
10
12
|
|
|
11
13
|
## [2.4.0] - 2026-06-17
|
|
@@ -33,7 +35,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
33
35
|
|
|
34
36
|
### Fixed
|
|
35
37
|
|
|
36
|
-
- `manifest update` no longer crashes with `ValueError: max() iterable argument is empty` when a custom pack is installed on the XSOAR server but has no artifacts in the configured artifact repository. The command now skips such packs (they are already reported in the pre-existing "installed but not found in artifacts repo" warning) and continues updating the remaining packs. As part of the fix, `S3ArtifactProvider.get_latest_version()` and `AzureArtifactProvider.get_latest_version()` now return `None` instead of raising when the pack has no versions in the repo.
|
|
38
|
+
- `manifest update` no longer crashes with `ValueError: max() iterable argument is empty` when a custom pack is installed on the XSOAR server but has no artifacts in the configured artifact repository. The command now skips such packs (they are already reported in the pre-existing "installed but not found in artifacts repo" warning) and continues updating the remaining packs. As part of the fix, `S3ArtifactProvider.get_latest_version()` and `AzureArtifactProvider.get_latest_version()` now return `None` instead of raising when the pack has no versions in the repo, and `Packs.get_outdated()` was updated to treat `None` as the skip signal so `pack get-outdated` no longer crashes with `TypeError: unsupported format string passed to NoneType.__format__` on the same class of orphan pack.
|
|
37
39
|
- `content get-detached` now returns only the content items that are actually detached. The previous query returned all system items, so the command reported every system script (or playbook) as detached instead of just the detached ones. Results are now filtered on each item's `detached` field.
|
|
38
40
|
|
|
39
41
|
## [2.3.0] - 2026-06-04
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: xsoar-cli
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.3
|
|
4
4
|
Summary: A command-line interface for managing Palo Alto Networks XSOAR (Cortex XSOAR)
|
|
5
5
|
Project-URL: Documentation, https://github.com/tlium/xsoar-cli#readme
|
|
6
6
|
Project-URL: Issues, https://github.com/tlium/xsoar-cli/issues
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '2.4.
|
|
22
|
-
__version_tuple__ = version_tuple = (2, 4,
|
|
21
|
+
__version__ = version = '2.4.3'
|
|
22
|
+
__version_tuple__ = version_tuple = (2, 4, 3)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -136,9 +136,8 @@ class Packs:
|
|
|
136
136
|
if pack["author"] in self.custom_pack_authors:
|
|
137
137
|
if not self.client.artifact_provider:
|
|
138
138
|
raise RuntimeError("No artifact provider configured")
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
except ValueError:
|
|
139
|
+
latest_version = self.client.artifact_provider.get_latest_version(pack["id"])
|
|
140
|
+
if latest_version is None:
|
|
142
141
|
logger.warning("Custom pack '%s' installed on XSOAR server, but cannot find pack in artifacts repo", pack["id"])
|
|
143
142
|
skipped.append(pack["id"])
|
|
144
143
|
continue
|
|
@@ -164,8 +163,11 @@ class Packs:
|
|
|
164
163
|
|
|
165
164
|
return OutdatedResult(outdated=update_available, skipped=skipped)
|
|
166
165
|
|
|
167
|
-
def get_latest_custom_version(self, pack_id: str) -> str:
|
|
168
|
-
"""Gets the latest version of a custom pack from the artifacts repository.
|
|
166
|
+
def get_latest_custom_version(self, pack_id: str) -> str | None:
|
|
167
|
+
"""Gets the latest version of a custom pack from the artifacts repository.
|
|
168
|
+
|
|
169
|
+
Returns None if the pack has no artifacts in the repository.
|
|
170
|
+
"""
|
|
169
171
|
if not self.client.artifact_provider:
|
|
170
172
|
raise RuntimeError("No artifact provider configured")
|
|
171
173
|
return self.client.artifact_provider.get_latest_version(pack_id)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"""CLI integration tests for the ``pack`` command group."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
if TYPE_CHECKING:
|
|
8
|
+
from tests.cli.conftest import InvokeHelper
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class TestPackGroup:
|
|
12
|
+
def test_shows_help(self, invoke: InvokeHelper) -> None:
|
|
13
|
+
result = invoke(["pack"])
|
|
14
|
+
assert result.exit_code == 0
|
|
15
|
+
|
|
16
|
+
def test_help_flag(self, invoke: InvokeHelper) -> None:
|
|
17
|
+
result = invoke(["pack", "--help"])
|
|
18
|
+
assert result.exit_code == 0
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class TestPackGetOutdated:
|
|
22
|
+
"""Tests for ``pack get-outdated``."""
|
|
23
|
+
|
|
24
|
+
def test_reports_orphan_custom_pack_and_lists_outdated(self, invoke: InvokeHelper, mock_xsoar_env) -> None:
|
|
25
|
+
"""Regression test: an orphan custom pack (installed on the server but
|
|
26
|
+
missing from the artifacts repo) is surfaced in the warning list and
|
|
27
|
+
does not cause a formatting crash on ``pack['latest']``."""
|
|
28
|
+
from xsoar_cli.xsoar_client.packs import OutdatedResult
|
|
29
|
+
|
|
30
|
+
mock_xsoar_env.client.packs.get_outdated.return_value = OutdatedResult(
|
|
31
|
+
outdated=[
|
|
32
|
+
{
|
|
33
|
+
"id": "CommonScripts",
|
|
34
|
+
"currentVersion": "1.14.20",
|
|
35
|
+
"latest": "1.15.0",
|
|
36
|
+
"author": "Upstream",
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
skipped=["OrphanPack"],
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
result = invoke(["pack", "get-outdated"])
|
|
43
|
+
|
|
44
|
+
assert result.exit_code == 0, result.output
|
|
45
|
+
assert "OrphanPack" in result.output
|
|
46
|
+
assert "installed but not found in artifacts repo" in result.output
|
|
47
|
+
assert "CommonScripts" in result.output
|
|
48
|
+
assert "1.15.0" in result.output
|
|
@@ -454,7 +454,7 @@ class TestGetOutdated:
|
|
|
454
454
|
mock_client.make_request.return_value = _mock_response(_INSTALLED_EXPIRED)
|
|
455
455
|
|
|
456
456
|
provider = MagicMock()
|
|
457
|
-
provider.get_latest_version.
|
|
457
|
+
provider.get_latest_version.return_value = None
|
|
458
458
|
mock_client.artifact_provider = provider
|
|
459
459
|
|
|
460
460
|
packs = Packs(mock_client, custom_pack_authors=["MyOrg"])
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"""CLI integration tests for the ``pack`` command group."""
|
|
2
|
-
|
|
3
|
-
from __future__ import annotations
|
|
4
|
-
|
|
5
|
-
from typing import TYPE_CHECKING
|
|
6
|
-
|
|
7
|
-
if TYPE_CHECKING:
|
|
8
|
-
from tests.cli.conftest import InvokeHelper
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class TestPackGroup:
|
|
12
|
-
def test_shows_help(self, invoke: InvokeHelper) -> None:
|
|
13
|
-
result = invoke(["pack"])
|
|
14
|
-
assert result.exit_code == 0
|
|
15
|
-
|
|
16
|
-
def test_help_flag(self, invoke: InvokeHelper) -> None:
|
|
17
|
-
result = invoke(["pack", "--help"])
|
|
18
|
-
assert result.exit_code == 0
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/src/xsoar_cli/xsoar_client/artifact_providers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/manifest/manifest_with_pack_not_on_server.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/fixtures/manifest/server_base_response_with_updates.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonPlaybooks/.pack-ignore
RENAMED
|
File without changes
|
{xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonPlaybooks/.secrets-ignore
RENAMED
|
File without changes
|
{xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonPlaybooks/Author_image.png
RENAMED
|
File without changes
|
|
File without changes
|
{xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonPlaybooks/README.md
RENAMED
|
File without changes
|
|
File without changes
|
{xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonScripts/.pack-ignore
RENAMED
|
File without changes
|
{xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonScripts/.secrets-ignore
RENAMED
|
File without changes
|
{xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonScripts/Author_image.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_CommonScripts/pack_metadata.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_EDR/Scripts/EDR_Triage/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_EDR/Scripts/LegacyItem/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/MyOrg_Layouts/pack_metadata.json
RENAMED
|
File without changes
|
{xsoar_cli-2.4.2 → xsoar_cli-2.4.3}/tests/mock_content/Packs/Not_applicable/Playbooks/Empty.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|