Skip to content

Commit

Permalink
cEP-0024.md: GitMate Plugins
Browse files Browse the repository at this point in the history
Closes #141
  • Loading branch information
Vamshi99 committed May 14, 2018
1 parent c1a4b7e commit 0bbfc37
Showing 1 changed file with 95 additions and 0 deletions.
95 changes: 95 additions & 0 deletions cEP-0024.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Implement GitMate automations and plugins for coala

| Metadata | |
| -------- | ----------------------------------------------------- |
| cEP | 24 |
| Version | 1.0 |
| Title | Implement Gitmate automations and plugins for coala |
| Authors | Vamshi Krishna Bommerla <mailto:[email protected]> |
| Status | Proposed |
| Type | Process |

## Abstract

This cEP describes the details of the process of creating new automations and
plugins in GitMate which helps coala development workflow, as a part of the
[GSoC project](https://summerofcode.withgoogle.com/projects/#5344316227059712).

## Introduction

[GitMate](https://gitmate.io/) is an automation tool for developers. While it
works well, there area number of plugins which saves a lot of time of our
community(for example automatically close PRs from master). Many of them are
general plugins, which are required by every org, but we need more plugins
which support coala development workflow.

## New Features

### Auto-assign issue based on commit mention

When a commit mentions(fixes, closes) a unassigned issues, auto assign
commit author to the mentioned unassigned issues.

### Auto-reject PR opened on master of forks

Normally, we should make changes in different branch from master of forks, and
submit a PR. But, sometimes we receive PRs from master of forks. To solve this
problem, we need a mechanism by which gitmate automatically rejects those PR’s,
and inform the PR author to work on a different branch.

### Auto-mark PR with necessary labels as per the reviews done

When a reviewer reviews a PR, he either approves changes or request changes or
comments something and leaves it there, but PR would be still in the review
queue, so there should be an automation to mark approve label if reviewer
approves changes and mark WIP if reviewer requests changes or comments on the
source code when there is CI failure.

### Fixes vs Closes automated checking

Our members often confuse when we should use `Fixes` or `Closes` on a commit.
So, GitMate should automatically check every commit for issues which is being
Fixed or Closed, if those issues have bug label(label will be configurable),
`Fixes` should be used, and vice versa. If there is an error, gitmate commit
review should fail and inform the PR author how to fix it.

### Add support to ban/blacklist a user

Sometimes, there will be members in the organisation, misusing the rights,
violating the code of conduct, disturbing our workflow. It will definitely take
some time to fix that security issue, bearing that user until then, there will
be a lot of pain. So, a plugin to ban a user from using GitMate further and
removing his rights at that very moment will be helpful. Ban user plugin,
which can be configured in gitmate UI will be created within this project.
Removing that user from the org will be configurable.

### Assign Plugin

Assign issue when a user comments on an issue requesting for an `assignment`
to that issue. Will support settings for each team like limit team to work on
issues with specific set of labels, limit number of issues of specified label,
a team member can work on. corobo does all these things, but it is based just
on gitter messages and corobo is used in coala only, but gitmate is based on
github, used by many other users and is more configurable.

```
Settings:
Team - newcomer
Label - newcomer Limit - 1
Label - low Limit - 2
Team 2....
```

```
> @gitmate-bot assign
@user, you have been assigned
```

### Auto-review merge conflicts

Check for merge conflicts in a PR, if there are any conflicts, mark PR with
a certain label(configurable) and post a message(configurable) as a comment
on the PR.

0 comments on commit 0bbfc37

Please sign in to comment.