backlog
backlogapi

backlog API を使う④ ~backlogプロジェクトユーザにコメントを通知する~

More than 1 year has passed since last update.


1、環境

php4.5

windows7


2、必要な情報

公式サイト

https://developer.nulab-inc.com/ja/docs/backlog/api/2/add-comment/

メソッド

POST

URL

/api/v2/issues/:issueIdOrKey/comments 

backlogの課題にコメントとユーザーに通知をする為に必要な情報は、以下となります。

パラメーター名
内容

apiKey
APIキー(backlog API を使う①参照)

issueIdOrKey
コメントしたい課題番号

content
コメント内容

notifiedUserId[]
コメントの通知を受け取るユーザーID(backlog API を使う③参照)


3、コード

<?php

/**************************
* backlogの課題にコメントを送信しユーザーに通知する
***************************/

$issueIdOrKey = "HOGE-12"; // コメントしたい課題番号
$backlog_api_key = "作成したAPIキー";
$comment = "コメント";
$notifiedUserId_001 = "コメントの通知を受け取るユーザーID(1人目)";
$notifiedUserId_002 = "コメントの通知を受け取るユーザーID(2人目)";

$comment_url = "https://xxx.backlog.jp/api/v2/issues/".$issueIdOrKey."/comments?apiKey=".$backlog_api_key;
$params = array(
'content' => $comment,
'notifiedUserId[0]' => $notifiedUserId_001,
'notifiedUserId[1]' => $notifiedUserId_002
);
$comment_url = $comment_url . "&".http_build_query($params, "", "&");
$comment_headers = array('Content-Type: application/x-www-form-urlencoded');
$context = array('http' => array(
'method' => 'POST',
'header' => $comment_headers,
'ignore_errors' => true
));
$response = file_get_contents($comment_url, false, stream_context_create($context));


4、レスポンス例


成功時レスポンス例

{

"id": 117039xxxx,
"content": "コメントテストです。",
"changeLog": [],
"createdUser": {
"id": 107376xxxx,
"userId": "mori",
"name": "バックログのユーザー名",
"roleType": 2,
"lang": null,
"mailAddress": "xxxx@xxxxxx.co.jp",
"nulabAccount": null
},
"created": "2017-06-28T03:00:56Z",
"updated": "2017-06-28T03:00:56Z",
"stars": [],
"notifications": [
{
"id": 8057xxxx,
"alreadyRead": false,
"reason": 2,
"user": {
"id": 10738xxxx,
"userId": null,
"name": "通知先のバックログのユーザー名",
"roleType": 1,
"lang": null,
"mailAddress": "xxxxxxxxxx@xxxx.co.jp",
"nulabAccount": null
},
"resourceAlreadyRead": false
}
]
}


失敗時レスポンス例

{

"errors": [
{
"message": "Undefined resource. /api/v2/HOGE-12/comments",
"code": 6,
"moreInfo": ""
}
]
}

成功すれば、バックログの課題にコメントと特定ユーザーへの通知が確認できると思います!

以上です。