CandyCane API実装中

このエントリは、CakePHP Advent Calendar 2012の9日目です。8日目は@junichi_11さんの「NetBeans plugin の改善点」でした。

はじめに

普段仕事でCakePHPをメインに使ってるとかそういったことがまったくなく、私がCakePHPをネタにする時は大体CandyCaneネタなので、今回もCandyCaneネタでいきたいと思います。

REST API

RedmineにはREST APIというものがあって、XMLやJSON形式でチケットの一覧が見れたり、チケットの登録などの作業がRedmineのWebページを使わずにできるようになっています。 ここで紹介するだけあって、もちろんCandyCaneには実装されてません(でした)。

そんな訳で一部APIをさっき実装してみました。 今回は git-issue というRedmineのチケットを表示・編集できるツールが使えるようにしたいというのを目標に実装してみたので、それの動作をRedmineとCandyCaneで比較しつつ紹介していきたいと思います。

API keyの作成

API keyの作成部分はCandyCane側は今の所APIをOFFにできないくらいで基本的な作成方法は同じになっています。 個人設定ページの右サイドバーにAPI keyの表示・作成がある感じですね。

Redmine

CandyCane

git-issueの設定

一応git-issueの初期設定も簡単に書いておきます。 git-issueを使いたいプロジェクトの中で以下のようにコマンドを打つとgit issueサブコマンドで色々できるようになります。 type以外の部分は自分のCandyCane/Redmineのに合わせて変えて下さい。

1
2
3
4
5
% git config issue.type redmine
% git config issue.url http://candycane.hamacbook.local/
% git config issue.apikey e9897fd4de9570b5d61744d8ab1e18b796615e5b
% git config issue.repo candycane
% git config issue.user hamaco

チケットの一覧表示

CandyCane/Redmineに登録されているチケットの一覧が表示できます。

Redmine

CandyCane

チケットの詳細表示

CandyCane/Redmineに登録されているチケットの詳細が表示できます。

Redmine

CandyCane

チケットの登録

ここが一番やりたかったのですが、時間がなくなってしまったのと、git-issueがチケット登録時にJSONでデータを渡していて、CakePHPで上手いやり方が分からなかったので実装できてません……

最後に

まだまだ全然できてないですが、一応多少作ったので紹介してみました。まだ本家にpull requestを投げてないので、今はここのブランチをチェックアウトしてくると試す事ができます。

明日は@yandodさんです。よろしくお願いしますー。

Comments