Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions docs/scenarios/setup.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
-------------------------------------------------------------------------------
SCENARIO: User creates an account in ployst:

- An account record is created in the Ployst global data store.
- (optionally, ployst can send an event message that a user has been created)
- an RSA keypair is generated for the user
(Q: would it work to use a single PLOYST keypair for cloning?)

-------------------------------------------------------------------------------
SCENARIO: User logs in for first time:

<Ployst accounts settings page>

Choose which services you want to associate to your Ployst account:

Github [ Enable ]
Jira [ Enable ]
Sprintly [ Enable ]
Rally [ Enable ]
TargetProcess [ Enable ]
Jenkins [ Enable ]
Travis-CI [ Enable ]


-------------------------------------------------------------------------------
SCENARIO: User sets up Github account

(From user account page, user clicks on Github-enable )

This takes the user to the Github provider settings page (served by the
provider itself)
- the provider at this stage must know about the user. this info can be
part of the URL (user ID).
-----

<Github Provider configuration page>

You haven't set up your github account yet

[Login to Github]

-----
(user login to GH will initiate the oauth dance)

Upon success:
- a GH token is stored as part of the GH provider local data
- the GH provider calls the GH API and obtains a list of repos
- the GH provider gets the user's keypair from Ployst (to set it up in github
and be able to clone repos later)

-------------------------------------------------------------------------------
SCENARIO: User chooses Github repos

<Updated GH provider setup page>

Your github account "txels" has been assimilated.
These are your repos. Select which ones you want ployst to track:
[ ] txels/autojenkins
[ ] pretenders/ployst
[ ] pretenders/pretenders
...

In order to use these repos in ployst, add your ployst's SSH key to your
github account.

[Add SSH Key] <if this can be done via the API>

-----
(User selects repos.)
- The Gh provider notifies Ployst REST API of updated list of repos to track.
Copy link
Member

Choose a reason for hiding this comment

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

Why does core need to know?

- (optionally, Ployst sends messages "repo added", "repo removed")
- GH provider triggers tasks to start cloning repos in the background (using
the user's ployst ssh keys)