Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

List All Teams
  • Update current command(s) to use teams instead
  • @apibot apps (approve|revoke) <team-name> <app-name> [api-product-name] (docs)
    • There doesn't seem to be a command to approve/revoke an Application within a Team. You can only approve/revoke either an API Product or the whole Team (docs)
  • @apibot apps (no|approved|revoked|pending|all) (docs, keyStatus parameter)
    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

    Status
    colourGreen
    titlemust have
    @apibot team <team-name> add <developer-email> (docs)
  • @apibot team <team-name> remove <developer-email> (docs)
  • @apibot team <team-name> [list] (docs)


  • Reassign the Admin Role of a Team to another User
    Status
    colourGreen
    titlemust have
    • @apibot team <team-name> owner <developer-email> (docs)

    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

    Status
    colourGreen
    titlemust have
    • @apibot team[s] [list] (docs)
    Move an Application from a Functional Account to a Team

    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

    Status
    colourGreen
    titlemust have
    @apibot apps toteam <functional-email> <app-name> <team-name> (docs)


    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

    Status
    colourGreen
    titlemust have
    • @apibot team <team-name> create <owner-developer-email> (docs)


    Rename a TeamRename a Team

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

    See @apibot - team command Requirements

    Status
    colourGreen
    titlemust have
    You can't rename the "internal name", but you can rename the display name.
  • Are we okay with Display Name not matching the Internal Name (question)
  • @apibot team <team-name> rename <new-team-name> (docs)


  • 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

    Status
    colourGreen
    titlemust have
    • @apibot devs <developer-email> team[s]
    • Maybe ..
      • Find All Teams (docs)
      • Find All Users on Teams (docs)
      • Collect User associations along the way
    Search Teams for an Application

    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

    Status
    colourGreen
    titlemust 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

    Status
    colourGreen
    titlemust 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

    Status
    colourGreen
    titlemust 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

    Status
    colourGreen
    titlemust have

    User Interaction, Design & Architecture

    ...

    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?

    TODO: This all must be moved under Slack Integration - @apibot Project

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