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

Hercules.API.Projects

Documentation

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.7.2.1-inplace" 'False) (C1 ('MetaCons "ProjectResourceGroup" 'PrefixI 'True) (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) :> (auth :> Get '[JSON] 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.7.2.1-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 SourceHostingSite) :> ("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 SourceHostingSite) :> (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 SourceHostingSite) :> (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 "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 :> Get '[JSON] 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 "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.7.2.1-inplace" 'True) (C1 ('MetaCons "PagedJobs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PagedResponse Job))))