Safe Haskell | None |
---|
Jenkins REST API interface internals
- newtype Jenkins a = Jenkins {}
- data JenkinsF a where
- Get :: Method Complete f -> (ByteString -> a) -> JenkinsF a
- Post :: (forall f. Method Complete f) -> ByteString -> (ByteString -> a) -> JenkinsF a
- Conc :: Jenkins a -> Jenkins b -> (a -> b -> c) -> JenkinsF c
- IO :: IO a -> JenkinsF a
- With :: (Request -> Request) -> Jenkins b -> (b -> a) -> JenkinsF a
- Dcon :: JenkinsF a
- liftJ :: JenkinsF a -> Jenkins a
- data ConnectInfo = ConnectInfo {}
- data Result e v
- = Error e
- | Disconnect
- | Result v
- runJenkins :: ConnectInfo -> Jenkins a -> IO (Result HttpException a)
- runJenkinsThrowing :: ConnectInfo -> Jenkins a -> IO (Result e a)
- runJenkinsInternal :: ConnectInfo -> Jenkins a -> IO (Maybe a)
- _Error :: Prism (Result e a) (Result e' a) e e'
- _Disconnect :: Prism' (Result e a) ()
- _Result :: Prism (Result e a) (Result e b) a b
- iterJenkinsIO :: Manager -> Jenkins a -> MaybeT (ReaderT Request (ResourceT IO)) a
- iterJenkins :: Monad m => (JenkinsF (m a) -> m a) -> Jenkins a -> m a
- interpreter :: Manager -> JenkinsF (MaybeT (ReaderT Request (ResourceT IO)) a) -> MaybeT (ReaderT Request (ResourceT IO)) a
- defaultConnectInfo :: ConnectInfo
- jenkinsUrl :: Lens' ConnectInfo String
- jenkinsPort :: Lens' ConnectInfo Int
- jenkinsUser :: Lens' ConnectInfo Text
- jenkinsApiToken :: Lens' ConnectInfo Text
- jenkinsPassword :: Lens' ConnectInfo Text
Documentation
Jenkins REST API query sequence description
Jenkins REST API query
Get :: Method Complete f -> (ByteString -> a) -> JenkinsF a | |
Post :: (forall f. Method Complete f) -> ByteString -> (ByteString -> a) -> JenkinsF a | |
Conc :: Jenkins a -> Jenkins b -> (a -> b -> c) -> JenkinsF c | |
IO :: IO a -> JenkinsF a | |
With :: (Request -> Request) -> Jenkins b -> (b -> a) -> JenkinsF a | |
Dcon :: JenkinsF a |
data ConnectInfo Source
Jenkins connection settings
_jenkinsApiToken
may be user's password, Jenkins
does not make any distinction between these concepts
ConnectInfo | |
|
The result of Jenkins REST API queries
Error e | Exception |
Disconnect | The client was explicitly disconnected |
Result v | Querying successfully finished the with value |
runJenkins :: ConnectInfo -> Jenkins a -> IO (Result HttpException a)Source
Query Jenkins API using Jenkins
description
Successful result is either Disconnect
or
Result
v
If HttpException
was thrown by http-conduit
, runJenkins
catches it
and wraps in Error
. Other exceptions are not catched
runJenkinsThrowing :: ConnectInfo -> Jenkins a -> IO (Result e a)Source
Query Jenkins API using Jenkins
description
Successful result is either Disconnect
or
Result
v
No exceptions are catched, i.e.
runJenkinsThrowing ::ConnectInfo
->Jenkins
a ->IO
(Result
Void
a)
runJenkinsInternal :: ConnectInfo -> Jenkins a -> IO (Maybe a)Source
_Disconnect :: Prism' (Result e a) ()Source
A prism into disconnect
iterJenkins :: Monad m => (JenkinsF (m a) -> m a) -> Jenkins a -> m aSource
interpreter :: Manager -> JenkinsF (MaybeT (ReaderT Request (ResourceT IO)) a) -> MaybeT (ReaderT Request (ResourceT IO)) aSource
JenkinsF
AST interpreter
defaultConnectInfo :: ConnectInfoSource
Default Jenkins connection settings
defaultConnectInfo = ConnectInfo { _jenkinsUrl = "http://example.com/jenkins" , _jenkinsPort = 8080 , _jenkinsUser = "jenkins" , _jenkinsApiToken = "" }
jenkinsUrl :: Lens' ConnectInfo StringSource
A lens into Jenkins URL
jenkinsPort :: Lens' ConnectInfo IntSource
A lens into Jenkins port
jenkinsUser :: Lens' ConnectInfo TextSource
A lens into Jenkins user
jenkinsApiToken :: Lens' ConnectInfo TextSource
A lens into Jenkins user API token
jenkinsPassword :: Lens' ConnectInfo TextSource
A lens into Jenkins password
jenkinsPassword = jenkinsApiToken