从powershell/azure devops触发azure Webjob

从powershell/azure devops触发azure Webjob,azure,azure-devops,azure-webjobs,Azure,Azure Devops,Azure Webjobs,有没有任何方法可以显示如何从azure devops任务(或通过azure powershell)触发(或启动)azure web app webjob 谢谢, 编辑:我在azure devops中使用azure cli任务 看起来没用 编辑2:我的插槽名称错了 @levi lu msft的解决方案有效您可以使用Powershell手动触发Azure Webapp Webjob 用户名和密码来自其发布配置文件。(在Azure门户->浏览到您的应用程序服务>单击“获取发布配置文件”) 脚本中的$u

有没有任何方法可以显示如何从azure devops任务(或通过azure powershell)触发(或启动)azure web app webjob

谢谢,

编辑:我在azure devops中使用azure cli任务 看起来没用

编辑2:我的插槽名称错了
@levi lu msft的解决方案有效

您可以使用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
$username=“`$username”
$password=“password”
$base64AuthInfo=[Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(“{0}:{1}”-f$username,$password)))
$userAgent=“powershell/1.0”
$apiUrl=”https://.scm.azurewebsites.net/api/triggeredwebjobs//run"
调用WebRequest-Uri$apirl-Headers@{Authorization=(“基本{0}”-f$base64AuthInfo)}-UserAgent$UserAgent-Method-POST-Debug

您可以使用扩展任务启动azure web app webjob

您也可以在中运行下面的以启动webjob

az webapp webjob触发运行--名称MyWebApp--资源组MyResourceGroup--webjob名称MyWebjob


您需要通过创建一个

将azure devops连接到azure订阅。感谢您的回复,此命令不能与手动webjob一起运行?@QuentinMerlin要运行特定的触发webjob,您可以尝试使用
az webapp webjob触发运行--名称MyWebApp--资源组MyResourceGroup--webjob名称MyWebjob
。谢谢!像charmnot一样为我工作:调用WebRequest:Windows PowerShell处于非交互模式。读取和提示功能不可用。我使用azuredevops通过Powershell任务运行此命令