.rulesrc
example
--- # Rules config file
options:
executeAllRules: true
enableRules: true
enableGroups: false
allRuleResultInOne: false
rules:
# BRANCH
- name: branchName
options:
regexp: '^(fix|feature)/.*'
onError:
- callback: LoggerRunnable
args:
message: 'Branch {{data.branch}} does not begin with fix or feature.'
onSuccess:
- callback: CreatePullRequestRunnable
args:
title: 'WIP: {{data.branch}}'
description: 'Work in Progress Pull Request'
# PULL REQUESTS
- name: pullRequestTitle
options:
regexp: '^(WIP|FIX)\s:.*'
onError:
- callback: CommentPullRequestRunnable
args:
comment: 'ping @bastienterrier'
- name: checkPullRequestStatus
options:
status: reopened
onSuccess:
- callback: SendEmailRunnable
args:
to: bastien.terrier@gmail.com
subject: 'Pull Request #{{data.pullRequest.umber}} reopened '
message: '<b>{{data.pullRequest.title}}</b> has been reopened, please pay attention!'
- name: pullRequestComment
options:
regexp: '^ping @bastienterrier$'
onSuccess:
- callback: LoggerRunnable
args:
type: warn
message: 'Someone ping you!'
# COMMITS
- name: commitMessage
options:
regexp: '^(feat|fix|docs)(\([a-z]+\))?:\s[^(]*(\(#[1-9][0-9]*(?:, #[1-9][0-9]*)*\))?$'
maxLength: 50
onSuccess:
- callback : WebhookRunnable
args:
url: 'https://webhook.site/0123-4567-89ab-cdef'
data: {
user: 'bot',
content: '{{#data.commits}}{{sha}} =
Object: {{matches.1}} | Scope: {{matches.2}} | Issue: {{matches.3}}
{{/data.commits}}'
}
onError:
- callback: LoggerRunnable
args:
message: 'Caution, commit(s): {{#data.commits}}{{sha}},{{/data.commits}} do not respect Good Practices!'
onBoth:
- callback: UpdateCommitStatusRunnable
args:
failTargetUrl: 'https://gist.github.com/stephenparish/9941e89d80e2bc58a153#examples'
successDescriptionMessage: 'Commit message matches the Good Practices!'
failDescriptionMessage: 'Caution, your commit message do not matches the Good Practices!'
- name: checkAddedFiles
options:
regexp: '.*\.exe$'
onSuccess:
- callback: DeleteFilesRunnable
args:
message: 'removing .exe file'
#ISSUES
- name: issueTitle
options:
regexp: '(fix|Fix)\s.*'
onSuccess:
- callback: SendEmailRunnable
args:
to: bastien.terrier@gmail.com
subject: 'New issue (#{{data.issue.number}}) '
message: '<b>{{data.issue.title}}</b> has been created!'
- name: issueComment
options:
regexp: '^ping @bastienterrier$'
onSuccess:
- callback: LoggerRunnable
args:
type: warn
message: 'Someone ping you!'