問題タブ [azure-devops-server-2020]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
229 参照

powershell - ビルド タスクで $(System.AccessToken) を指定して Invoke-RestMethod を実行するとエラーが発生する

の値を資格情報として使用して REST API にアクセスしようとすると、(おそらく) 401 が返さ$(System.AccessToken)れます。実行しているパイプラインは、使用している API URL と同じ ADS 2020 オンプレミス サーバー上にあります。

ビルド ログのエラー メッセージは次のようになります。

TF400813: 匿名アクセスでリソースを利用できません。クライアント認証が必要です。- Azure DevOps サーバー

この手法に着想を得て、PowerShell インライン スクリプト タスクのコードを次に示します。

この回答から借りて、これも試しました:

ここAllow scripts to access the OAuth tokenに記載されているように、オプションを有効にするように注意しました。

それについての奇妙なことは、それが最初からうまくいったということです(上記の最初のコードブロックで)。さて、何を試しても、常に上記のエラーが発生します。

ビルド タスクでの値を使用$(System.AccessToken)して、同じサーバー上の REST API にアクセスするにはどうすればよいですか?

- 編集 -

代替変数構文も試しました: