Chat jobs should be created asynchronously

With https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/5312 merged we no longer rely on a build ID to produce a response message. This means that we can create the pipeline asynchronously using Sidekiq, preventing us from hitting the 3 second Slack timeout. This basically involves the following steps:

  1. Perform some very basic validation in the request (whatever would be necessary to schedule the job)
  2. Schedule the Sidekiq job
  3. Respond with an empty message as we do now

Should the Sidekiq job fail it should send a message back to the Slack response URL as we do now in the event of .e.g build failures.

Assignee Loading
Time tracking Loading