Powershell 克隆章鱼计划

Powershell 克隆章鱼计划,powershell,octopus-deploy,Powershell,Octopus Deploy,我正在尝试使用octopus.Client克隆一个八达通项目。这是我正在使用的代码: $OctopusURI = "http://localhost:8080" $apikey = "API-SO7PMXWLYU6RPCUKMWK22GBKYQ" $endpoint = new-object -TypeName Octopus.Client.OctopusClient(New-Object Octopus.Client.OctopusServerEndpoint($OctopusURI,$ap

我正在尝试使用octopus.Client克隆一个八达通项目。这是我正在使用的代码:

$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)
这就是我得到的错误

找不到“post”和参数计数的重载:“2”

这是方法的定义:post

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)

请帮助澄清第三个参数应该是什么

如果第一个参数是URL模板,则第三个参数是定义替换参数的对象。因为您使用的是完全格式的URL,所以可以传入null

使用替代(C#)的示例:


如果使用Visual Studio并在C#中试用,它将以intellisense显示文档,并且第三个参数是可选的。我猜PS不支持这些可选参数。

因为它需要和object,而且我认为您不需要提供比您在示例中包含的内容更进一步的任何内容-必须为pathParameters提供空值。
client.Post(client.RootDocument.Links["Projects"], project, new { clone=originalPrj.Id })