cloudpack あら便利カレンダー 2017 の12日目です。
用意する情報
backlogのAPIを使って課題を追加するには以下のIDとkeyを用意します。
- spaceId
- apiKey
- プロジェクトID(projectId)
- 課題の種別のID(issueTypeId)
これらの情報を取得する方法は以下
spaceId
https://○○○○○○.backlog.jp
○○○○○○の部分がspaceId
apiKey
個人設定のAPIから登録するとAPIキーを取得できる。
Backlogを使いこなそう APIの設定
https://○○○○○○.backlog.jp/EditApiSettings.action
プロジェクトID
「プロジェクト設定ページ」をクリック
URLにプロジェクトIDが書いてある
ex.
https://○○○○○○.backlog.jp/ListIssueType.action?project.id=○○○○○○
課題の種別のID
「プロジェクト設定ページ」に種別の一覧があるので、こちらから追加する課題に設定したい種別をクリック
URLに課題の種別のIDが書いてある
ex.
https://○○○○○○.backlog.jp/EditIssueType.action?issueType.id=○○○○○○
設定可能な値
課題の設定値を追加することが出来る。
backlogのドキュメント 課題の追加
こちらの「リクエストパラメーター」の箇所に書いてある。
必要に応じて$params
に追記すれば良い。
今回は必須項目と課題の詳細のみ追加した。
ソース
public function createProject() { $summary = "課題のタイトル"; $description = "課題の詳細"; $spaceId = '{spaceId}'; $apiKey = '{apiKey}'; $params = array( 'projectId' => '{projectId}', 'issueTypeId' => '{issueTypeId}', 'priorityId' => '3', //課題の優先度(3は中) 'summary' => $summary, //課題の件名 'description' => $description, // 課題の詳細 ); $url = 'https://' .$spaceId .'.backlog.jp/api/v2/issues?apiKey='.$apiKey.'&'. http_build_query($params, '','&'); $headers = array('Content-Type:application/x-www-form-urlencoded'); $context = array( 'http' => array( 'method' => 'POST', 'header' => $headers, 'ignore_errors' => true, ) ); $response = file_get_contents($url, false, stream_context_create($context)); return; }