# Generated by `sfdt ci init --provider azure --type monitor`.
# A standalone Azure Pipelines definition for scheduled org monitoring.
#
# Required pipeline variables (Pipelines > Library / pipeline variables, secret):
{{authSecretsDoc}}
#   SLACK_WEBHOOK_URL    (optional) Slack incoming webhook
#   TEAMS_WEBHOOK_URL    (optional) Microsoft Teams incoming webhook
schedules:
  - cron: '{{cron}}'
    displayName: SFDT Org Monitoring
    branches:
      include:
        - main
    always: true
pool:
  vmImage: ubuntu-latest
steps:
  - task: NodeTool@0
    inputs:
      versionSpec: '{{nodeVersion}}'
  - script: npm install --global @salesforce/cli
    displayName: Install Salesforce CLI
  {{authSteps}}
  - script: npx --yes @sfdt/cli@latest monitor all --org {{org}} --backup --notify --json
    displayName: Run org monitoring
    env:
      SLACK_WEBHOOK_URL: $(SLACK_WEBHOOK_URL)
      TEAMS_WEBHOOK_URL: $(TEAMS_WEBHOOK_URL)
  # Setup-audit-trail anomalies and critical security changes; exits non-zero
  # on a critical change or a per-user velocity spike.
  # `condition: always()` so a monitor failure does not skip the security audit.
  - script: npx --yes @sfdt/cli@latest audit all --org {{org}} --notify --json
    displayName: Run org audit
    condition: always()
    env:
      SLACK_WEBHOOK_URL: $(SLACK_WEBHOOK_URL)
      TEAMS_WEBHOOK_URL: $(TEAMS_WEBHOOK_URL)
