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;
}