Skip to content
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

Jb zoom enhancement #26925

Merged
merged 49 commits into from Jul 3, 2023
Merged

Jb zoom enhancement #26925

merged 49 commits into from Jul 3, 2023

Conversation

jbabazadeh
Copy link
Contributor

@jbabazadeh jbabazadeh commented May 23, 2023

Contributing to Cortex XSOAR Content

Make sure to register your contribution by filling the contribution registration form

The Pull Request will be reviewed only after the contribution registration form is filled.

Status

  • In Progress
  • Ready
  • In Hold - (Reason for hold)

Related Issues

https://jira-hq.paloaltonetworks.local/browse/CIAC-4944

Description

zoom enhencments
adding new command -
zoom-list-account-public-channels
zoom-create-channel
zoom-invite-to-channel
zoom-update-channel
zoom-list-user-channels
zoom-remove-from-channel
zoom-delete-channel
zoom-list-user-channels
zoom-send-file
zoom-list-messages
zoom-send-message
zoom-update-message
zoom-delete-message

Screenshots

image

Minimum version of Cortex XSOAR

  • 6.0.0
  • 6.1.0
  • 6.2.0
  • 6.5.0

Does it break backward compatibility?

  • Yes
    • Further details:
  • No

Must have

  • Tests
  • Documentation

@jbabazadeh jbabazadeh removed the request for review from yuvalbenshalom June 4, 2023 06:07
@jbabazadeh jbabazadeh marked this pull request as ready for review June 4, 2023 06:08
@jbabazadeh jbabazadeh requested review from yuvalbenshalom and removed request for yucohen June 4, 2023 06:15
@yuvalbenshalom yuvalbenshalom self-requested a review June 28, 2023 09:58
@ShirleyDenkberg ShirleyDenkberg self-assigned this Jun 29, 2023
| recurrence_type | For recurring meetings only.<br/>Set the recurrence meeting types.<br/>. Possible values are: Daily, Weekly, Monthly. | Optional |
| weekly_days | For recurring meetings with a Weekly recurrence_type only.<br/>State a specific day in a week when the weekly meeting should recur. Allowed: 1┃2┃3┃4┃5┃6┃7 Default = 1.<br/>. | Optional |
| auto-record-meeting | The automatic recording settings. <br/>Note that the Cloud option is available for zoom paid customers only.<br/>. Possible values are: local, cloud, none. Default is none. | Optional |
| end_date_time | For recurring meetings only. Select the final date on which the meeting will recur before it is canceledFor example: 2017-11-25T12:00:00Z. | Optional |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| end_date_time | For recurring meetings only. Select the final date on which the meeting will recur before it is canceledFor example: 2017-11-25T12:00:00Z. | Optional |
| end_date_time | For recurring meetings only. Select the final date on which the meeting will recur before it is canceled. For example: 2017-11-25T12:00:00Z. | Optional |

Packs/Zoom/Integrations/Zoom/README.md Show resolved Hide resolved
| auto-record-meeting | The automatic recording settings. <br/>Note that the Cloud option is available for zoom paid customers only.<br/>. Possible values are: local, cloud, none. Default is none. | Optional |
| end_date_time | For recurring meetings only. Select the final date on which the meeting will recur before it is canceledFor example: 2017-11-25T12:00:00Z. | Optional |
| end_times | For recurring meetings only.Select how many times the meeting should recur before it is canceled. max = 365. Default = 1.. | Optional |
| monthly_day | For recurring meetings with Monthly recurrence_type only.State the day in a month, the meeting should recur. The value range is from 1 to 31. Default = 1.. | Optional |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| monthly_day | For recurring meetings with Monthly recurrence_type only.State the day in a month, the meeting should recur. The value range is from 1 to 31. Default = 1.. | Optional |
| monthly_day | For recurring meetings with Monthly recurrence_type only. State the day in a month the meeting should recur. The value range is from 1 to 31. Default = 1.. | Optional |

Packs/Zoom/Integrations/Zoom/README.md Show resolved Hide resolved
| end_times | For recurring meetings only.Select how many times the meeting should recur before it is canceled. max = 365. Default = 1.. | Optional |
| monthly_day | For recurring meetings with Monthly recurrence_type only.State the day in a month, the meeting should recur. The value range is from 1 to 31. Default = 1.. | Optional |
| monthly_week | For recurring meetings with Monthly recurrence_type only.State the week of the month when the meeting should recur. If you use this field, you must also use the monthly_week_day field to state the day of the week when the meeting should recur. Allowed: -1 (for last week of the month) ┃1┃2┃3┃4. | Optional |
| monthly_week_day | For recurring meetings with Monthly recurrence_type only.State a specific day in a week when the monthly meeting should recur. Allowed: 1┃2┃3┃4┃5┃6┃7To use this field, you must also use the monthly_week field.. | Optional |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| monthly_week_day | For recurring meetings with Monthly recurrence_type only.State a specific day in a week when the monthly meeting should recur. Allowed: 1┃2┃3┃4┃5┃6┃7To use this field, you must also use the monthly_week field.. | Optional |
| monthly_week_day | For recurring meetings with Monthly recurrence_type only. State a specific day in a week when the monthly meeting should recur. Allowed: 1┃2┃3┃4┃5┃6┃7To use this field, you must also use the monthly_week field.. | Optional |

| exclude_child_message | Default: false This parameter is used to exclude returning all child messages in a chat, leaving only the parent messages.. | Optional |
| next_page_token | The next page token paginates through a large set of results. A next page token is returned whenever the set of available results exceeds the current page size. This token's expiration period is 15 minutes.. | Optional |
| page_size | Number of records returned from a single API call. Default 50. | Optional |
| page_number | Which page of results to return. Default 1. | Optional |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| page_number | Which page of results to return. Default 1. | Optional |
| page_number | The page of results to return. Default 1. | Optional |

| **Path** | **Type** | **Description** |
| --- | --- | --- |
| Zoom.ChatMessage.date | date | The queried date value. |
| Zoom.ChatMessage.id | string | the channel's unique identifier. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| Zoom.ChatMessage.id | string | the channel's unique identifier. |
| Zoom.ChatMessage.id | string | The channel's unique identifier. |

| Zoom.ChatMessage.id | string | the channel's unique identifier. |
| Zoom.Channel.jid | string | The channel JID. |
| Zoom.Channel.name | string | The channel name. |
| Zoom.Channel.type | string | The type of the channel. The value can be one of the following: 1: Private channel. In this type of channel, members must be invited to join a channel. 2: Private channel with members that belong to one Zoom account. Members in this channel should be invited and the members should be from the same organization. 3: Public channel. Anyone can search for this channel and join the channel. 4: Group chat. This is an instant channel which can be created by adding members to a new chat. Allowed: 1┃2┃3┃4
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| Zoom.Channel.type | string | The type of the channel. The value can be one of the following: 1: Private channel. In this type of channel, members must be invited to join a channel. 2: Private channel with members that belong to one Zoom account. Members in this channel should be invited and the members should be from the same organization. 3: Public channel. Anyone can search for this channel and join the channel. 4: Group chat. This is an instant channel which can be created by adding members to a new chat. Allowed: 1┃2┃3┃4
| Zoom.Channel.type | string | The type of the channel. The value can be one of the following: 1: Private channel. In this type of channel, members must be invited to join a channel. 2: Private channel with members that belong to one Zoom account. Members in this channel should be invited and the members should be from the same organization. 3: Public channel. Anyone can search for this channel and join the channel. 4: Group chat. This is an instant channel which can be created by adding members to a new chat.

description: >
List the existing channels
You can only retrieve the channel information for the authorized user.
in order to get public channel by its name (for example Admins_to_delete_4) you need to run command zoom-list-account-public-channels without channel_id param and found what channel_id fits channel name
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
in order to get public channel by its name (for example Admins_to_delete_4) you need to run command zoom-list-account-public-channels without channel_id param and found what channel_id fits channel name
In order to get a public channel by its name (for example Admins_to_delete_4) you need to run the command zoom-list-account-public-channels without the channel_id param and find which channel_id fits the channel name.

name: page-size
type: int
- description: >
The next page token is used to get the next page. IMPORTENT: You must pass the same page size that you pased at the first call.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The next page token is used to get the next page. IMPORTENT: You must pass the same page size that you pased at the first call.
The next page token is used to get the next page. IMPORTANT: You must pass the same page size that you passed in the first call.

required: false
description: The total amunt of results to show.
- name: channel_id
description: A channel ID. this is for a singel channel
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: A channel ID. this is for a singel channel
description: A channel ID. This is for a single channel.

2 — A private channel with members that belong to a Zoom account. All members of this channel are from the same organization and must be invited to join.
3 — A public channel. Anyone can search for and join this channel.
4 — An instant channel. This type of channel is created by adding members to a new chat.
5 — A public channel. Anyone can join this channel and invite members from other Zoom accounts.Allowed: 0┃1┃2┃3┃4┃5
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
5 — A public channel. Anyone can join this channel and invite members from other Zoom accounts.Allowed: 0┃1┃2┃3┃4┃5
5 — A public channel. Anyone can join this channel and invite members from other Zoom accounts.

4 — An instant channel. This type of channel is created by adding members to a new chat.
5 — A public channel. Anyone can join this channel and invite members from other Zoom accounts.Allowed: 0┃1┃2┃3┃4┃5
- contextPath: Zoom.Channels.channel_url
description: The URL of the Zoom Chat channel.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: The URL of the Zoom Chat channel.
description: The URL of the Zoom chat channel.

type: string
- name: zoom-list-user-channels
description: >
List the existing channels
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
List the existing channels
List the existing channels.

- name: zoom-list-user-channels
description: >
List the existing channels
in order get user id by user email - use existing command zoom-list-users In order to get user channel by its name customer need to run command zoom-list-user-channels without channel_id param and found what channel_id fits channel name
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
in order get user id by user email - use existing command zoom-list-users In order to get user channel by its name customer need to run command zoom-list-user-channels without channel_id param and found what channel_id fits channel name
In order get the user ID by user email - use the existing command zoom-list-users. In order to get the user channel by its name, run the command zoom-list-user-channels without the channel_id param and find which channel_id fits the channel name.

2: Private channel with members that belong to one Zoom account. Members in this channel should be invited and the members should be from the same organization.
3: Public channel. Anyone can search for this channel and join the channel.
4: Group chat. This is an instant channel which can be created by adding members to a new chat.
Allowed: 1┃2┃3┃4
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Allowed: 1┃2┃3┃4

description: The queried date value.
- contextPath: Zoom.ChatMessage.from
type: date-time
description: The queried from value. (Returned only if the from query parameter is used)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: The queried from value. (Returned only if the from query parameter is used)
description: The queried from value. (Returned only if the from query parameter is used.)

type: date-time
description: The queried from value. (Returned only if the from query parameter is used)
- contextPath: Zoom.ChatMessage.messages
type: array of object
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this type correct? (array of object)
I've never seen that as a type before.

type: date-time
description: The date and time when the message was sent.
- contextPath: Zoom.ChatMessage.messages.files
type: array of object
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this type correct? (array of object)
I've never seen that as a type before.

type: integer
description: The size of the chat file in bytes.
- contextPath: Zoom.ChatMessage.messages.rich_text
type: array of object
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this type correct? (array of object)
I've never seen that as a type before.

@ShirleyDenkberg
Copy link
Contributor

@yuvalbenshalom Doc review completed.

jbabazadeh and others added 7 commits July 2, 2023 21:52
Co-authored-by: ShirleyDenkberg <62508050+ShirleyDenkberg@users.noreply.github.com>
Co-authored-by: ShirleyDenkberg <62508050+ShirleyDenkberg@users.noreply.github.com>
@jbabazadeh jbabazadeh merged commit ad18525 into master Jul 3, 2023
14 checks passed
@jbabazadeh jbabazadeh deleted the jb-zoom-enhancement branch July 3, 2023 14:39
xsoar-bot pushed a commit to xsoar-contrib/content that referenced this pull request Jul 26, 2023
* zoom enhancement commands

* unit tests

* zoom testplaybook

* zoom testplaybook

* zoom format

* fix unit test

* - fix unit test
- add readme and release notes
- fix date function
-fix test playbook

* Update .secrets-ignore

* fix validation

* add test to get userid by email
* add option to find the user id by user email

* add unit tests

* add unit test mesage with file

* add markdown option to zoom send message

* add docstring

* remove unneeded check

* split the markdown function

* remove args_to_datetime_str

* update docker

* flake8 fix

* added unit test

* doc changes

* doc changes

* pre commit

* Apply suggestions from doc review

Co-authored-by: ShirleyDenkberg <62508050+ShirleyDenkberg@users.noreply.github.com>

* Apply suggestions from doc review

Co-authored-by: ShirleyDenkberg <62508050+ShirleyDenkberg@users.noreply.github.com>

Co-authored-by: ShirleyDenkberg <62508050+ShirleyDenkberg@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants