Mantis issue_relationship_add - PullRequest
       57

Mantis issue_relationship_add

0 голосов
/ 22 октября 2018

У меня есть функции для управления «билетами» Mantis, обновления, добавления заметок, добавления вложений, но у меня возникла проблема с добавлением отношений в другие заявки.Я могу прочитать заявку и получить отношения: $ mantis = New-WebServiceProxy -Uri http://tickets.empyreanbenefits.com/api/soap/mantisconnect.php?wsdl $ ticketdetails = $ mantis.mc_issue_get ($ имя пользователя, $ пароль, $ 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.

Ответы [ 3 ]

0 голосов
/ 22 октября 2018

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

$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")
0 голосов
/ 23 октября 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)
0 голосов
/ 22 октября 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)
...