从 powershell / azure devops 触发 azure Webjob

Trigger azure Webjob from powershell / azure devops

是否有任何想法可以说明如何从 azure devops 任务(或通过 azure powershell)触发(或启动)azure web 应用程序 webjob?

谢谢,

编辑:我在 azure devops 中使用 azure cli 任务 它看起来不工作

编辑 2:我的插槽名称有误 @levi-lu-msft Works

的解决方案

您可以使用 Powershell 触发手动 Azure Webapp Webjob。

用户名和密码来自他们的发布配置文件。 (在 Azure 门户中 -> 浏览到你的应用服务 > 单击“获取发布配置文件”)

脚本中的 $username 应该类似于 SomeUserName不是 SomeSite\SomeUserName

$username = "`$username"

$password = "password"

$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username, $password)))

$userAgent = "powershell/1.0"

$apiUrl = "https://<sitename>.scm.azurewebsites.net/api/triggeredwebjobs/<YourWebjobName>/run"

Invoke-WebRequest -Uri $apiUrl -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -UserAgent $userAgent -Method POST -Debug

您可以使用扩展任务 Azure App Services (With WebJob) - Start and Stop 启动 azure web 应用程序 webjob。

您也可以在 ac cli command in the azure cli task 下方 运行 开始网络作业。

az webapp webjob triggered run --name MyWebApp --resource-group MyResourceGroup --webjob-name MyWebjob

您需要通过创建 Azure Resource Manager service connection

将您的 azure devops 连接到 Azure 订阅