On-demand DAST scan scheduler > Implement schedules form section

Why are we doing this work

We're adding a new section to the on-demand scans form to let user define schedules for their scans. In this first frontend iteration, we're only adding the bare minimum to trigger a single scheduled scan. In the next iteration, we'll add the ability to setup recurring schedules.

Relevant links

Non-functional requirements

  • Documentation:
  • Feature flag:
  • Performance:
  • Testing:

Implementation plan

  • Add the schedules sections.
    • It's a card containing a few fields.
    • A checkbox, unchecked by default, controls whether schedules are enabled or not for the scan.
    • All other fields are disabled as long as the checkbox is unchecked.
    • A dropdown lets users select the timezone for their schedule.
    • A datepicker input to select the date.
    • A timepicker to define the time.
      • We might need to implement a timepicker component as we don't seem to have one at the moment.
    • A Repeats dropdown field has the following options:
      • Every day
      • Every week
      • Every month
      • Every 3 months
      • Every 6 months
      • Every year
  • User input needs to be persisted to the local storage in case they leave the form and come back to it to finish filling it out.
  • When saving the scan, the dastProfileCreate mutation is triggered and sends the correct variables to the API.
  • When editing a scan, the schedules section needs to be populated with previously stored settings.
  • When saving the scan, the dastProfileUpdate mutation is triggered and sends the correct variables to the API.
Edited by Paul Gascou-Vaillancourt