【问题标题】:Automate Microsoft Teams Tab App in AzurePipelines在 AzurePipelines 中自动化 Microsoft Teams 选项卡应用程序
【发布时间】:2021-05-18 10:18:58
【问题描述】:

我们正在尝试在 Azure Pipeline 中自动化 Teams Tab 应用程序,但我们想知道这是否可能。我们已经为可以通过 App Studio 上传的应用程序创建了 zip 文件并且它可以工作。但我们不希望客户通过 App Studio 执行此操作,相反,我们希望在他们的管道上自动执行此过程。为此,我们创建了以下 powershell:

# Generate zip file for deployment
$compress = @{
    Path = "color.png", "outline.png", "manifest.json"
    CompressionLevel = "Fastest"
    DestinationPath = "app.zip"
}

Compress-Archive @compress -Update

然后我们检查MicrosoftTeams模块是否安装,否则我们安装它:

# Checks whether MicrosoftTeams module is available
if (Get-Module -ListAvailable -Name "MicrosoftTeams") {
    Write-Verbose "MicrosoftTeams module already installed."
} 
else {
    Write-Verbose "Installing module MicrosoftTeams - https://docs.microsoft.com/en-us/powershell/module/teams/?view=teams-ps."
    Install-Module MicrosoftTeams
}

Write-Verbose "Importing module MicrosoftTeams."
Import-Module MicrosoftTeams

我们与 Microsoft Teams 建立联系,以便稍后安装该应用:

Write-Verbose "Connecting to Microsoft Teams"
$user = "<<the account id>>"
Connect-MicrosoftTeams -AccountId $user

这里的问题是我总是收到设备身份验证提示:

当然,这永远不会在管道中工作。我怎样才能使这项工作?我可以使用 Token 连接 Teams 吗?

【问题讨论】:

    标签: powershell automation azure-pipelines microsoft-teams


    【解决方案1】:

    您可以使用 Teams 应用提交 API 发布应用以跨组织级别启用它。详情请参考documentation

    【讨论】:

    • @DAG 如果您的问题已解决,请告诉我们。
    【解决方案2】:

    可以使用 Microsoft Graph 为用户安装应用程序,这可能是一种更好的方法。见https://docs.microsoft.com/en-us/graph/api/userteamwork-post-installedapps?view=graph-rest-1.0&tabs=http。您还可以看到列出应用程序的选项,这可能有助于检查 ID 等:https://docs.microsoft.com/en-us/graph/api/userteamwork-list-installedapps?view=graph-rest-1.0&tabs=http

    【讨论】:

    • 对于用户不是解决方案,我们需要在组织范围级别这样做
    猜你喜欢
    • 2023-04-10
    • 2021-04-30
    • 2021-07-31
    • 1970-01-01
    • 2023-01-11
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    相关资源
    最近更新 更多