首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >here-string标题后和行尾之前不允许有字符

here-string标题后和行尾之前不允许有字符
EN

Stack Overflow用户
提问于 2018-05-23 15:39:28
回答 2查看 9.6K关注 0票数 4

我使用这个作为我的脚本的基础:

https://www.nwcadence.com/blog/vststfs-rest-api-the-basics-and-working-with-builds-and-releases

我的脚本如下所示

代码语言:javascript
复制
Param(
   [string]$vstsAccount = "abc",
   [string]$projectName = "abc",
   [string]$user = "",
   [string]$token = "xyz"
)

# Base64-encodes the Personal Access Token (PAT) appropriately
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))

$verb = "POST"


$body = @"{

    "definition": {
         "id": 20
    }
}"@


$uri = "https://$($vstsAccount).visualstudio.com/DefaultCollection/$($projectName)/_apis/build/builds?api-version=4.1"
$result = Invoke-RestMethod -Uri $uri -Method $verb -ContentType "application/json" -Body (ConvertTo-Json $body)  -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}

但是我在上面的博客文章中使用的主体定义中有语法错误。

代码语言:javascript
复制
> o characters are allowed after a here-string header but before the end
> of the line. At C:\Users\abc\Documents\vstsqueuebuild.ps1:18 char:17
> +     "definition": {
> +                 ~ Unexpected token ':' in expression or statement. At C:\Users\abc\Documents\vstsqueuebuild.ps1:19 char:14
> +          "id": 20
> +              ~ Unexpected token ':' in expression or statement. At C:\Users\anc\Documents\vstsqueuebuild.ps1:21 char:1
> + }"@
> + ~ Unexpected token '}' in expression or statement. At C:\Users\abc\Documents\vstsqueuebuild.ps1:24 char:9
> + $uri = "https://$($vstsAccount).visualstudio.com/DefaultCollection/$( ..
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-24 13:17:08

有多种方法可以更改here-string ( $body变量的值):

选项1:

代码语言:javascript
复制
$body = @{
definition = @{
id = 20    
}
}

选项2:

代码语言:javascript
复制
$body = @"
{

    "definition": {
         "id": 20
    }
}
"@

正如boxdog提到的那样。

选项3:

代码语言:javascript
复制
$body = '
{

    "definition": {
         "id": 20
    }
}
'
票数 6
EN

Stack Overflow用户

发布于 2018-05-23 15:45:31

错误消息提示您:“here-string标题后面不允许有字符,但结尾之前不允许有字符。”

更改代码,以便here-string开始/结束标记后面/前面不会紧跟任何内容:

代码语言:javascript
复制
$body = @"
{

    "definition": {
         "id": 20
    }
}
"@
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50482528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档