Search code examples
azureazure-devopsazure-webjobs-triggered

How to disable or stop and enable the scheduler Jobs in Azure from VSTS PowerShell scripts?


PFA 6 PFA 2 PFA 3 PFA PFA 4 PFA 5 I have some triggered jobs running in Azure. I have created scheduler jobs for those jobs in Azure so that whenever I disable it will stop running the triggered jobs instead of killing. But I want to disable those scheduler jobs from VSTS using plugin or Powershell script. I can stop and start Continuous webjobs using Powershell scripts but triggered jobs/scheduler jobs I am not sure how to disable using Powershell/Plugins/Tasks from VSTS definitions.


Solution

  • You can add an Azure Powershell Script Task and add the script below to Enable/Disable the scheduler jobs:

    Set the Job to "Disabled":

    Set-AzureRmSchedulerHttpJob -ResourceGroupName ABC -JobCollectionName ABC -JobName ABC -JobState Disabled
    

    Set the Job to "Enabled":

    Set-AzureRmSchedulerHttpJob -ResourceGroupName ABC -JobCollectionName ABC -JobName ABC -JobState Enabled
    

    If you want to enable/disable the JobCollection, you can use Enable-AzureRmSchedulerJobCollection and Disable-AzureRmSchedulerJobCollection Command:

    Enable-AzureRmSchedulerJobCollection -ResourceGroupName ABC -JobCollectionName ABC
    

    Use the script below:

    $JobC = Get-AzureRmSchedulerJobCollection -ResourceGroupName jobcollection -JobCollectionName jobcollection
    
    If ($JobC.State -eq "Enabled")
    {
        Write-Host "JobCollection is enabled, disabling it..."
        Disable-AzureRmSchedulerJobCollection -ResourceGroupName jobcollection -JobCollectionName jobcollection
        Write-Host "JobCollection is disabled now."
    }
    Else
    {
        Write-Host "JobCollection has already been disabled."
    }