Jfrog Pipelines support automatic triggers through webhooks, REST API based triggers, as well as manual triggers through the UI.
Jfrog Pipelines also provides you the ability to schedule a Pipeline to be triggered at specific date/times, or at a recurring interval.
You can use the
cronTrigger resource of JFrog Pipelines to achieve the functionality scheduled triggers in your workflow.
Before starting I would like to quickly tell you about JFrog Pipelines key concepts which would help you understand this better.
|Pipeline||It is a collection of interconnected serial or parallel steps required to achieve an outcome|
|Steps||Steps are the executable units of your pipelines that can execute any DevOps activity|
|Integrations||Integrations contain credentials to third-part tools/services such as AWS, slack, Github, etc.,|
|Resources||Resources contain information required to execute steps|
|Run||Run is an instance of pipeline execution|
cronTrigger resource provides cron-like functionality. It is used to trigger a build in a cron-like manner.
You can define the resource in your yaml config file as:
- name: cron #friendly name to remember type: CronTrigger configuration: interval: "*/2 * * * *" #follows the standard Cron format
This resource can be used as an inputResource to a step in pipeline as follows:
steps: - name: bash_1 type: Bash configuration: inputResources: - name: github - name: cron #created CronTrigger resource name execution: onExecute: - echo "executing bash step."
If the CronTrigger typed resource is given as Input to a step then it gets triggered at the recurring interval or at a specific date as depends on what you configure in
A new run will be created every time the step is triggered.
In my example, this
bash_1 step will be triggered by
cron resource in every 2 minutes as shown in the below screenshot:
You can also schedule to trigger this on a particular day by just updating the
interval in the resource definition as per cron syntax.
Hope this helps. :)