diff --git a/Packs/AlibabaActionTrail/ReleaseNotes/1_0_19.md b/Packs/AlibabaActionTrail/ReleaseNotes/1_0_19.md new file mode 100644 index 000000000000..712d3036cc6a --- /dev/null +++ b/Packs/AlibabaActionTrail/ReleaseNotes/1_0_19.md @@ -0,0 +1,6 @@ + +#### Integrations + +##### Alibaba Action Trail Event Collector + +Documentation and metadata improvements. diff --git a/Packs/AlibabaActionTrail/pack_metadata.json b/Packs/AlibabaActionTrail/pack_metadata.json index 612d7468576a..6f18ff0fd375 100644 --- a/Packs/AlibabaActionTrail/pack_metadata.json +++ b/Packs/AlibabaActionTrail/pack_metadata.json @@ -2,7 +2,7 @@ "name": "Alibaba Action Trail", "description": "An Integration Pack to fetch Alibaba action trail events.", "support": "xsoar", - "currentVersion": "1.0.18", + "currentVersion": "1.0.19", "author": "Cortex XSOAR", "url": "https://www.paloaltonetworks.com/cortex", "email": "", diff --git a/Packs/ApiModules/Scripts/SiemApiModule/SiemApiModule.py b/Packs/ApiModules/Scripts/SiemApiModule/SiemApiModule.py index b61633686cd7..5f5de0fccf77 100644 --- a/Packs/ApiModules/Scripts/SiemApiModule/SiemApiModule.py +++ b/Packs/ApiModules/Scripts/SiemApiModule/SiemApiModule.py @@ -33,16 +33,17 @@ def load_json(v: Any) -> dict: raise ValueError('headers are not valid Json object') from exc if isinstance(v, dict): return v + return dict() class IntegrationHTTPRequest(BaseModel): method: Method url: AnyUrl verify: bool = True - headers: dict = dict() # type: ignore[type-arg] - auth: Optional[HTTPBasicAuth] + headers: dict = {} # type: ignore[type-arg] + auth: Optional[HTTPBasicAuth] = None data: Any = None - params: dict = dict() # type: ignore[type-arg] + params: dict = {} # type: ignore[type-arg] class Config(BaseConfig): arbitrary_types_allowed = True @@ -165,4 +166,3 @@ def get_last_run(events: list) -> dict: @abstractmethod def _iter_events(self): """Create iterators with Yield""" - pass diff --git a/Packs/Box/ReleaseNotes/3_1_30.md b/Packs/Box/ReleaseNotes/3_1_30.md new file mode 100644 index 000000000000..dc5a64e95aed --- /dev/null +++ b/Packs/Box/ReleaseNotes/3_1_30.md @@ -0,0 +1,6 @@ + +#### Integrations + +##### Box Event Collector + +Documentation and metadata improvements. diff --git a/Packs/Box/pack_metadata.json b/Packs/Box/pack_metadata.json index 3a89044fdbba..1c318af210e5 100644 --- a/Packs/Box/pack_metadata.json +++ b/Packs/Box/pack_metadata.json @@ -2,7 +2,7 @@ "name": "Box", "description": "Manage Box users", "support": "xsoar", - "currentVersion": "3.1.29", + "currentVersion": "3.1.30", "author": "Cortex XSOAR", "url": "https://www.paloaltonetworks.com/cortex", "email": "", diff --git a/Packs/CyberArkIdentity/Integrations/CyberArkIdentityEventCollector/CyberArkIdentityEventCollector.py b/Packs/CyberArkIdentity/Integrations/CyberArkIdentityEventCollector/CyberArkIdentityEventCollector.py index ac107d638334..f0736f63a4bc 100644 --- a/Packs/CyberArkIdentity/Integrations/CyberArkIdentityEventCollector/CyberArkIdentityEventCollector.py +++ b/Packs/CyberArkIdentity/Integrations/CyberArkIdentityEventCollector/CyberArkIdentityEventCollector.py @@ -106,8 +106,8 @@ class CyberArkIdentityEventsOptions(IntegrationOptions): class CyberArkIdentityEventsRequest(IntegrationHTTPRequest): - method = Method.POST - headers = {'Accept': '*/*', 'Content-Type': 'application/json'} + method: Method = Method.POST + headers: dict = {'Accept': '*/*', 'Content-Type': 'application/json'} class CyberArkIdentityEventsClient(IntegrationEventsClient): @@ -132,7 +132,7 @@ def authenticate(self): credentials = base64.b64encode(f'{self.credentials.identifier}:{self.credentials.password}'.encode()).decode() request = IntegrationHTTPRequest( method=Method.POST, - url=f"{self.request.url.removesuffix('/RedRock/Query')}/oauth2/token/{self.options.app_id}", + url=f"{str(self.request.url).removesuffix('/RedRock/Query')}/oauth2/token/{self.options.app_id}", headers={'Authorization': f"Basic {credentials}"}, data={'grant_type': 'client_credentials', 'scope': 'siem'}, verify=not self.request.verify, @@ -169,7 +169,8 @@ def _iter_events(self): result = self.client.call(self.client.request).json()['Result'] - if events := result.get('Results'): + events = result.get('Results') + if events: fetched_events_ids = demisto.getLastRun().get('ids', []) yield [event.get('Row') for event in events if event.get('Row', {}).get('ID') not in fetched_events_ids] diff --git a/Packs/CyberArkIdentity/Integrations/CyberArkIdentityEventCollector/CyberArkIdentityEventCollector.yml b/Packs/CyberArkIdentity/Integrations/CyberArkIdentityEventCollector/CyberArkIdentityEventCollector.yml index 335971033a3c..7b87e9a8d0ba 100644 --- a/Packs/CyberArkIdentity/Integrations/CyberArkIdentityEventCollector/CyberArkIdentityEventCollector.yml +++ b/Packs/CyberArkIdentity/Integrations/CyberArkIdentityEventCollector/CyberArkIdentityEventCollector.yml @@ -76,7 +76,7 @@ script: isfetchevents: true type: python subtype: python3 - dockerimage: demisto/fastapi:1.0.0.64153 + dockerimage: demisto/fastapi:1.0.0.68195 marketplaces: - marketplacev2 fromversion: 6.8.0 diff --git a/Packs/CyberArkIdentity/ReleaseNotes/1_0_27.md b/Packs/CyberArkIdentity/ReleaseNotes/1_0_27.md new file mode 100644 index 000000000000..59f3a6255468 --- /dev/null +++ b/Packs/CyberArkIdentity/ReleaseNotes/1_0_27.md @@ -0,0 +1,3 @@ +#### Integrations +##### CyberArk Identity Event Collector +- Updated the Docker image to: *demisto/fastapi:1.0.0.68195*. diff --git a/Packs/CyberArkIdentity/pack_metadata.json b/Packs/CyberArkIdentity/pack_metadata.json index abe394f1ebef..558ac0e78c27 100644 --- a/Packs/CyberArkIdentity/pack_metadata.json +++ b/Packs/CyberArkIdentity/pack_metadata.json @@ -2,7 +2,7 @@ "name": "CyberArk Identity", "description": "This integration collects events from the Idaptive Next-Gen Access (INGA) using REST APIs.", "support": "xsoar", - "currentVersion": "1.0.26", + "currentVersion": "1.0.27", "author": "Cortex XSOAR", "url": "https://www.paloaltonetworks.com/cortex", "email": "", diff --git a/Packs/Dropbox/Integrations/DropboxEventCollector/DropboxEventCollector.py b/Packs/Dropbox/Integrations/DropboxEventCollector/DropboxEventCollector.py index fe93f14f24d9..3864ebf5e592 100644 --- a/Packs/Dropbox/Integrations/DropboxEventCollector/DropboxEventCollector.py +++ b/Packs/Dropbox/Integrations/DropboxEventCollector/DropboxEventCollector.py @@ -15,11 +15,11 @@ class DropboxEventsRequestConfig(IntegrationHTTPRequest): # Endpoint: https://api.dropbox.com/2/team_log/get_events - url = parse_obj_as(AnyUrl, 'https://api.dropbox.com') - method = Method.POST - headers = {'Content-Type': 'application/json'} + url: AnyUrl = parse_obj_as(AnyUrl, 'https://api.dropbox.com') + method: Method = Method.POST + headers: dict = {'Content-Type': 'application/json'} data: str - verify = not demisto.params().get('insecure') + verify: bool = not demisto.params().get('insecure') class DropboxEventsClient(IntegrationEventsClient): @@ -41,21 +41,22 @@ def __init__( super().__init__(request, options, session) def set_request_filter(self, cursor: str): - if 'continue' not in self.request.url: - self.request.url += '/continue' + if 'continue' not in str(self.request.url): + self.request.url = AnyUrl(f'{str(self.request.url).removesuffix("/")}/continue') + self.request.data = json.dumps({'cursor': cursor}) def get_access_token(self): request = IntegrationHTTPRequest( method=Method.POST, - url=f'{self.request.url.removesuffix("/")}/oauth2/token', + url=f'{str(self.request.url).removesuffix("/")}/oauth2/token', data={'grant_type': 'refresh_token', 'refresh_token': f'{self.refresh_token}'}, auth=HTTPBasicAuth(self.credentials.identifier, self.credentials.password), verify=self.request.verify, ) response = self.call(request) self.request.headers['Authorization'] = f'Bearer {response.json()["access_token"]}' - self.request.url += '/2/team_log/get_events' + self.request.url = AnyUrl(f'{str(self.request.url).removesuffix("/")}/2/team_log/get_events') class DropboxEventsGetter(IntegrationGetEvents): @@ -72,9 +73,8 @@ def _iter_events(self): # endregion # region Yield Response - while events := results.get('events'): # Run as long there are logs - - yield sorted(events, key=lambda d: d['timestamp']) + while results.get('events'): # Run as long there are logs + yield sorted(results.get('events', []), key=lambda d: d.get('timestamp')) if results.get('has_more'): self.client.set_request_filter(results.get('cursor')) diff --git a/Packs/Dropbox/Integrations/DropboxEventCollector/DropboxEventCollector.yml b/Packs/Dropbox/Integrations/DropboxEventCollector/DropboxEventCollector.yml index d062a94dae60..b01f95fb6f2b 100644 --- a/Packs/Dropbox/Integrations/DropboxEventCollector/DropboxEventCollector.yml +++ b/Packs/Dropbox/Integrations/DropboxEventCollector/DropboxEventCollector.yml @@ -78,7 +78,7 @@ script: defaultValue: 3 days description: Get events. name: dropbox-get-events - dockerimage: demisto/fastapi:1.0.0.64153 + dockerimage: demisto/fastapi:1.0.0.68195 runonce: false script: '-' subtype: python3 diff --git a/Packs/Dropbox/ReleaseNotes/1_0_25.md b/Packs/Dropbox/ReleaseNotes/1_0_25.md new file mode 100644 index 000000000000..bf78207bb624 --- /dev/null +++ b/Packs/Dropbox/ReleaseNotes/1_0_25.md @@ -0,0 +1,3 @@ +#### Integrations +##### Dropbox Event Collector +- Updated the Docker image to: *demisto/fastapi:1.0.0.68195*. diff --git a/Packs/Dropbox/pack_metadata.json b/Packs/Dropbox/pack_metadata.json index 5f32f5bdbf56..06e96d7ae981 100644 --- a/Packs/Dropbox/pack_metadata.json +++ b/Packs/Dropbox/pack_metadata.json @@ -2,7 +2,7 @@ "name": "Dropbox", "description": "Use the Dropbox integration to fetch events", "support": "xsoar", - "currentVersion": "1.0.24", + "currentVersion": "1.0.25", "author": "Cortex XSOAR", "url": "https://www.paloaltonetworks.com/cortex", "email": "", diff --git a/Packs/GitHub/ReleaseNotes/2_0_23.md b/Packs/GitHub/ReleaseNotes/2_0_23.md new file mode 100644 index 000000000000..c63133ca8589 --- /dev/null +++ b/Packs/GitHub/ReleaseNotes/2_0_23.md @@ -0,0 +1,6 @@ + +#### Integrations + +##### Github Event Collector + +Documentation and metadata improvements. diff --git a/Packs/GitHub/pack_metadata.json b/Packs/GitHub/pack_metadata.json index ce353baa162c..aa582446a149 100644 --- a/Packs/GitHub/pack_metadata.json +++ b/Packs/GitHub/pack_metadata.json @@ -2,7 +2,7 @@ "name": "GitHub", "description": "Manage GitHub issues and pull requests directly from Cortex XSOAR", "support": "xsoar", - "currentVersion": "2.0.22", + "currentVersion": "2.0.23", "author": "Cortex XSOAR", "url": "https://www.paloaltonetworks.com/cortex", "email": "", diff --git a/Packs/GitLab/ReleaseNotes/2_2_14.md b/Packs/GitLab/ReleaseNotes/2_2_14.md new file mode 100644 index 000000000000..bd0e41908db3 --- /dev/null +++ b/Packs/GitLab/ReleaseNotes/2_2_14.md @@ -0,0 +1,6 @@ + +#### Integrations + +##### GitLab Event Collector + +Documentation and metadata improvements. diff --git a/Packs/GitLab/pack_metadata.json b/Packs/GitLab/pack_metadata.json index 446f72ffd1f2..ea4325722d9c 100644 --- a/Packs/GitLab/pack_metadata.json +++ b/Packs/GitLab/pack_metadata.json @@ -2,7 +2,7 @@ "name": "GitLab", "description": "Pack for handling gitlab operations", "support": "xsoar", - "currentVersion": "2.2.13", + "currentVersion": "2.2.14", "author": "Cortex XSOAR", "url": "https://www.paloaltonetworks.com/cortex", "email": "", diff --git a/Packs/Mimecast/ReleaseNotes/2_1_12.md b/Packs/Mimecast/ReleaseNotes/2_1_12.md new file mode 100644 index 000000000000..224a914f2cc3 --- /dev/null +++ b/Packs/Mimecast/ReleaseNotes/2_1_12.md @@ -0,0 +1,6 @@ + +#### Integrations + +##### Mimecast Event Collector + +Documentation and metadata improvements. diff --git a/Packs/Mimecast/pack_metadata.json b/Packs/Mimecast/pack_metadata.json index 864f12e07149..e438d4e14c5c 100644 --- a/Packs/Mimecast/pack_metadata.json +++ b/Packs/Mimecast/pack_metadata.json @@ -2,7 +2,7 @@ "name": "Mimecast", "description": "Mimecast unified email management offers cloud email services for email security, continuity and archiving emails. Read the detailed instructions to understand how to configure the integration's parameters.", "support": "xsoar", - "currentVersion": "2.1.11", + "currentVersion": "2.1.12", "author": "Cortex XSOAR", "url": "https://www.paloaltonetworks.com/cortex", "email": "", diff --git a/Packs/Salesforce/ReleaseNotes/2_0_18.md b/Packs/Salesforce/ReleaseNotes/2_0_18.md new file mode 100644 index 000000000000..153267b4eb74 --- /dev/null +++ b/Packs/Salesforce/ReleaseNotes/2_0_18.md @@ -0,0 +1,6 @@ + +#### Integrations + +##### Salesforce Event Collector (Deprecated) + +Documentation and metadata improvements. diff --git a/Packs/Salesforce/pack_metadata.json b/Packs/Salesforce/pack_metadata.json index 45f5cb77de8d..32b2f5498374 100644 --- a/Packs/Salesforce/pack_metadata.json +++ b/Packs/Salesforce/pack_metadata.json @@ -2,7 +2,7 @@ "name": "Salesforce", "description": "CRM Services", "support": "xsoar", - "currentVersion": "2.0.17", + "currentVersion": "2.0.18", "author": "Cortex XSOAR", "url": "https://www.paloaltonetworks.com/cortex", "email": "",