Sap2SvnPluginリリース!

色々考えたあげく、とりあえず公開しておきます。Shibuya.trac新年会で発表してから1ヶ月近く経ってしまいました…orz

ダウンロードはこちらから:Sap2SvnPlugin.zip


概要

チケット更新のタイミングで、SAP(R/3)サーバにアクセスし(1)、SAPの移送依頼番号に紐付くオブジェクトを抽出してSubversionにコミットする(2)プラグインです。コミットされたオブジェクトは、Tracリポジトリブラウザを介して参照することができます(3)。

f:id:ikikko:20090217231624p:image

主な機能

  • チケット更新と同期した、SAP関連オブジェクトの自動コミット
  • チケット・コミット対象オブジェクトの相互リンク
    • チケット更新と同時に、コメントとしてチェンジセットの番号を追記
    • コミットと同時に、コミットログとしてチケット番号を追記

f:id:ikikko:20090217233312p:image

前提条件

設定内容

カスタムフィールド[ticket-custom]の追加とプラグインオリジナルの設定[sap2svn]が必要です。[ticket-custom]ではチケット更新時の制御項目を、[sap2svn]ではSAPへのログイン情報を設定しておきます。どちらも、Tracの管理画面から設定可能です。

[ticket-custom]

  • released : SAP上のオブジェクトがリリース済か否かを判定するチェックボックス。このチェックがされたタイミングでのみSAPサーバにアクセスする。
  • transport : SAPの修正対象オブジェクトを識別する、移送依頼番号。

[sap2svn]

  • applicationserver : アプリケーションサーバのホスト名またはIPアドレス
  • client : クライアント
  • codepage : コードページ(デフォルト「8000:Shift_jis」)
  • language : 言語(デフォルト「J:Japanese」)
  • password : パスワード
  • saprouter : SAPルータ
  • system : システム
  • systemnumber : システムID
  • user : ユーザ
  • workingcopy : ワーキングコピー(SAPサーバから抽出したオブジェクトの一時保管領域)*3

f:id:ikikko:20090217231626p:image

使用方法

上記の「設定内容」に従って、カスタムフィールドの追加・プラグインオリジナルの設定は事前に行われているものとします。

  1. 仕様変更・不具合対応に応じたチケットを作成
  2. SAP上で該当オブジェクトを修正・リリース
  3. 「リリース済」をチェック・「移送依頼番号」に該当の番号を入力して、チケットを更新
  4. (自動的に)SAPにアクセスした後に該当オブジェクトをコミット

今後の対応予定*4 *5

  • バージョン管理対象オブジェクトの対応増*6
    • 汎用グループ・汎用モジュール
    • Dynpro・PBO・PAIモジュール
    • クラスオブジェクト
    • データベーススキーマ
  • バグフィックス


ご意見・ご要望がある方は、このエントリに対してコメントするかf:id:ikikko:20071104010253p:imageまでメールいただけるとありがたいです。

なお、諸事情により自分で使う当てがないので、何も要望があがってこない場合は今後メンテナンスされることもないでしょう。誰か一人でも使ってみようかなという(奇特な)方がいれば、できる限り継続して対応したいと思います。

*1:Trac Lightning付属のpywin32を検索してインポートするようにしているため

*2:SAP GUIがインストールされていれば問題ないと思う(参考:[http://metro3.web.fc2.com/r3.html:title])

*3:将来的に廃止するかも。プラグインのユーザにとって、一時領域となるWorkingCopyは意識しなくてもよいはずなので。

*4:最後に言っているように、誰かから要望があがってくれば・・・の話

*5:継続してメンテナンスするようになった場合、SourceForgeにでも借りてちゃんと対応していきたいなぁ

*6:現状では、単純なプログラム・レポートソースコードにしか対応していません