メールの内容を Python で mantis に自動登録 その4



その3で、SOAP通信用の接続と型の定義を作成しました。
そのファイルから必要な部分を抜きだし使用します。

(・・・本当はこんなことをせず、生成された定義体をそのまま
使用したいのですが、エラーになってしまうので。。。)

幸い、型の定義type.pyはそのまま使用できます。
MantisConnect_services_types.py
とリネームします。

service.pyはMantisConnect_services.pyとリネームorコピーし、
必要なクラス定義のみに削っていきます。

必要なクラス、メソッドは
class MantisConnectLocator
MantisConnectBindingSOAP.__init__
MantisConnectBindingSOAP.mc_issue_add
MantisConnectBindingSOAP.mc_issue_attachment_add
MantisConnectBindingSOAP.mc_issue_note_add

#案件登録リクエスト
class mc_issue_addRequest
#案件登録レスポンス
class mc_issue_addResponse
#添付ファイル登録リクエスト
class mc_issue_attachment_addRequest
#添付ファイル登録レスポンス
class mc_issue_attachment_addResponse
#コメント登録リクエスト
class mc_issue_note_addRequest
#コメント登録レスポンス
class mc_issue_note_addResponse


くらいでしょうか。


前回記載し忘れていましたが、登録時PyXMLを使用しているので、
http://sourceforge.net/projects/pyxml/
ここからダウンロードしてインストールしておきます。

インストールはZSIと同じく、ダウンロードして解凍した
フォルダに移動してpython setup.py installを実行すればOKです。

さて、実際にアップデートするプログラムですが、こんな感じになります。



import MantisConnect_services
import MantisConnect_services_types

mc = MantisConnect_services.MantisConnectLocator().getMantisConnectPortType()

issue_data = MantisConnect_services_types.ns0.IssueData_Def(None)
project = MantisConnect_services_types.ns0.ObjectRef_Def(None)

#登録するプロジェクトを指定
project._id = 1
issue_data._project = project

#カテゴリ
issue_data._category = "カテゴリ1"
#タイトル
issue_data._summary = "アップデートテスト"
#本文
issue_data._description = "案件の本文です。"


req = MantisConnect_services.mc_issue_addRequest()
req._username = "administrator"
req._password = "root"

req._issue = issue_data
r = mc.mc_issue_add(req)



しっかり登録されました。


次は、添付ファイルのアップロードをためしてみます。



もどる