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 →