Mantis issue_relationship_add

У меня есть функции для управления «билетами» Mantis, обновления, добавления заметок, добавления вложений, но у меня возникла проблема с добавлением связи с другими билетами. Я могу прочитать тикет и получить отношения: ://tickets.empyreanbenefits.com/api/soap/mantisconnect.php?wsdl $ticketdetails = $mantis.mc_issue_get($Username,$Password,$ticket) $ticketdetails.relationships

Но когда я пытаюсь добавить отношения:

$mantis = New-WebServiceProxy -Uri http://tickets.empyreanbenefits.com/api/soap/mantisconnect.php?wsdl
$Relationship = New-Object "Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes.WebServiceProxy1pi_soap_mantisconnect_php_wsdl.issuerelationshipadd"
$Relationship.id = $Ticket 
$Relationship.Target_id = $TargetID
$Relationship.relationship.id = 3
$mantis.mc_issue_relationship_add($Username, $Password, $ticket, $Relationship)

Я получаю эту ошибку:

New-Object : Cannot find type [Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes.WebServiceProxy1pi_soap_mantisconnect_php_wsdl.issuerelationshipadd]: verify that the assembly containing this type is loaded.

person Iain    schedule 21.10.2018    source источник


Ответы (3)


Посмотрите на определение метода:

$mantis.mc_issue_relationship_add

# OUTPUT:   
#
# OverloadDefinitions
# -------------------
# string mc_issue_relationship_add(string username, string password, string issue_id, Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes.WebServiceProxy1pi_soap_mantisconnect_php_wsdl.RelationshipData relationship)

Вы можете видеть, что правильный тип RelationshipData

$Relationship = New-Object ($mantis.GetType().Namespace + ".RelationshipData")
person marsze    schedule 22.10.2018

Большое спасибо Marsze за ответ выше.

Окончательный сценарий:

$uri = "http://tickets.empyreanbenefits.com/api/soap/mantisconnect.php?wsdl"
$mantis = New-WebServiceProxy -Uri $uri
$namespace = $mantis.GetType().Namespace
$relationship = New-Object "$namespace.RelationshipData"
$relationship.id = $Ticket 
$relationship.target_id = $targetId
$type = New-Object "$namespace.ObjectRef"
$type.id = 2
$relationship.type = $type
$mantis.mc_issue_relationship_add($username, $password, $ticket, $relationship)
person Iain    schedule 23.10.2018

Попробуйте так:

$mantis = New-WebServiceProxy -Uri http://tickets.empyreanbenefits.com/api/soap/mantisconnect.php?wsdl
$ProxyType = $mantis.GetType().Namespace
$Relationship = New-Object("$ProxyType.issuerelationshipadd")
$Relationship.issue_id = $Ticket 
$Relationship.Target_id = $TargetID
$Relationship.relationship.id = 3
$mantis.mc_issue_relationship_add($Username,$Password,$ticket,$Relationship)
person Kirill Pashkov    schedule 21.10.2018
comment
Ценю ответ, и я попробовал, но нет, получил довольно большую ошибку шва. - person Iain; 22.10.2018