残りのAPIとpowershellを使用してTFS 2017オンプレミスサーバー上のチームに関連付けられている領域を設定しようとしています。私は本当に何を私にとSOMのガイダンスを使用することができ TFSチームの領域を設定する際のパラメータ 'patch'のArgumentNullException
Invoke-RestMethod : {"$id":"1","innerException":null,"message":"Value cannot be null. \r\nParameter name: patch","typeName":"System.ArgumentNullException, mscorlib, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", "typeKey":"ArgumentNullException","errorCode":0,"eventId":0} + ... $result = Invoke-RestMethod -Method Patch -Uri $setTeamAreaPathUri ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand:
私はJSON形式のパッケージでAPI exampleで説明したように、私のURI
を起動しようとすると、私は次のエラーリターンを得ます探しているはずです。私は自分のJsonパッケージを検証したし、それは整形式でなければならない。
{ "defaultValue": "TeamProject\\Area1", "Values": [ { "value": "Area2\\Area21\\Area211", "includeChildren": false }, { "value": "Area3\\Area31\\Area311", "includeChildren": false } ] }
更新
私はPowerShellの起動-RestMethodコマンドレット$setTeamAreaPathUri
は、上記のhttp URIに対応
Invoke-RestMethod -Method Patch -Uri $setTeamAreaPathUri -UseDefaultCredentials -Body $json -ContentType "application/json"
とURIの上に呼び出しています。私はpost
をパッチとは対照的に私のウェブ要求方法として使用すべきですか?
getリクエストを使用して、同じURIからの応答を完全に得ることができます。しかし、
アップデート2
:-(パッチメソッドを使用して、既存のチーム・エリアを変更することができない。これは、エリア・パスに含まれているスカンジナビア文字「æøå」に関連したそうです。私はすべて除外した場合 jsonで解析する方法はありますか?そうすれば、TFSサーバーは壊れないでしょうか?これは、PowerShellの残りのAPIを呼び出す能力が不足しているためですか?
invoke-webrequestコードを投稿してください。 ?あなたのJsonは有効ですが、構文解析は異なるようです。 –
APIのリンク例はhttps://www.visualstudio.com/en-us/docs/integrate/api/work/team-field-values#update-team-field-valuesでなく、https://www.visualstudio .com/en-us/docs/integrate/api/work/team-settings#update-a-teams-チームの設定を更新する設定。 –
問題を再現できません。あなたの残りのAPIやJSONの本体をテストするために、郵便配達員のようなクライアントを試しましたか?また、 'Area2 \\ Area21 \\ Area211'の代わりに' \\ Area2'を試してください。 –