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

元記事はこちら

backlogのAPIを使って課題を追加する方法(PHP編)