1. 05 Mar, 2018 1 commit
    • Yorick Peterse's avatar
      Added basic implementation of GitLab Chatops · 6c8450aa
      Yorick Peterse authored
      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.
      6c8450aa