2016-04-12 13 views
0

Octopus.Clientを使ってタコプロジェクトを複製しようとしています。Octopusプロジェクトをクローン化

$OctopusURI = "http://localhost:8080" 
$apikey = "API-SO7PMXWLYU6RPCUKMWK22GBKYQ" 

$endpoint = new-object -TypeName Octopus.Client.OctopusClient(New-Object Octopus.Client.OctopusServerEndpoint($OctopusURI,$apikey)) 

$repository = new-object Octopus.Client.OctopusRepository $endpoint 

$newproject = New-Object Octopus.Client.Model.ProjectResource 

$OriginalProject = $repository.Projects.FindByName($projectToClone); 

Write-Output $OriginalProject 

$properties = [ordered]@{ 
    Name = $Project_Name 
    Description = $Project_Description 
    ProjectGroupId = $OriginalProject.ProjectGroupId 
    LifecycleId = $OriginalProject.LifecycleId 
} 

$newproject = New-Object Octopus.Client.Model.ProjectResource -Property $properties 

$endpoint.post("~/api/projects?clone=" + $OriginalProject.Id, $newproject) 

そして、これは私が

を得ているエラーは「ポスト」のための過負荷および引数の数を見つけることができませんです:「2」これは私が使用しているコードです。

この

は、メソッドの定義である:ポスト

void Post[TResource](string path, TResource resource, System.Object pathParameters) 
TResponse Post[TResource, TResponse](string path, TResource resource, System.Object pathParameters) 
void Post(string path), void IOctopusClient.Post[TResource](string path, TResource resource, System.Object pathParameters) 
TResponse IOctopusClient.Post[TResource, TResponse](string path, TResource resource, System.Object pathParameters), 
void IOctopusClient.Post(string path) 

、第三パラメータが

+0

あなたの例に含まれているものよりも何も提供する必要はないと思うので、pathParametersにnull値を指定する価値があります。 – Fenton

答えて

0

三番目のパラメータは、オブジェクトが最初の場合は代替パラメータを定義していることになっているものを明確に助けてくださいパラメータはURLテンプレートです。完全に形成されたURLを使用しているため、nullを渡すことができます。 (C#の)subsitutionを使用しての

例:

client.Post(client.RootDocument.Links["Projects"], project, new { clone=originalPrj.Id }) 

Visual Studioを使用してC#でそれを試してみた場合、それはあなたのインテリセンスのドキュメントが表示され、3番目のパラメータはオプションであること。 PSはそれらのオプションのパラメータをサポートしていないと思います。

関連する問題