Quick actions to associate/disassociate zoom meetings with issues
Problem to solve
Synchronous collaboration is a critical part of any fire-fight. We are streamlining the number of steps it takes to spin up a conference bridge and engage all required parties by embedding this functionality, using Zoom, directly in an issue. Starting a zoom call from an issue should be as easy as it is in Slack using a slash command so we are going to build a quick action that does exactly that so that users can stay focused on the issue at hand while pulling in teammates to problem solve.
Intended users
Sasha the Software Developer
Devon the DevOps Engineer
Sidney the Systems Administrator
Further details
This work contributes to the Incident Management Vision
Technical Constraints
It was recommended by the Zoom reps, that we not pursue the JWT integration path, as they are attempting to move away from that path and it is geared more towards server-to-server integrations that are bound to the specific account.
This will require us to look at (the recommended path) OAuth based integration, which will require us to create an app on the Zoom marketplace. Additionally, Zoom has already created an GitLab integration in their marketplace, which they have asked us to maintain the existing functionality to support any users who are currently utilizing the existing integration while we work to implement additional GitLab functionality.
They suggested we utilize the account-level
OAuth integration path, instead of the user-level
path, as it will allow us to implement a solution that addresses our specific use-cases (tightly integrating Zoom in GL issues), however it will require significantly more development efforts.
NOTE: we CAN implement a new marketplace app as an interim process, but they would like us to eventually support existing functionality in our new app.
There is also some additional complexity in the way that Zoom integrations work that will require more work on our side to support both our Cloud and Self Managed customers with the same integration.
MVC - Proposal
Create quick actions that supports interacting with zoom meetings on an issue directly.
-
Add Existing Zoom Meeting to an Issue
User pastes an existing Zoom URL into a comment. After the user clicks the "Comment" button, the pinned Zoom embed is added under the issue description and the comment resolves. A system note appears letting the user know that a zoom call has been added to the issue by the user who executed the command.- User adds a Zoom meeting using the
/zoom
quick action. The user is prompted to add the specific ZoomMeeting ID
. After the user clicks the "Comment" button, the pinned Zoom embed is added under the issue description and the comment resolves. A system note appears letting the user know that a zoom meeting has been added to the issue by the user who executed the command. A system alert appears letting the user know that the meeting has been added to the Issue. - User is only allowed to attach a single Zoom meeting to an issue. If the user attempts to add another Zoom meeting using the
/zoom
quick action, a system alert appear letting the user know thatA Zoom Meeting already exists on this issue.
.
-
Remove Existing Zoom Meeting from an Issue
- User removes a Zoom meeting using the
/remove_zoom
quick action. Once the user has committed the comment, the the pinned Zoom embed is removed under the issue description. A system note appears letting the user know that the Zoom meeting has been removed to the issue by the user who executed the command. A system alert appears letting the user know that the meeting has been removed from the Issue.
- User removes a Zoom meeting using the
-
Deprecate the ability to pin embed a Zoom URL in the Issue description
- Right now, users can include a zoom link in the description of an issue and it resolves a button at the top.
In the future, we will want users to use the quick actions instead of pasting directly in the description so that they can remove it with a quick action.Any Zoom meeting added to an issue description should not generate a pinned embed at the top of an issue.
- Right now, users can include a zoom link in the description of an issue and it resolves a button at the top.
Permissions and Security
Documentation
Testing
What does success look like, and how can we measure that?
Links / references
/label ~feature