hercules-ci-api-0.8.0.0: Hercules CI API definition with Servant
Safe HaskellSafe-Inferred
LanguageHaskell2010

Hercules.API.Projects

Documentation

type GetJsonWithPreflight a = Get '[JSON] (Headers '[Header "Access-Control-Allow-Origin" Text] a) :<|> Verb 'OPTIONS 204 '[JSON] (Headers '[Header "Access-Control-Allow-Origin" Text, Header "Access-Control-Allow-Headers" Text, Header "Access-Control-Allow-Methods" Text] NoContent) Source #

data ProjectResourceGroup auth f Source #

Constructors

ProjectResourceGroup 

Fields

Instances

Instances details
Generic (ProjectResourceGroup auth f) Source # 
Instance details

Defined in Hercules.API.Projects

Associated Types

type Rep (ProjectResourceGroup auth f) :: Type -> Type #

Methods

from :: ProjectResourceGroup auth f -> Rep (ProjectResourceGroup auth f) x #

to :: Rep (ProjectResourceGroup auth f) x -> ProjectResourceGroup auth f #

type Rep (ProjectResourceGroup auth f) Source # 
Instance details

Defined in Hercules.API.Projects

type Rep (ProjectResourceGroup auth f) = D1 ('MetaData "ProjectResourceGroup" "Hercules.API.Projects" "hercules-ci-api-0.8.0.0-inplace" 'False) (C1 ('MetaCons "ProjectResourceGroup" 'PrefixI 'True) (S1 ('MetaSel ('Just "get") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f :- (Summary "Retrieve a project" :> (auth :> Get '[JSON] Project)))) :*: (S1 ('MetaSel ('Just "getJobs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f :- (Summary "Retrieve information about jobs" :> ("jobs" :> (QueryParam' '[Optional, Description "Constrain the results by git ref, such as refs/heads/my-branch or HEAD"] "ref" Text :> (QueryParam' '[Optional, Description "Only return successful jobs, or only failed ones"] "success" Bool :> (QueryParam' '[Optional, Description "Return jobs that come \"after\" the provided id in the response order."] "offsetId" (Id Job) :> (QueryParam' '[Optional, Description "Return jobs that come \"after\" the provided index in the response order."] "offsetIndex" Int64 :> (QueryParam' '[Optional, Description "Return at most n jobs."] "limit" Int64 :> (auth :> GetJsonWithPreflight PagedJobs)))))))))) :*: S1 ('MetaSel ('Just "getJobSource") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f :- (Summary "Get source information from the latest successful job/jobs satisfying the provided requirements." :> (Description "The job parameter can be omitted to require all jobs for a commit to succeed. This can have the unexpected effect of reverting when a change in the extraInputs causes a regression. So it is recommended to specify one or more jobs. Common examples are \"onPush.default\" for a pinned build or \"onPush.ci\" for a build using extraInputs to integrate continuously." :> ("source" :> (QueryParam' '[Optional, Description "Constrain the results by git ref, such as refs/heads/my-branch. Defaults to HEAD."] "ref" Text :> (QueryParams "jobs" Text :> (auth :> Get '[JSON] ImmutableGitInput)))))))))))

data ProjectsAPI auth f Source #

Constructors

ProjectsAPI 

Fields

Instances

Instances details
Generic (ProjectsAPI auth f) Source # 
Instance details

Defined in Hercules.API.Projects

Associated Types

type Rep (ProjectsAPI auth f) :: Type -> Type #

Methods

from :: ProjectsAPI auth f -> Rep (ProjectsAPI auth f) x #

to :: Rep (ProjectsAPI auth f) x -> ProjectsAPI auth f #

type Rep (ProjectsAPI auth f) Source # 
Instance details

Defined in Hercules.API.Projects

type Rep (ProjectsAPI auth f) = D1 ('MetaData "ProjectsAPI" "Hercules.API.Projects" "hercules-ci-api-0.8.0.0-inplace" 'False) (C1 ('MetaCons "ProjectsAPI" 'PrefixI 'True) (((S1 ('MetaSel ('Just "byProjectId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f :- Substitute ("projects" :> (Capture' '[Required, Strict] "projectId" (Id Project) :> Placeholder)) (ToServantApi (ProjectResourceGroup auth)))) :*: (S1 ('MetaSel ('Just "byProjectName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f :- Substitute ("site" :> (Capture' '[Required, Strict] "site" (Name Forge) :> ("account" :> (Capture' '[Required, Strict] "account" (Name Account) :> ("project" :> (Capture' '[Required, Strict] "project" (Name Project) :> Placeholder)))))) (ToServantApi (ProjectResourceGroup auth)))) :*: S1 ('MetaSel ('Just "projectsByOwner") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f :- (Summary "List all projects owned by an account." :> ("accounts" :> (Capture' '[Required, Strict] "accountId" (Id Account) :> ("projects" :> (auth :> Get '[JSON] [Project]))))))))) :*: ((S1 ('MetaSel ('Just "findProjects") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f :- (Summary "Find projects" :> ("projects" :> (QueryParam' '[Optional] "site" (Name Forge) :> (QueryParam' '[Optional] "account" (Name Account) :> (QueryParam' '[Optional] "project" (Name Project) :> (auth :> Get '[JSON] [Project])))))))) :*: S1 ('MetaSel ('Just "createProject") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f :- (Summary "Create a new project." :> ("projects" :> (auth :> (ReqBody '[JSON] CreateProject :> Post '[JSON] (Id Project)))))))) :*: (S1 ('MetaSel ('Just "patchProject") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f :- (Summary "Modify a project" :> ("projects" :> (Capture' '[Required, Strict] "projectId" (Id Project) :> (ReqBody '[JSON] PatchProject :> (auth :> Patch '[JSON] Project))))))) :*: S1 ('MetaSel ('Just "createUserEffectToken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f :- (Summary "Create a token for local effect execution" :> ("projects" :> (Capture' '[Required, Strict] "projectId" (Id Project) :> (auth :> ("create-user-effect-token" :> Post '[JSON] CreateUserEffectTokenResponse)))))))))) :*: (((S1 ('MetaSel ('Just "findJobs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f :- (Summary "Find jobs" :> ("jobs" :> (QueryParam' '[Optional, Description "Currently only \"github\" or omit entirely"] "site" (Name Forge) :> (QueryParam' '[Optional, Description "Account name filter"] "account" (Name Account) :> (QueryParam' '[Optional, Description "Project name filter. Required if you want to retrieve all jobs"] "project" (Name Project) :> (QueryParam' '[Optional, Description "To get a specific job by index"] "index" Int :> (QueryParam' '[Optional, Description "Number of latest jobs to get, when project name is omitted. Range [1..50], default 10."] "latest" Int :> (auth :> Get '[JSON] [ProjectAndJobs])))))))))) :*: S1 ('MetaSel ('Just "getJobHandlers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f :- (Summary "Get a job's handler declarations, if any." :> (Description "Handlers define what to build and do on events such as onPush, onSchedule." :> ("jobs" :> (Capture' '[Required, Strict] "jobId" (Id Job) :> ("handlers" :> (auth :> Get '[JSON] JobHandlers))))))))) :*: (S1 ('MetaSel ('Just "projectJobEvaluation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f :- (Summary "List all attributes in a job" :> (Description "A list of all attributes that have been produced as part of the evaluation of a job." :> ("jobs" :> (Capture' '[Required, Strict] "jobId" (Id Job) :> ("evaluation" :> (auth :> GetJsonWithPreflight EvaluationDetail)))))))) :*: S1 ('MetaSel ('Just "jobDerivationFailureGraph") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f :- (Summary "Find all failures in an evaluation's derivations" :> (Description "Returns all derivations that have failures in their dependency closures." :> ("jobs" :> (Capture' '[Required, Strict] "jobId" (Id Job) :> ("derivations" :> ("failed" :> (auth :> Get '[JSON] Graph))))))))))) :*: ((S1 ('MetaSel ('Just "jobRerun") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f :- (Summary "Create a new job like this job" :> (Description "The newly created job will be in the same project, have the same inputs but a new evaluation. The response has the newly created job." :> ("jobs" :> (Capture' '[Required, Strict] "jobId" (Id Job) :> ("rerun" :> (QueryParam "rebuildFailures" Bool :> (auth :> Post '[JSON] Job))))))))) :*: S1 ('MetaSel ('Just "jobTriggerOnSchedule") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f :- (Summary "Create a scheduled job to run now, based on a configuration job." :> (Description "This is mostly intended for trying out new scheduled jobs before they are merged. The job is run in the context of the job's branch; not that of the default branch." :> ("jobs" :> (Capture' '[Required, Strict] "jobId" (Id Job) :> ("on-schedule" :> (Capture' '[Required, Strict] "jobName" Text :> ("run" :> (auth :> Post '[JSON] Job))))))))))) :*: (S1 ('MetaSel ('Just "jobCancel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f :- (Summary "Cancel the job and any work that becomes redundant" :> (Description "Some derivations may keep going, if referenced by active jobs." :> ("jobs" :> (Capture' '[Required, Strict] "jobId" (Id Job) :> ("cancel" :> (auth :> Post '[JSON] NoContent)))))))) :*: S1 ('MetaSel ('Just "getEvaluationLog") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f :- (Summary "Read all recorded evaluation log entries" :> ("jobs" :> (Capture' '[Required, Strict] "jobId" (Id Job) :> ("evaluation" :> ("log" :> ("lines" :> (QueryParam' '[Required] "logId" (Id "log") :> (QueryParam' '[Optional] "iMin" Int :> (auth :> Get '[JSON] Log))))))))))))))))

newtype PagedJobs Source #

Constructors

PagedJobs (PagedResponse Job) 

Instances

Instances details
FromJSON PagedJobs Source # 
Instance details

Defined in Hercules.API.Projects

ToJSON PagedJobs Source # 
Instance details

Defined in Hercules.API.Projects

Generic PagedJobs Source # 
Instance details

Defined in Hercules.API.Projects

Associated Types

type Rep PagedJobs :: Type -> Type #

Show PagedJobs Source # 
Instance details

Defined in Hercules.API.Projects

NFData PagedJobs Source # 
Instance details

Defined in Hercules.API.Projects

Methods

rnf :: PagedJobs -> () #

Eq PagedJobs Source # 
Instance details

Defined in Hercules.API.Projects

ToSchema PagedJobs Source # 
Instance details

Defined in Hercules.API.Projects

type Rep PagedJobs Source # 
Instance details

Defined in Hercules.API.Projects

type Rep PagedJobs = D1 ('MetaData "PagedJobs" "Hercules.API.Projects" "hercules-ci-api-0.8.0.0-inplace" 'True) (C1 ('MetaCons "PagedJobs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PagedResponse Job))))