Skip to main content

Job API

The job module of the @codebolt/plugin-sdk.

import plugin from '@codebolt/plugin-sdk';

Quick Reference​

MethodDescription
acceptBid
acceptSplitProposal
addBid
addBlocker
addDependency
addLabel
addPheromoneType
addSplitProposal
addUnlockRequest
approveUnlockRequest
createJob
createJobGroup
deleteJob
deleteJobs
deleteSplitProposal
deleteUnlockRequest
depositPheromone
getBlockedJobs
getJob
getPheromones
getPheromonesAggregated
getPheromonesAggregatedWithDecay
getPheromonesWithDecay
getPheromoneTypes
getReadyJobs
isJobLocked
listBids
listJobs
listJobsByPheromone
listLabels
lockJob
rejectUnlockRequest
removeBlocker
removeDependency
removeLabel
removePheromone
removePheromoneType
resolveBlocker
unlockJob
updateJob
withdrawBid

Methods​


acceptBid​

plugin.job.acceptBid(jobId: string, bidId: string): Promise<JobBidAcceptResponse>
ParameterTypeRequiredDescription
jobIdstringYes
bidIdstringYes

Returns: Promise<JobBidAcceptResponse>

Full reference →


acceptSplitProposal​

plugin.job.acceptSplitProposal(jobId: string, proposalId: string): Promise<JobSplitAcceptResponse>
ParameterTypeRequiredDescription
jobIdstringYes
proposalIdstringYes

Returns: Promise<JobSplitAcceptResponse>

Full reference →


addBid​

plugin.job.addBid(jobId: string, bid: AddBidData): Promise<JobBidAddResponse>
ParameterTypeRequiredDescription
jobIdstringYes
bidAddBidDataYes

Returns: Promise<JobBidAddResponse>

Full reference →


addBlocker​

plugin.job.addBlocker(jobId: string, blocker: AddBlockerData): Promise<JobBlockerAddResponse>
ParameterTypeRequiredDescription
jobIdstringYes
blockerAddBlockerDataYes

Returns: Promise<JobBlockerAddResponse>

Full reference →


addDependency​

plugin.job.addDependency(jobId: string, targetId: string, type?: DependencyType): Promise<JobDependencyResponse>
ParameterTypeRequiredDescription
jobIdstringYes
targetIdstringYes
typeDependencyTypeNo

Returns: Promise<JobDependencyResponse>

Full reference →


addLabel​

plugin.job.addLabel(label: string): Promise<JobLabelsResponse>
ParameterTypeRequiredDescription
labelstringYes

Returns: Promise<JobLabelsResponse>

Full reference →


addPheromoneType​

plugin.job.addPheromoneType(data: AddPheromoneTypeData): Promise<JobPheromoneTypeResponse>
ParameterTypeRequiredDescription
dataAddPheromoneTypeDataYes

Returns: Promise<JobPheromoneTypeResponse>

Full reference →


addSplitProposal​

plugin.job.addSplitProposal(jobId: string, proposal: AddSplitProposalData): Promise<JobSplitProposeResponse>
ParameterTypeRequiredDescription
jobIdstringYes
proposalAddSplitProposalDataYes

Returns: Promise<JobSplitProposeResponse>

Full reference →


addUnlockRequest​

plugin.job.addUnlockRequest(jobId: string, request: AddUnlockRequestData): Promise<JobUnlockRequestAddResponse>
ParameterTypeRequiredDescription
jobIdstringYes
requestAddUnlockRequestDataYes

Returns: Promise<JobUnlockRequestAddResponse>

Full reference →


approveUnlockRequest​

plugin.job.approveUnlockRequest(jobId: string, unlockRequestId: string, respondedBy: string): Promise<JobUnlockRequestApproveResponse>
ParameterTypeRequiredDescription
jobIdstringYes
unlockRequestIdstringYes
respondedBystringYes

Returns: Promise<JobUnlockRequestApproveResponse>

Full reference →


createJob​

plugin.job.createJob(groupId: string, data: CreateJobData): Promise<JobCreateResponse>
ParameterTypeRequiredDescription
groupIdstringYes
dataCreateJobDataYes

Returns: Promise<JobCreateResponse>

Full reference →


createJobGroup​

plugin.job.createJobGroup(data: CreateJobGroupData): Promise<JobGroupCreateResponse>
ParameterTypeRequiredDescription
dataCreateJobGroupDataYes

Returns: Promise<JobGroupCreateResponse>

Full reference →


deleteJob​

plugin.job.deleteJob(jobId: string): Promise<JobDeleteResponse>
ParameterTypeRequiredDescription
jobIdstringYes

Returns: Promise<JobDeleteResponse>

Full reference →


deleteJobs​

plugin.job.deleteJobs(jobIds: string[]): Promise<JobDeleteBulkResponse>
ParameterTypeRequiredDescription
jobIdsstring[]Yes

Returns: Promise<JobDeleteBulkResponse>

Full reference →


deleteSplitProposal​

plugin.job.deleteSplitProposal(jobId: string, proposalId: string): Promise<JobSplitDeleteResponse>
ParameterTypeRequiredDescription
jobIdstringYes
proposalIdstringYes

Returns: Promise<JobSplitDeleteResponse>

Full reference →


deleteUnlockRequest​

plugin.job.deleteUnlockRequest(jobId: string, unlockRequestId: string): Promise<JobUnlockRequestDeleteResponse>
ParameterTypeRequiredDescription
jobIdstringYes
unlockRequestIdstringYes

Returns: Promise<JobUnlockRequestDeleteResponse>

Full reference →


depositPheromone​

plugin.job.depositPheromone(jobId: string, deposit: DepositPheromoneData): Promise<JobPheromoneDepositResponse>
ParameterTypeRequiredDescription
jobIdstringYes
depositDepositPheromoneDataYes

Returns: Promise<JobPheromoneDepositResponse>

Full reference →


getBlockedJobs​

plugin.job.getBlockedJobs(filters: JobListFilters): Promise<JobReadyBlockedResponse>
ParameterTypeRequiredDescription
filtersJobListFiltersYes(default: {})

Returns: Promise<JobReadyBlockedResponse>

Full reference →


getJob​

plugin.job.getJob(jobId: string): Promise<JobShowResponse>
ParameterTypeRequiredDescription
jobIdstringYes

Returns: Promise<JobShowResponse>

Full reference →


getPheromones​

plugin.job.getPheromones(jobId: string): Promise<JobPheromoneListResponse>
ParameterTypeRequiredDescription
jobIdstringYes

Returns: Promise<JobPheromoneListResponse>

Full reference →


getPheromonesAggregated​

plugin.job.getPheromonesAggregated(jobId: string): Promise<JobPheromoneAggregatedResponse>
ParameterTypeRequiredDescription
jobIdstringYes

Returns: Promise<JobPheromoneAggregatedResponse>

Full reference →


getPheromonesAggregatedWithDecay​

plugin.job.getPheromonesAggregatedWithDecay(jobId: string): Promise<JobPheromoneAggregatedResponse>
ParameterTypeRequiredDescription
jobIdstringYes

Returns: Promise<JobPheromoneAggregatedResponse>

Full reference →


getPheromonesWithDecay​

plugin.job.getPheromonesWithDecay(jobId: string): Promise<JobPheromoneListResponse>
ParameterTypeRequiredDescription
jobIdstringYes

Returns: Promise<JobPheromoneListResponse>

Full reference →


getPheromoneTypes​

plugin.job.getPheromoneTypes(): Promise<JobPheromoneTypesResponse>

No parameters.

Returns: Promise<JobPheromoneTypesResponse>

Full reference →


getReadyJobs​

plugin.job.getReadyJobs(filters: JobListFilters): Promise<JobReadyBlockedResponse>
ParameterTypeRequiredDescription
filtersJobListFiltersYes(default: {})

Returns: Promise<JobReadyBlockedResponse>

Full reference →


isJobLocked​

plugin.job.isJobLocked(jobId: string): Promise<JobLockCheckResponse>
ParameterTypeRequiredDescription
jobIdstringYes

Returns: Promise<JobLockCheckResponse>

Full reference →


listBids​

plugin.job.listBids(jobId: string): Promise<JobBidListResponse>
ParameterTypeRequiredDescription
jobIdstringYes

Returns: Promise<JobBidListResponse>

Full reference →


listJobs​

plugin.job.listJobs(filters: JobListFilters): Promise<JobListResponse>
ParameterTypeRequiredDescription
filtersJobListFiltersYes(default: {})

Returns: Promise<JobListResponse>

Full reference →


listJobsByPheromone​

plugin.job.listJobsByPheromone(type: string, minIntensity?: number): Promise<JobPheromoneSearchResponse>
ParameterTypeRequiredDescription
typestringYes
minIntensitynumberNo

Returns: Promise<JobPheromoneSearchResponse>

Full reference →


listLabels​

plugin.job.listLabels(): Promise<JobLabelsResponse>

No parameters.

Returns: Promise<JobLabelsResponse>

Full reference →


lockJob​

plugin.job.lockJob(jobId: string, agentId: string, agentName?: string): Promise<JobLockAcquireResponse>
ParameterTypeRequiredDescription
jobIdstringYes
agentIdstringYes
agentNamestringNo

Returns: Promise<JobLockAcquireResponse>

Full reference →


rejectUnlockRequest​

plugin.job.rejectUnlockRequest(jobId: string, unlockRequestId: string, respondedBy: string): Promise<JobUnlockRequestRejectResponse>
ParameterTypeRequiredDescription
jobIdstringYes
unlockRequestIdstringYes
respondedBystringYes

Returns: Promise<JobUnlockRequestRejectResponse>

Full reference →


removeBlocker​

plugin.job.removeBlocker(jobId: string, blockerId: string): Promise<JobBlockerRemoveResponse>
ParameterTypeRequiredDescription
jobIdstringYes
blockerIdstringYes

Returns: Promise<JobBlockerRemoveResponse>

Full reference →


removeDependency​

plugin.job.removeDependency(jobId: string, targetId: string): Promise<JobDependencyResponse>
ParameterTypeRequiredDescription
jobIdstringYes
targetIdstringYes

Returns: Promise<JobDependencyResponse>

Full reference →


removeLabel​

plugin.job.removeLabel(label: string): Promise<JobLabelsResponse>
ParameterTypeRequiredDescription
labelstringYes

Returns: Promise<JobLabelsResponse>

Full reference →


removePheromone​

plugin.job.removePheromone(jobId: string, type: string, depositedBy?: string): Promise<JobPheromoneRemoveResponse>
ParameterTypeRequiredDescription
jobIdstringYes
typestringYes
depositedBystringNo

Returns: Promise<JobPheromoneRemoveResponse>

Full reference →


removePheromoneType​

plugin.job.removePheromoneType(name: string): Promise<JobPheromoneTypeResponse>
ParameterTypeRequiredDescription
namestringYes

Returns: Promise<JobPheromoneTypeResponse>

Full reference →


resolveBlocker​

plugin.job.resolveBlocker(jobId: string, blockerId: string, resolvedBy: string): Promise<JobBlockerResolveResponse>
ParameterTypeRequiredDescription
jobIdstringYes
blockerIdstringYes
resolvedBystringYes

Returns: Promise<JobBlockerResolveResponse>

Full reference →


unlockJob​

plugin.job.unlockJob(jobId: string, agentId: string): Promise<JobLockReleaseResponse>
ParameterTypeRequiredDescription
jobIdstringYes
agentIdstringYes

Returns: Promise<JobLockReleaseResponse>

Full reference →


updateJob​

plugin.job.updateJob(jobId: string, data: UpdateJobData): Promise<JobUpdateResponse>
ParameterTypeRequiredDescription
jobIdstringYes
dataUpdateJobDataYes

Returns: Promise<JobUpdateResponse>

Full reference →


withdrawBid​

plugin.job.withdrawBid(jobId: string, bidId: string): Promise<JobBidWithdrawResponse>
ParameterTypeRequiredDescription
jobIdstringYes
bidIdstringYes

Returns: Promise<JobBidWithdrawResponse>

Full reference →