Skip to content
This repository has been archived by the owner on Mar 17, 2021. It is now read-only.

Pull request plugin for Che's Theia #778

Closed
4 tasks
ibuziuk opened this issue Jul 30, 2018 · 21 comments
Closed
4 tasks

Pull request plugin for Che's Theia #778

ibuziuk opened this issue Jul 30, 2018 · 21 comments

Comments

@ibuziuk
Copy link
Member

ibuziuk commented Jul 30, 2018

Need to create PR plugin for Che's Theia with minimal functionality and contribute it upstream. PR should be very simple and have minimal functionality / UI. After discussing this task with @evidolob it was decided to implement smth similar to VSCode GitHub plugin:

  • User installs PR plugin (initially only GitHub will be supported)
  • User generates personal access token on GitHub and set it via the command palette by executing dedicated command e.g. PR: Set Personal Access Token for GitHub. There also would be some notification regarding this:

image

  • User presses GitHub related button on the outline view that was added by the PR plugin

image

  • Command pallete is opened and asks via QuickOpenService in which branch does the user want to send a PR
  • Once user picks the branch the pop-up is shown where PR description should be provided.
  • Once PR description is provided and user presses OK button - PR is send and notification with the link to the PR is shown
  • On the GitHub PR description would contain factory link to review the PR. Example: test-slm che-samples/web-java-spring-petclinic#31 (Once 'Ok' button is pressed from the previous step, under the hood the factory is created and link to it is added to PR description)

NOTE:
in the first iteration it is planned that:

  • PRs would be always send from the current branch (no possibility to pick branch)
  • PRs would be always send to the origin remote, or if there is only one remote exist than in that one (no possibility to pick remote)

Investigation tasks:

@ibuziuk
Copy link
Member Author

ibuziuk commented Jul 30, 2018

@slemeur @l0rd @evidolob could you please review this epic and comment if having this basic functionality would be enough to meet J train goal for initial contribution of Che's Theia PR plugin ? If all looks good I will start creating sub-tasks

@slemeur
Copy link

slemeur commented Jul 30, 2018

Sounds good @ibuziuk !

Just one comment, in the PR we are setting up, we need the user to provide a description and we will also put the factory link to review the PR.
Example: che-samples/web-java-spring-petclinic#31

@ibuziuk
Copy link
Member Author

ibuziuk commented Jul 31, 2018

@slemeur thanks for review. Description & factory link have been added to this epic

@slemeur
Copy link

slemeur commented Jul 31, 2018

BTW, I think we already have some GitHub extension: https://github.com/eclipse/che-theia-github-plugin

@ibuziuk
Copy link
Member Author

ibuziuk commented Jul 31, 2018

@slemeur hmm.. I was not aware of this extension
@benoitf @evidolob could you please provide some info about it (maybe there is some demo) ? how different is it from the plugin description from this issue ? Should we start from scratch or it would be better to use https://github.com/eclipse/che-theia-github-plugin as a basement e.g. using the same UI / GitHub lib etc.

@evidolob
Copy link

@ibuziuk https://github.com/eclipse/che-theia-github-plugin looks like just library extension, it's provide only integration with @octokit/rest library and expose some functionality to frontend(browser) side. You can add pull request flow to it or use it as library in your pull request extension.

@ibuziuk
Copy link
Member Author

ibuziuk commented Jul 31, 2018

@evidolob ok, thanks for the info - we would probably need to do some investigation first.
@benoitf do you happen to know if there are any docs / instructions how to add this plugin to Theia (Readme does not contain any relevant info) ?

@ibuziuk
Copy link
Member Author

ibuziuk commented Jul 31, 2018

@evidolob could you please take a look at the investigation tasks I have added to the description which we are planning to add to the next sprint? maybe you have any suggestions? Also in terms of docs I believe we could use in order to start:

@evidolob
Copy link

evidolob commented Aug 1, 2018

@ibuziuk investigation tasks LGTM, but my concern is terminology:
do you create Theia extension or plugin? Currently Theia has two models:

  1. Theia extension, native extensibility model
  2. Theia plugin, VSCode like extensibility model(which IDE2 team implementing now)

@ibuziuk
Copy link
Member Author

ibuziuk commented Aug 1, 2018

@evidolob plugin of course ;-)
but good question about terminology: https://github.com/eclipse/che-theia-github-plugin is it extension or plugin (in naming there is a 'plugin' part and in readme it is referred as an 'extention' ) ? AFAIK extention model is considered to be obsolete and new plugin model should be used instead

@evidolob
Copy link

evidolob commented Aug 1, 2018

https://github.com/eclipse/che-theia-github-plugin is a Theia extension :)
In case that you want to write plugin, you cannot use che-theia-github-plugin, you can use @octokit/rest library.
AFAIK che-theia-github-plugin was created before we start work on plugins, so yes name is confusing

@slemeur
Copy link

slemeur commented Aug 1, 2018

would it be relevant to keep the che-theia-github-plugin then? I think the scope describe in this issue is covering the capabilities available in che-theia-github-plugin, or should it combine its current capabilities with the ones list in the issue?

@evidolob
Copy link

evidolob commented Aug 1, 2018

I guess not, I like idea to have one Theia plugin with all GitHub related functionality

@slemeur
Copy link

slemeur commented Aug 1, 2018

yes I agree :)

@ibuziuk
Copy link
Member Author

ibuziuk commented Aug 1, 2018

@slemeur What we were planning to do initially is to write new PR plugin from scratch using new Theia plugin model and than existing GitHub extension [1] was mentioned in the issue which introduced some confusion.

[1] https://github.com/eclipse/che-theia-github-plugin

@benoitf
Copy link
Contributor

benoitf commented Aug 1, 2018

Documentation on Theia plug-ins is "in progress", PR was made there eclipse-theia/theia-website#10

@ibuziuk
Copy link
Member Author

ibuziuk commented Aug 1, 2018

@slemeur @l0rd We are planning to take the following issues to the sprint. Please, comment if those look good:

@slemeur
Copy link

slemeur commented Aug 1, 2018

That sounds a reasonable approach.

@l0rd
Copy link
Contributor

l0rd commented Aug 1, 2018

👍

@ibuziuk
Copy link
Member Author

ibuziuk commented Aug 1, 2018

thanks for the input - issues are in the sprint

@ibuziuk
Copy link
Member Author

ibuziuk commented Jul 30, 2019

Closing as outdated

@ibuziuk ibuziuk closed this as completed Jul 30, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants