#powershell
#powershell
Вопрос:
У меня есть следующая строка кода, которая дает мне значение Url и имя в каждом цикле. Я хотел бы добавить все эти значения (Url и name) и использовать их ниже в моем html для отображения на странице. Прямо сейчас один URL-адрес хорошо отображается на странице, но я не уверен, как отобразить и отобразить список элементов.
Мой код:
Get-ChildItem $workingDir | ForEach-Object {
$uploadResponse = UPLOAD-FILE -workingDir $_.FullName -tempDir $tempDirectory -clientId $CLIENT_ID -clientSecret $CLIENT_SECRET -artifactname $artifactname
$url = $uploadResponse.url
$name = $uploadResponse.name
}
HTML, где я помещаю URL и имя в тот же метод в коде :
$OVERVIEW_PAGE_BODY_CONTENT = "<!DOCTYPE html>
`n<html>
`n<head>
`n <title>Release Notes</title>
`n</head>
`n<body>
`n<p>Please click on this <a href=" $uploadResponse.webUrl ">$($uploadResponse.name)</a> to download the release.</p>
`n</body>
`n</html>
ответ от UPLOAD-File:
@{@odata.context=https://test.sharepoint.com/sites/Software/_api/v2.0/$metadata#items/$entity; @odata.type=#oneDrive.item; @odata.id=https://test.sharepoint.com/sites/Software/_api/v2.0/drives/b!oXTiJap3vEWP-R7VIhCoaK56Iw5F_2s7Jm/items/01DF22DBTHCTY; @odata.editLink=drives/b!oXTiJap3vEWP-R7VIhCoaK5C9VpM6whOqv92LwAtEd0vz2KXW2FnS6Iw5F_2s7Jm/items/01DF2VRVTLJT24SRAGJVHZSOUT2DBTHCTY; @content.downloadUrl=https://test.sharepoint.com/sites/Software/_layouts/15/download.aspx?UniqueId=c9f54c6b-0644-4f4d-993a-93d0c3338a78amp;Translate=falseamp;tempauth=eyJ0eXAiOiJKV1oiYmY0NmQzNjAtZTAIjoiYWxsc2l0ZXMuZnVsbGNvbnRyb2wd2xBWT0amp;ApiVersion=2.0; createdBy=; createdDateTime=2020-12-10T17:04:06Z; eTag="{C9F54C6B-0644-4F4D-993A-93D0C3338A78},6"; id=01DHZSOUT2DBTHCTY; lastModifiedBy=; lastModifiedDateTime=2020-12-10T19:41:05Z; name=Archives.zip; parentReference=; webUrl=https://test.sharepoint.com/sites/Software/TestPipelineAutomation/Archives.zip; cTag="c:{C9F54C6B-0644-4F4D-993A-93D0C3338A78},5"; file=; fileSystemInfo=; size=7309}
Ответ №1:
См. О правилах цитирования и О присоединении:
$Data = ConvertFrom-Csv @'
Name,WebUrl
Name1,Url1
Name2,Url2
Name3,Url3
'@
$OVERVIEW_PAGE_BODY_CONTENT = @(
@'
<!DOCTYPE html>
<html>
<head>
<title>Release Notes</title>
</head>
<body>
'@
# Get-ChildItem $workingDir | ForEach-Object {
# $uploadResponse = UPLOAD-FILE -workingDir $_.FullName -tempDir $tempDirectory -clientId $CLIENT_ID -clientSecret $CLIENT_SECRET -artifactname $artifactname
Foreach ($uploadResponse in $Data) {
"<p>Please click on this <a href=""$($uploadResponse.webUrl)"">$($uploadResponse.name)</a> to download the release.</p>"
}
@'
</body>
</html>
'@
) -Join [System.Environment]::NewLine
Комментарии:
1. как мне добавить Name1 и URL1 в $Data??
2. Я понимаю это, но вопрос здесь в том, как я могу сначала получить все значения, а затем показать их в HTML. Я понимаю ваш второй пункт, но для первого он все еще неясен, и на самом деле это то, с чем я борюсь
3. Загружаемый ФАЙЛ вызывает API и возвращает json-файл, в котором меня интересует значение $uploadResponse.name и $uploadResponse.url
4. обновлено с помощью примера ответа из UPLOAD-FILE:
5. загрузить файл — это метод, который загружает мои файлы и папки из WorkingDirectory в SharePoint. Я готовлю блокнот здесь, чтобы получить ссылки на файл, в который он загружен, и имя файла. я обновил вопрос с помощью ответа json