Added basic implementation of GitLab Chatops

The chatops solution is built on top of CI pipelines and essentially
acts as a different UI for scheduling pipelines manually. Pipelines
scheduled via chat have access to an environment variable called
"CHAT_INPUT". This variable stores the arguments that were passed to the
chatops command.

Output is retrieved by reading specific trace sections from the build
output. There are two sections supported (in this order):

1. chat_reply
2. build_script

The "chat_reply" is a trace section that one has to generate themselves,
"build_script" in turn is provided by default. The "build_script" trace
section also includes the output of any commands executed in the
"before_script" list. If one doesn't want to display this output they
should generate the custom "chat_reply" trace section.

Responses are sent back via Sidekiq using the ChatNotificationWorker
class. This ensures that existing CI related jobs won't get slowed down
if Slack (or another chat service) is not responding.
95 jobs for chatops in 49 minutes and 49 seconds (queued for 6 seconds)
Status Job ID Name Coverage
  Build
manual #55798117
gitlab-org allowed to fail manual
package-qa
manual #55798118
gitlab-org allowed to fail manual
review-docs-deploy
 
  Prepare
passed #55798120
gitlab-org
compile-assets

00:09:19

passed #55798119
gitlab-org
retrieve-tests-metadata

00:00:37

passed #55798121
gitlab-org
setup-test-env

00:06:36

 
  Test
passed #55798224
codequality

00:08:54

passed #55798213
gitlab-org
db:check-schema-pg

00:05:06

passed #55798211
gitlab-org
db:migrate:reset-mysql

00:04:52

passed #55798210
gitlab-org
db:migrate:reset-pg

00:03:54

passed #55798219
gitlab-org
db:rollback-mysql

00:04:55

passed #55798218
gitlab-org
db:rollback-pg

00:04:25

passed #55798208
gitlab-org
docs lint

00:00:58

passed #55798209
gitlab-org
downtime_check

00:02:55

passed #55798122
gitlab-org
ee-files-location-check

00:02:09

passed #55798222
gitlab-org
gitlab:assets:compile

00:07:02

passed #55798221
gitlab-org
gitlab:setup-mysql

00:05:51

passed #55798220
gitlab-org
gitlab:setup-pg

00:07:18

passed #55798229
gitlab-org
gitlab_git_test

00:00:48

passed #55798223
gitlab-org
karma

00:09:04

57.09%
passed #55798216
gitlab-org
migration:path-mysql

00:09:48

passed #55798214
gitlab-org
migration:path-pg

00:11:55

passed #55798227
gitlab-org
qa:internal

00:08:28

passed #55798228
gitlab-org
qa:selectors

00:11:02

passed #55798162
gitlab-org
rspec-mysql 0 28

00:13:34

passed #55798163
gitlab-org
rspec-mysql 1 28

00:13:57

passed #55798172
gitlab-org
rspec-mysql 10 28

00:16:29

passed #55798173
gitlab-org
rspec-mysql 11 28

00:23:10

passed #55798175
gitlab-org
rspec-mysql 12 28

00:16:06

passed #55798177
gitlab-org
rspec-mysql 13 28

00:17:27

passed #55798180
gitlab-org
rspec-mysql 14 28

00:17:04

passed #55798182
gitlab-org
rspec-mysql 15 28

00:13:29

passed #55798185
gitlab-org
rspec-mysql 16 28

00:15:35

passed #55798188
gitlab-org
rspec-mysql 17 28

00:19:46

passed #55798191
gitlab-org
rspec-mysql 18 28

00:17:19

passed #55798193
gitlab-org
rspec-mysql 19 28

00:16:41

passed #55798164
gitlab-org
rspec-mysql 2 28

00:12:12

passed #55798194
gitlab-org
rspec-mysql 20 28

00:17:39

passed #55798195
gitlab-org
rspec-mysql 21 28

00:14:07

passed #55798196
gitlab-org
rspec-mysql 22 28

00:16:05

passed #55798198
gitlab-org
rspec-mysql 23 28

00:16:28

passed #55798199
gitlab-org
rspec-mysql 24 28

00:17:35

passed #55798200
gitlab-org
rspec-mysql 25 28

00:17:01

passed #55798201
gitlab-org
rspec-mysql 26 28

00:17:27

passed #55798202
gitlab-org
rspec-mysql 27 28

00:17:17

passed #55798165
gitlab-org
rspec-mysql 3 28

00:19:08

passed #55798166
gitlab-org
rspec-mysql 4 28

00:14:54

passed #55798167
gitlab-org
rspec-mysql 5 28

00:15:28

passed #55798168
gitlab-org
rspec-mysql 6 28

00:19:51

passed #55798169
gitlab-org
rspec-mysql 7 28

00:14:06

passed #55798170
gitlab-org
rspec-mysql 8 28

00:12:49

passed #55798171
gitlab-org
rspec-mysql 9 28

00:21:31

passed #55798127
gitlab-org
rspec-mysql-ee 0 2

00:21:38

passed #55798128
gitlab-org
rspec-mysql-ee 1 2

00:18:23

passed #55798130
gitlab-org
rspec-pg 0 28

00:10:46

passed #55798131
gitlab-org
rspec-pg 1 28

00:14:55

passed #55798140
gitlab-org
rspec-pg 10 28

00:19:19

passed #55798141
gitlab-org
rspec-pg 11 28

00:14:47

passed #55798142
gitlab-org
rspec-pg 12 28

00:20:01

passed #55798143
gitlab-org
rspec-pg 13 28

00:13:51

passed #55803583
gitlab-org
rspec-pg 14 28

00:14:12

passed #55798145
gitlab-org
rspec-pg 15 28

00:16:29

passed #55798146
gitlab-org
rspec-pg 16 28

00:14:36

passed #55798148
gitlab-org
rspec-pg 17 28

00:14:30

passed #55798149
gitlab-org
rspec-pg 18 28

00:17:18

passed #55798152
gitlab-org
rspec-pg 19 28

00:27:01

passed #55798132
gitlab-org
rspec-pg 2 28

00:12:29

passed #55798154
gitlab-org
rspec-pg 20 28

00:16:20

passed #55798155
gitlab-org
rspec-pg 21 28

00:17:43

passed #55798156
gitlab-org
rspec-pg 22 28

00:16:32

passed #55798157
gitlab-org
rspec-pg 23 28

00:14:19

passed #55798158
gitlab-org
rspec-pg 24 28

00:22:07

passed #55798159
gitlab-org
rspec-pg 25 28

00:21:44

passed #55798160
gitlab-org
rspec-pg 26 28

00:14:00

passed #55798161
gitlab-org
rspec-pg 27 28

00:19:00

passed #55798133
gitlab-org
rspec-pg 3 28

00:18:21

passed #55798134
gitlab-org
rspec-pg 4 28

00:12:13

passed #55798135
gitlab-org
rspec-pg 5 28

00:16:58

passed #55798136
gitlab-org
rspec-pg 6 28

00:17:20

passed #55798137
gitlab-org
rspec-pg 7 28

00:12:15

passed #55798138
gitlab-org
rspec-pg 8 28

00:11:24

passed #55798139
gitlab-org
rspec-pg 9 28

00:16:24

passed #55798129
gitlab-org
rspec-pg geo

00:06:48

passed #55798124
gitlab-org
rspec-pg-ee 0 2

00:23:38

passed #55798126
gitlab-org
rspec-pg-ee 1 2

00:22:05

passed #55798225
sast

00:07:54

passed #55798205
gitlab-org
spinach-mysql 0 2

00:14:47

passed #55798206
gitlab-org
spinach-mysql 1 2

00:20:41

passed #55798203
gitlab-org
spinach-pg 0 2

00:16:33

passed #55798204
gitlab-org
spinach-pg 1 2

00:13:55

passed #55798207
gitlab-org
static-analysis

00:05:14

failed #55798144
gitlab-org
rspec-pg 14 28

00:22:43

 
  Post Test
passed #55798231
gitlab-org
coverage

00:02:53

95.09%
failed #55798230
gitlab-org allowed to fail
flaky-examples-check

00:01:13

passed #55798232
gitlab-org
lint:javascript:report

00:03:17

 
  Post Cleanup
manual #55798233
gitlab-org allowed to fail manual
review-docs-cleanup
 
Name Stage Failure
failed
flaky-examples-check Post Test
    "description": "Discussion Comments Issue behaves like discussion comments when the toggle is clicked has a \"Comment\" item (selected by default) and \"Start discussion\" item",
"last_attempts_count": 2,
"flaky_reports": 1,
"first_flaky_at": "2018-03-05 18:00:14 +0000",
"last_flaky_at": "2018-03-05 18:00:14 +0000",
"last_flaky_job": "https://gitlab.com/gitlab-org/gitlab-ee/-/jobs/55798191"
}
}
ERROR: Job failed: exit code 1