0

パワーシェルスクリプトの実行時

curl -X POST --data-urlencode 'payload={"channel": "#personal", "username": "Jenkins", "text": "Building $env:BUILD_NUMBER", "icon_emoji": ":computer:"}' https://xxxxxx.slack.com/services/hooks/incoming-webhook?token=aseaUO

また

curl -X POST --data-urlencode 'payload={"channel": "#personal-notification", "username": "Jenkins", "text": "Building ${BUILD_NUMBER}", "icon_emoji": ":computer:"}' https://xxxxxx.slack.com/services/hooks/incoming-webhook?token=aseaUO

{BUILD_NUMBER} は、curl ペイロードの実際のビルド番号に置き換えられません

--編集 sh スクリプトが git\bin\sh.exe を呼び出していることに気付きました。問題ありますか?

以下のコメントのいずれかを試してみると curl -X POST --data-urlencode $('payload={0}"channel": "#personal", "username": "Jenkins", "text": "Building {1} ", "icon_emoji": ":computer:"{2}' -f "{", $env:rohan) "}" https://xxxxxx.slack.com/services/hooks/incoming-webhook?token=aseaUO私は得る

ここに画像の説明を入力

PS端末でスクリプトを直接実行しようとすると、

ここに画像の説明を入力

4

2 に答える 2

0

問題は、式全体が一重引用符で囲まれているため、PowerShell が$env:BUILD_NUMBER式を評価しないことです。

文字列書式設定式を使用します。ランタイム エラーを回避するために、基本式から { } 文字を除外する書式設定も使用する必要があります。

 curl -X POST --data-urlencode $('payload={0}"channel": "#personal", "username": "Jenkins", "text": "Building {1}", "icon_emoji": ":computer:"{2}' -f "{", $env:BUILD_NUMBER) ,"}") https://xxxxxx.slack.com/services/hooks/incoming-webhook?token=aseaUO
于 2014-09-27T17:48:07.820 に答える
0

コードにいくつかの問題があります。最初に引用符( ps の変数は引用符で展開されていません)2番目に(愚かな)パラメーター...うまくいかない場合はこれを試して Build_Number を ${BUILD_NUMBER} に変更してください

$param = @()
$param = "-X POST"
$param += "--data-urlencode 'payload={""channel"": ""#personal"", ""username"": ""Jenkins"", ""text"": ""Building ${env:BUILD_NUMBER}", ""icon_emoji"": "":computer:""}'"
$param += "https://xxxxxx.slack.com/services/hooks/incoming-webhook?token=aseaUO"
$curl $param

または

$param = ''
$param = "-X POST"
$param += "--data-urlencode 'payload={""channel"": ""#personal"", ""username"": ""Jenkins"", ""text"": ""Building ${env:BUILD_NUMBER}", ""icon_emoji"": "":computer:""}'"
$param += "https://xxxxxx.slack.com/services/hooks/incoming-webhook?token=aseaUO"
$curl $param
于 2014-09-27T18:56:11.260 に答える