-
Notifications
You must be signed in to change notification settings - Fork 53
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Closes #141
- Loading branch information
Showing
1 changed file
with
90 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |