• 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
slack.rb 3.64 KB