如何使用 Azure DevOps 发布管道将文件上传到 SharePoint Online?

问题描述 投票:0回答:2

我已经在 Azure DevOps 中为 Unity3D 项目创建了一个构建管道。我已成功为 Unity3D 项目生成工件。我想使用 Azure DevOps 发布管道将 Unity3D 项目的工件上传到 SharePoint Online。

那么,有人可以向我建议是否有任何发布任务可以使用 Azure DevOps 发布管道将文件上传到 SharePoint Online 吗?

azure-devops azure-pipelines sharepoint-online
2个回答
1
投票

是的,您可以将您的工件上传到共享点目录中。请找到可以完成这项工作的 Azure DevOps 扩展。

https://marketplace.visualstudio.com/items?itemName=halliba.az-pipelines-2-sharepoint

此扩展有详细记录,并给出了所有必要的步骤。

谢谢


0
投票

您可以使用 AzurePowerShell@5 Task 来实现此目的,更多详细信息请参见此 URL https://dev.to/kkazala/azure-devops-pipeline-with-workload-identity-federation-2gpj

以下是示例代码

  - task: AzurePowerShell@5
    name: Upload Folder To SP
    inputs:
      azureSubscription: {SerivicePrincipal Name Created in ADO}
      azurePowerShellVersion: latestVersion
      ScriptType: InlineScript
      Inline: |

        try {
          $azAccessToken = Get-AzAccessToken -ResourceUrl "https://{tenantID}.sharepoint.com"
          $siteUrl = "https://{tenantID}.sharepoint.com/sites/{sitename}"
          $conn = Connect-PnPOnline -Url $siteUrl -AccessToken $azAccessToken.Token  -ReturnConnection
          Write-Host $conn.Url
        }
        catch {
            Write-Host "##[error] 1 (Connect-PnPOnline -AccessToken): $($_.Exception.Message)"
        }

        try {

          $lists = Get-PnPList -Connection $conn
          Write-Host "List names:"
          $lists | ForEach-Object { Write-Host $_.Title }
          
          $sharePointFolderUrl = "$siteUrl/Dokumente"

          Add-PnPFolder -Name $folderName -Folder $sharePointFolderUrl

        }
        catch {
          Write-Host "##[error] 2 (Add-PnPFolder): $($_.Exception.Message)"
        }

注意: 您必须使用以下命令来提供特定站点的权限

Grant-PnPAzureADAppSitePermission -AppId 'xxx'  -Site 'https://xx.sharepoint.com/sites/{sitename}' -Permissions Write
© www.soinside.com 2019 - 2024. All rights reserved.