Giter VIP home page Giter VIP logo

mps-code-reviewer's Introduction

MPS Code Review Build Status

A code review plugin for MPS providing basic review interaction, in-line comment viewing, and node-specific comments.

Features

  • Configurable connection to Bitbucket pull requests from within MPS
  • Reviewer tool showing pull request details and activities.
  • Toggleable inline comment view
  • Submit comments to a pull request
  • Commenting on the currently selected node.

Plugin Use

The plugin binaries can be found here.

  • Select the latest version and download git4mps.zip and com.workday.mps.review.zip
  • Open MPS's properties window and select Plugins.
  • Click the gear option to the right of the "Updates" tab and select "Install Plugin from Disk".
  • Navigate to and select the two artifacts you previously downloaded (git4mps.zip and com.workday.mps.review.zip)
  • Restart MPS

The review tool will be enabled in the right-hand sidebar. It will not do anything until it is properly configured in:

Preferences -> Other Settings -> Reviewer

Getting Started (Contributors)

Read our contribution guidelines before making changes to the project. Substantial contributions will require a Contributor License Agreement before a pull request can be merged.

Prerequisites

MPS or an MPS-based IDE

Installing

After cloning the repository, run gw setup. This will download all necessary libraries for development and build.

Open the project folder using MPS and rebuild the project. Once this has completed you should see the Reviewer tool in the sidebar.

If you wish to connect to a review, enter information in

Preferences -> Other Settings -> BitbucketCodeReviewConfiguration

Note: Providing Pull Request ID overrides all requests to work with the specified pull request. This is useful for performing testing when working within the project.

Deployment

Running gw build will build the following two MPS plugins as zip files:

dist/build/artifacts/reviewPlugin/com.workday.yp.review.zip
dist/build/artifacts/reviewPlugin/com.workday.yp.review.git.zip

Once the plugins are built, gw install will install or update the plugins. Subsequently, gw uninstall will uninstall the plugins.

Built With

  • Mbeddr Platform - MPS library providing tons of awesome features. In particular, we are using Conditional Editors to provide the inline comment view.

Contributing

Read our contribution guidelines for details on contributions and pull requests.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the Apache 2.0 License - see the LICENSE.md file for details

mps-code-reviewer's People

Contributors

bkolb avatar szabta89 avatar tyler-hodgkins-wd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mps-code-reviewer's Issues

Feature: Approve/Needs Work/Decline Review

A user should be able to approve, decline/reopen, or request additional work on a review using the plugin.

This should be exposed as a trio (+/-) of buttons in the top-right-hand corner of the Active Review View (on the same line as the branch status).

When clicking one of the options, a popup should show giving the user a chance to enter an approval message.

Some hosts may not allow certain actions, this should be configurable via a new method on ReviewHostDefinition.

Discussion:
Should decline/reopen be exposed on the top-level UI, or should it be hidden inside a "additional options" dropdown? Bitbucket takes this approach - declining affects the overall state of the PR, not just what states it can transition to.

GitHub support

One of the main goals of this project is to support multiple review backends with the basic functionality of commenting & approval. A next step would be to implement GitHub.

This would entail implementing at least the following:

  • GitHubConnection (how to interface with the API)
  • Preferences (configure the connection)

Test if connection works

It would be nice to have an action in the preference page to test if the connection can be established

Builds should enforce java 11

Add safeguards to the build.gradle script to enforce the use of java 11 instead of failing later with cryptic error messages.

gradle install task is broken

The paths of the zip files are wrong in the gradle file, which results in a build failure when running the install task.

Branch null if not changed

It seems that the gitChangeListener in the RefreshAction can be installed to late. This leads to the fact that it is not called and thus the currentGitBranch is null until I change the branch explicitly

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.