タイトル通りなんですがBacklogAPI Library for PHPを作成、公開しました。
使わせてもらっていたライブラリで定期課題作成していたらエラー出てしまい困ったのでカッとなって作成開始。
そのまま勢いで約9ヶ月振りの開発ブログ書きにきました。
どうも西川です。
Backlogとはなんぞや?はBacklogさんまで。
http://www.backlog.jp/
いつもお世話になっております。ぺこりんちょす。
ちなみにエラーの内容は本文もりもり書いた状態で課題作成のAPIを叩いて「URLが長すぎるぞ」でした。
使わせてもらってたライブラリ「file_get_contents()でドンッ!」
、、、なるほどエラーなわけだよ。
わい「OKGoogle。 backlog api php」
各記事「file_get_contents()でドンッと送ったらOKだよ!」
oh…
という流れで自前でなんとかする決意をし、どうせならとBacklogAPI Library for PHPとして公開しました。
ただし添付ファイル周りと権限がないとやっちゃダメそうなあたりのAPIは未実装です。
「ワタクシメニ ケンゲン ガ アリマセン。ピー。ガー…。」
README.mdに書いてあるとおりですが軽く使い方ガイド。
インストール
packagistに公開してますのでcomposer requireしてください。
$ composer require itigoppo/backlog-api
APIキーの発行
APIの設定 – Backlog (Japanese)
を参考にAPIキーを発行します。
課題作成サンプル
$space_id = '(スペースID)';
$api_key = '(発行したAPIキー)';
$project_id = '(プロジェクトID)'; # 別途プロジェクト情報取得APIから取得orプロジェクト設定のURLにproject.id=XXXXとあります
$summary = '課題タイトル';
$issue_type_id = '(種別ID)'; # 別途種別一覧の取得APIから取得orプロジェクト設定→種別からいける各詳細のURLにissueType.id=XXXXとあります
$priority_id = '優先度ID'; # 別途優先度一覧の取得APIから取得
$form_options = [
'description' => "課題詳細\nAPIで課題作成!!!",
'notifiedUserId' => ['通知したいユーザーID', '通知したいユーザーID'], # 配列で!
]; # 任意項目各種
$backlog = new Backlog(new ApiKeyConnector($space_id, $api_key));
$backlog->issues->create($project_id, $summary, $issue_type_id, $priority_id, $form_options);
※任意項目はhttps://developer.nulab-inc.com/ja/docs/backlog/api/2/add-issue/ のリクエストパラメータ欄を参考にしてください。
P.S.ヌーラボの皆さん、ちょいちょいAPIドキュメントが間違ってたり表崩れしてるのでメンテナンスしてほしいです☆
著者プロフィール
-
頭がだいたい赤と黄緑のプリンになってる系ぺちぱー。
推しのメンバーカラーって大事でしょう!?
最近書いた記事
Engineering2017.11.21BacklogAPI Library for PHPを作りました
Engineering2016.09.20Yii1.1でFixtureを使ったユニットテストを作成する
Engineering2016.07.05Codeceptionの文字化け直してコントリビューターになったよ