자체 시스템에서 Trello로 카드를 만드는 기능 구현
· 자사 시스템 내에서 특정 조작을 할 때 Trello에 카드 생성
기능을 구현하기 위해 Trello API를 사용합니다.
사용할 때까지의 절차를 부드럽게 설명합니다.
덧붙여서 여기서 사용하는 것은 모두 이하의 공식 사양서에 기재되어 있습니다.
htps : //로 ゔぇぺぺr. 아 t ぁしあん. 이 m / c ぉ d / t r / st / 아피 g 로우 p 아 c 치온 s /
우선 앞서, 얼마 전 투고한 기사의 1~5의 설정을 완료해 주세요.
htps : // 이 m / ぉ ぃ ん ゔ ぁ ち ん / ms / 8 268 또는 b1 06572bdc
1. 게시할 대상 보드의 ID를 가져옵니다.
명령 프롬프트와 터미널에서 다음 명령을 실행합시다.
curl "https://trello.com/1/members/[ユーザ名]/boards?key=[上記記事の3で表示されたキー]&token=[上記記事の5で表示されたトークン]&fields=name"
"Trello에 오신 것을 환영합니다""테스트"라는 두 개의 보드가 표시되었습니다.
여기에서는 예로서 「테스트」의 보드로 합시다.
'테스트' id를 복사해 둡니다.
2. 타겟이 되는 보드는 취득할 수 있었습니다만 어느 리스트에 카드를 작성하는지에 대해서, 여기로부터는 PHP의 처리로 가고 싶습니다.
(작성처 리스트가 정해져 있는 경우는 날려 주세요.)
curl로 리스트 취득 API(Get Lists on a Board)를 두드려, 리스트 ID를 취득합니다.
// ボードID
$boardID = [1でコピーしたid];
// API キー
$trelloApiKey = [上記記事の3で表示されたキー];
// APIトークン
$trelloApiToken = [上記記事の5で表示されたトークン];
// リストの取得
$getUrl = '';
$getUrl = "https://api.trello.com/1/boards/" . $boardID . '/' . 'lists?key=' . $trelloApiKey . '&token=' . $trelloApiToken . '&fields=name';
// 実行
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $getUrl);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
// リスト情報を検証
$decodeResponseArr = json_decode($response);
foreach($decodeResponseArr as $key=>$value){
// $value['name']にリストの名前、$value['id']にリストのIDが入っている
$value = get_object_vars($value);
if([何らかの条件]){
// リストのIDを設定
$listId = $value['id'];
break;
}
}
3. 그런 다음 추가할 멤버를 가져옵니다.
(멤버가 정해지면 날려주세요.)
curl에서 목록 획득 API(Get the Members of a Board)를 두드려 멤버 ID를 가져옵니다.
// ボードID
$boardID = [1でコピーしたid];
// API キー
$trelloApiKey = [上記記事の3で表示されたキー];
// APIトークン
$trelloApiToken = [上記記事の5で表示されたトークン];
// メンバーの取得
$getUrl = '';
$getUrl = "https://api.trello.com/1/boards/" . $boardID . '/' . 'members?key=' . $trelloApiKey . '&token=' . $trelloApiToken;
// 実行
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $getUrl);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
// メンバー情報を検証
$decodeResponseArr = json_decode($response);
foreach($decodeResponseArr as $key=>$value){
// $value['fullName']にメンバーの名前、$value['id']にメンバーのIDが入っている
$value = get_object_vars($value);
if([何らかの条件]){
// メンバーのIDを設定(複数の場合はカンマ区切り)
$members .= $value['id'] . ',';
}
}
// 末尾のカンマを削除
$members = rtrim($members, ",");
4. 그런 다음 추가할 라벨을 가져옵니다.
(라벨이 정해져 있는 경우는 날려 주세요.)
curl에서 레이블 획득 API(Get Labels on a Board)를 두드려 레이블 ID를 가져옵니다.
// ボードID
$boardID = [1でコピーしたid];
// API キー
$trelloApiKey = [上記記事の3で表示されたキー];
// APIトークン
$trelloApiToken = [上記記事の5で表示されたトークン];
// ラベルの取得
$getUrl = '';
$getUrl = "https://api.trello.com/1/boards/" . $boardID . '/' . 'labels?key=' . $trelloApiKey . '&token=' . $trelloApiToken;
// 実行
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $getUrl);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
// ラベル情報を検証
$decodeResponseArr = json_decode($response);
foreach($decodeResponseArr as $key=>$value){
// $value['name']にラベルの名前、$value['id']にラベルのIDが入っている
$value = get_object_vars($value);
if([何らかの条件]){
// ラベルのIDを設定(複数の場合はカンマ区切り)
$labels .= $value['id'] . ',';
}
}
// 末尾のカンマを削除
$labels = rtrim($labels, ",");
5. 다음에 드디어 카드를 투고합니다.
curl에서 카드 생성 API(Create a new Card)를 두드리십시오.
// ボードID
$boardID = [1でコピーしたid];
// API キー
$trelloApiKey = [上記記事の3で表示されたキー];
// APIトークン
$trelloApiToken = [上記記事の5で表示されたトークン];
// カードの投稿
$postUrl = "https://trello.com/1/cards";
// POSTするデータ
$postData = "key=" . $trelloApiKey;
$postData .= "&token=" . $trelloApiToken;
$postData .= "&idList=" . $listId; // 2で設定したリストID
$postData .= "&name=" . urlencode([カードのタイトル]);
$postData .= "&desc=" . urlencode([カードの説明]);
$postData .= "&due=" . urlencode([カードの期限]); // 2020-07-10 19:00:00 のフォーマット
$postData .= "&idMembers=" . $members; // 3で設定したメンバーID
$postData .= "&idLabels=" . $labels; // 4で設定したラベルID
$postUrl = $postUrl . '?' . $postData;
// 実行
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $postUrl);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
$response = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
이제 패시트와 카드 투고를 할 수 있었습니다.
저는 구현 고생했지만 위 코드를 사용하면 매우 간단합니다.
꼭 해보세요!
Reference
이 문제에 관하여(자체 시스템에서 Trello로 카드를 만드는 기능 구현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/localinnovation/items/77ec7f2e1df7a436ac01텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)