{-# LANGUAGE OverloadedStrings #-}
module GitLab.API.Notes where
import Data.Text (Text)
import qualified Data.Text as T
import GitLab.Types
import GitLab.WebRequests.GitLabWebCalls
import Network.HTTP.Types.Status
createMergeRequestNote ::
Project ->
Int ->
Text ->
GitLab (Either Status (Maybe ()))
createMergeRequestNote :: Project -> Int -> Text -> GitLab (Either Status (Maybe ()))
createMergeRequestNote Project
project =
Int -> Int -> Text -> GitLab (Either Status (Maybe ()))
createMergeRequestNote' (Project -> Int
project_id Project
project)
createMergeRequestNote' ::
Int ->
Int ->
Text ->
GitLab (Either Status (Maybe ()))
createMergeRequestNote' :: Int -> Int -> Text -> GitLab (Either Status (Maybe ()))
createMergeRequestNote' Int
projectId Int
mergeRequestIID Text
comment =
Text -> Text -> GitLab (Either Status (Maybe ()))
forall b.
FromJSON b =>
Text -> Text -> GitLab (Either Status (Maybe b))
gitlabPost Text
addr Text
dataBody
where
dataBody :: Text
dataBody :: Text
dataBody =
String -> Text
T.pack (String -> Text) -> String -> Text
forall a b. (a -> b) -> a -> b
$
String
"id="
String -> String -> String
forall a. Semigroup a => a -> a -> a
<> Int -> String
forall a. Show a => a -> String
show Int
projectId
String -> String -> String
forall a. Semigroup a => a -> a -> a
<> String
"&merge_request_iid="
String -> String -> String
forall a. Semigroup a => a -> a -> a
<> Int -> String
forall a. Show a => a -> String
show Int
mergeRequestIID
String -> String -> String
forall a. Semigroup a => a -> a -> a
<> String
"&body="
String -> String -> String
forall a. Semigroup a => a -> a -> a
<> Text -> String
T.unpack Text
comment
addr :: Text
addr =
String -> Text
T.pack (String -> Text) -> String -> Text
forall a b. (a -> b) -> a -> b
$
String
"/projects/" String -> String -> String
forall a. Semigroup a => a -> a -> a
<> Int -> String
forall a. Show a => a -> String
show Int
projectId String -> String -> String
forall a. Semigroup a => a -> a -> a
<> String
"/merge_requests/"
String -> String -> String
forall a. Semigroup a => a -> a -> a
<> Int -> String
forall a. Show a => a -> String
show Int
mergeRequestIID
String -> String -> String
forall a. Semigroup a => a -> a -> a
<> String
"/notes"