(パラメータに基づいて)URLを要求して結果を電子メールで送信するカスタムVSTS拡張機能を作成中です。 PhantomJS exeを呼び出す部分を除いて、私はそれを正しく機能させています。これは、電子メールに添付する前にスクリーンショットを生成するために必要です。次のようにPhantomJSを呼び出すカスタムVSTSビルドタスクで画像ファイルが作成されない
関連PowerShellのコードは次のとおりです。
Write-Verbose "Run phantomjs with $testingurl"
Start-Process -FilePath "phantomjs.exe" -ArgumentList "screenshot.js",$testingurl
$directory = Get-ScriptDirectory
Get-ChildItem $directory -force
私は「example.png」と呼ばれる自分の作業ディレクトリにイメージを作成する必要があります関連するパラメータ、とPhantomJSを呼び出しています。ただし、ディレクトリの内容を出力するとファイルは存在しません。
私は自分の内線の「範囲」で遊んだことがありますが、助けにはなりません。私の現在のスコープは、以下のとおりです。
私も、私は標準のPSコマンドレットを使用する場合、私は、ファイルを作成できることを確認"scopes": [
"vso.build_execute",
"vso.serviceendpoint_manage",
"vso.code_manage",
"vso.packaging_manage",
"vso.release_execute",
"vso.work_write"
],
:
New-Item "$directory\test.txt" -ItemType file
は、私も含めて試してみましたが、私のVSIXに「example.png」空白うまくいけば上書きされるでしょうが、そうではありません。
私はそれが書き込み権限の問題ではないと確信しています。 VSTSログは、PhantomJS exeへの呼び出しが失敗したことを示すものではありません。
VSTS拡張機能(ビルドタスク)内からPSスクリプトからEXEを呼び出すことはできませんか? PSスクリプトはローカルで正しく動作するので、私はこれが自分のコードの問題よりも環境/許可/許容量の問題だと感じています。
スコープは必要ありません。ビルドタスクは、スコープを指定しないでファイルシステムにアクセスできます。実行ファイルをうまく呼び出すことはできますが、作業ディレクトリが期待しているものと一致しないことがあります。 'get-command phantomjs.exe'を呼び出して、powershellがそれを見つけることができるかどうか調べてください。 – jessehouwing
'$ PSScriptRoot'を使って、あなたのタスクが配備された場所を探してみてください。 – jessehouwing
します。ディレクトリを出力すると正しく戻ってきましたが、私はあなたの提案をします。 – jrap