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 12, 2018
1 parent c1a4b7e commit 561724a
Showing 1 changed file with 90 additions and 0 deletions.
90 changes: 90 additions & 0 deletions cEP-0024.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# 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) an issue, auto assign 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 and either he approves changes or request changes
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.

### 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.

```
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 and give link to documentation on how to fix it.

0 comments on commit 561724a

Please sign in to comment.