Slack Commands to Manage Teams Requirements

Project Title
Target Release
Epic
Document Status
DRAFT
Document Owner

Document Sign-Off
Subject Matter Expert(s)
Technical Expert(s)

Background & Business Value

In order to transition our current Functional Accounts over to Teams we will need a number of slack commands to Manage Teams and other Apigee objects. The Teams feature will not have a user interface in the Apigee Edge Portal (Gateway Admin Portal) so we will need to create commands through Slack in order to do any management of the Teams features as Administrators. We will also need to rewrite a number of commands that work with Developers and Applications in order for them to search for Applications that can either be associated with a Team or an Individual Account.

Goals

Assumptions

  • Slack will be the user interface
  • The commands will be connected to underlying javascript functions which can be reused for other programmatic needs (scheduled jobs, etc).

Out of Scope

Requirements

Ticket(s)TitleUser StoryPriorityNotes

Manage Users in a Team

As an API Gateway Admin, I would like a way to add, remove, and list users within a Team.

See @apibot - team command Requirements

MUST HAVE

Reassign the Admin Role of a Team to another User

As an API Gateway Admin, I would like to be able to reassign the owner of a Team to a new member (in case the owner forgets to do some before leaving the Team).

See @apibot - team command Requirements

MUST HAVE

List All Teams

As an API Gateway Admin, I would to be able to see a list of all Teams. Team names will be used as input in other commands.

See @apibot - team command Requirements

MUST HAVE

Create/Remove a Team

As an API Gateway Admin, I would like to be able to create and remove Teams.

See @apibot - team command Requirements

MUST HAVE

Rename a Team

As an API Gateway Admin, I would like to be able to rename a Team. (Has (question))

See @apibot - team command Requirements

MUST HAVE

Find Teams a Developer Portal User is Associated With

As an API Gateway Admin, I would like to be able to lookup all Teams a Developer Portal User is associated with.

See @apibot - devs command Requirements

MUST HAVE

Search Teams for an Application

As an API Gateway Admin, I would like to be able to search for an Application name or partial name. The results should include the Team name.

See @apibot - apps command Requirements

MUST HAVE

Approve/Deny API Products on App

As an API Gateway Admin, I would like to be able to approve/deny access requests to apps on Teams.

See @apibot - apps command Requirements

MUST HAVE

Move an Application from a Functional Account to a Team

As an API Gateway Admin, for the transition, I would like to be able to "move" (ie. copy) an Application from a Functional Account to a Team.

See @apibot - apps command Requirements

MUST HAVE

Remove an Application from a Functional Account

As an API Gateway Admin, for the transition, I would like to be able to delete an application associated with a functional account.

See @apibot - apps command Requirements

MUST HAVE

User Interaction, Design & Architecture

Examples and References

Questions

Below is a list of questions to be addressed as a result of this requirements document:

QuestionOutcomeDecision Date

Ask Apigee - Using the management REST APi Is there a way to search for an App and the results will tell us if it's assocaited with an individual or a company?

(cross-listed in @apibot - apps command Requirements)