github-tools-0.1.2: web/TokTok/Handlers.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE StrictData #-}
module TokTok.Handlers
( handleEvent
) where
import Data.Text (Text)
import GitHub.Data.Name (Name (..))
import GitHub.Tools.AutoMerge (autoMergePullRequest)
import GitHub.Types (CheckSuite (..), CheckSuiteEvent (..),
Payload (..), Repository (..))
import System.Environment (getEnv)
handleEvent :: Payload -> Maybe (Text, IO ())
handleEvent (CheckSuiteEventPayload (CheckSuiteEvent
{ checkSuiteEventCheckSuite = CheckSuite
{ checkSuiteConclusion = Just "success"
, checkSuiteHeadBranch = branch
}
, checkSuiteEventRepository = Repository{ repositoryName = repo }
})) | branch /= Just "master" =
Just (repo, do
-- Get auth token from the $GITHUB_TOKEN environment variable.
token <- getEnv "GITHUB_TOKEN"
autoMergePullRequest token "TokTok" (N repo))
handleEvent _ = Nothing