id:ikikko さんからアイデアをもらったので、作ってみた。
Trac によく似たプロジェクト管理ツールである Backlog のリモート API のラッパーです。
#ソースも置いてあるので適当にいじって下さい。
リリース BTS.Backlog 1.0β - Backlog アプリケーション - OSDN
ここから xml-rpc.net.2.4.0.zip をダウンロード、解凍してできた CookComputing.XmlRpcV2.dll を一緒につかいます。
なにができるの?
旧API(XML−RPC)|開発者向け|Backlog [バックログ]
ここに記載されている API は一通り実装したので全て使えます。
たとえばこのような機能があります。
- プロジェクト一覧の取得
- 課題(チケット)の取得
- 課題の作成
- 課題の更新
どんなふうに使うの?
たとえば C# でこんなふうに使えます
プロジェクト一覧を取得する
Backlog.Connect( URL, ユーザー名, パスワード ); Console.WriteLine( "==== Project ====" ); List<Project> projects = Project.GetAll(); foreach ( Project project in projects ) { Console.WriteLine( "ID : " + project.Id ); Console.WriteLine( "Name : " + project.Name ); Console.WriteLine( "Key : " + project.Key ); Console.WriteLine( "Url : " + project.Url ); }
課題(チケット)の一覧を取得する
Console.WriteLine( "==== Issue ====" ); List<Issue> issues = project.GetIssues(); foreach ( Issue issue in issues ) { Console.WriteLine( "ID : " + issue.Id ); Console.WriteLine( "Summary : " + issue.Summary ); ... }
課題を作成する
Issue issue = new Issue(); issue.Summary = "単体テストで登録テスト"; issue.Priority = "高"; issue.Component = new string[] { "2つめのカテゴリー" }; issue.Version = new string[] { "Webで追加したバージョン" }; issue.Milestone = new string[] { "Webで追加したバージョン", "Webで追加したマイルストーン" }; issue.ResolutionId = 2; Issue createdIssue = project.CreateIssue( issue );
課題を変更する
Issue issue = project.GetIssues()[0]; issue.Description += "単体テストで変更テスト\n"; issue.Update( "こめんと" );
ユーザー一覧の取得
List<User> users = project.GetUsers(); foreach ( User user in users ) { Console.WriteLine( "ID : " + user.Id ); Console.WriteLine( "Name : " + user.Name ); }
まとめ
機能、使い方がわかったので、次は Excel のアドインですね:)