Description
Is there an existing issue that is already proposing this?
- I have searched the existing issues
Is your feature request related to a problem? Please describe it
First of all, thank you for this awesome project.
I was frustrated to write a complex configuration with YAML (monorepo with conditional CI "path"). I was looking for a template engine to write a yaml file. And I found this! Mind blowing.
My configuration currently uses 6 orbs (jobs and command). And I am trying hard to use them with the sdk.
The only documentation is your test suite.
And the only way I found to use this orb job is:
const config = new Config()
const queueOrb = new orb.OrbImport('queue', 'eddiewebb', 'queue', 'volatile', '', {
commands: {},
jobs: {
block_workflow: new parameters.CustomParametersList([
new parameters.CustomParameter('time', 'string'),
new parameters.CustomParameter('only-on-branch', 'string'),
]),
},
executors: {},
})
config.importOrb(queueOrb)
const job = new workflow.WorkflowJob(queueOrb.jobs['block_workflow'], {
time: '15',
'only-on-branch': 'master',
})
const myWorkflow = new Workflow('build', [job])
config.addWorkflow(myWorkflow)
This is not possible to use this (because of job parameter type):
myWorkflow.addJob(job)
Describe the solution you'd like
It would be awesome to have an example of how to use an Orb (job, command, executor).
And it would be great to use addJob
like other jobs.
This is not ideal to declare the workflow at the end, and using a temporary (workflow.WorkflowJobAbstract | Job)[]
array to store the jobs.
Teachability, documentation, adoption, migration strategy
This feature (documentation and addJob compatibility) will unlock some power usage, needed for the audience that needs this sdk
What is the motivation / use case for changing the behavior?
Using an orb job/command/executor as easier as a regular job/command/executor