/
@apibot - apps command Requirements

@apibot - apps command Requirements

Project Title
Target Release
Epic
Document Status
DRAFT
Document Owner

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

Background & Business Value

Goals

Assumptions

  • In all commands that take either a Team Name of Developer Portal User Email as input, <team-name|developer-email>, the type of input given will be determined by looking for an '@' symbol. If an '@' symbol is present, then it is a <developer-email>

Out of Scope

Requirements

Ticket(s)TitleUser StoryPriorityNotes

Search for an ApplicationAs 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 or Developer Email.MUST HAVE
  • @apibot apps search <app-name>
  • What are the rules behind Kevin Wu's partial match right now?
  • Maybe ...
  • Maybe ...
    • Find All Teams (docs)
    • Find All Applications for Teams (docs)
    • Find All Developers (docs)
    • Find All Applications for Developers (docs)
    • Find matching Applications along the way
  • The results should include the Application information as well as if the Application is associated with a Team (and team-name) or Individual (developer-email).

Search on StatusAs an API Gateway Admin, I would like to be able to search for applications by their status.MUST HAVE
  • @apibot apps (no|approved|revoked|pending|all) (docs, keyStatus parameter)
  • This functionality may not be used through slack, but the underlying implementation will be used in scripts which monitor pending API access requests.

Approve/Deny API Products on AppAs an API Gateway Admin, I would like to be able to approve/deny access requests to apps on Teams or Developer Applications.MUST HAVE
  • Update current command(s) to use teams instead
  • @apibot apps (approve|revoke) <team-name|developer-email> <app-name> [api-product-name]
    • Need to first determine if the Application is associated with a Team or Developer Emails. It could be as simple as checking for the '@' symbol in the <team-name|developer-email> value. Or you could use Search for an App above.
    • (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)

Move an Application from a Functional Account to a TeamAs an API Gateway Admin, I would like to be able to "move" (ie. copy) an Application from a Functional Account to a Team.MUST HAVE
  • @apibot apps toteam <team-name|functional-email> <app-name> <team-name|functional-email> (docs)
    • Need to first determine if the Application is associated with a Team or Developer Emails.

Remove an ApplicationAs an API Gateway Admin, I would like to be able to remove/delete an Application from a Team or Developer Account.MUST HAVE
  • @apibot apps remove <team-name|developer-email> <app-name>
  • Maybe ...
    • Use Search for an Application
    • Remove from Team (docs)
    • Remove from Developer Account (docs)

Custom AttributesAs a Gateway Admin, I would want to update Application custom attributes.MUST HAVE
  • @apibot apps attrib key value
  • Should line up with custom attributes that the workflow try to record





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 Slack Commands to Manage Teams Requirements)

Related content

@apibot - devs command Requirements
@apibot - devs command Requirements
More like this
@apibot - team command Requirements
@apibot - team command Requirements
More like this
Slack Commands to Manage Teams Requirements
Slack Commands to Manage Teams Requirements
More like this
Apigee NonMint Company Integration
Apigee NonMint Company Integration
More like this
2019-05-02 Meeting Notes
2019-05-02 Meeting Notes
More like this
2019-05-24 Meeting Notes
2019-05-24 Meeting Notes
More like this