LoginSignup
1
1

More than 5 years have passed since last update.

trelloでリスト(リスト内カード含む)をコピーする。

Posted at

はじめに

かなり後半になってしまって気づいてしまったワニですが、右クリックメニューでリスト(カードを含む)のコピーは出来ますワニ🐊なので、このスクリプトは完全な下位互換ワニ。。

キャプチャ.PNG
(これのことね!)

やったこと

カードを含むリストの完全なコピーを作成してみたかったそれだけワニ🐊

完全な下位互換たる所以

・カード情報は一部しかコピーできません。ワニがサボっているだけです。。
・コピーされたリストは"コピー"という名前になります。右クリックメニューはちゃんとコピー元のリスト名です。

GAS作成の上で必要なもの

・trelloのAPIキー
 https://trello.com/app-key
・trelloのトークン
 https://trello.com/app-key
 ページ内の"あなたは手動でTokenを作られます"のToken部分のリンクをクリック→認証
・カード一覧を取得したいboardID
 boardIDは実際にボードを開いたアドレスの以下XXXXXXの部分になります。
 https://trello.com/b/XXXXXX/YYYYYY
・コピー対象のリストID
 このあたりの記事を参考に調べましょう。
 https://tonari-it.com/gas-get-trello-card-list/

ソースコード

これがコードワニ🐊

GASのソース.
function myFunction() {
  var trelloKey   = "trelloのAPIキー";
  var trelloToken = "trelloのトークン";
  var trelloBoard = "コピー操作を行うボードID";
  var trelloCopyList = "コピー対象のリストID";

  // カード情報をjson形式で取得
  var boardUrl = "https://api.trello.com/1/boards/" + trelloBoard + "/lists/?key=" + trelloKey + "&token=" + trelloToken;
  var listUrl = "https://trello.com/1/lists/"+trelloCopyList+"/cards?key="+trelloKey+"&token="+trelloToken;
  var getListRes = UrlFetchApp.fetch(listUrl, {'method':'get'});
  var getListJson = JSON.parse(getListRes.getContentText()); 

  // 作成するリスト情報を設定
  var setListData = {
    'method' : 'post',
    'muteHttpExceptions' : true,
    'payload' : {
      'name' : "コピー",
      'pos' : 'bottom'
    }
  }

  // 作成したリストのリストIDを取得する
  var setListResponse = UrlFetchApp.fetch(boardUrl, setListData);
  var setListJson = JSON.parse(setListResponse.getContentText());
  var setListId = setListJson['id'];

  // 追加したリストにカードを足していく  
  var cardUrl = "https://trello.com/1/cards?key="+trelloKey+"&token="+trelloToken;

  for(var i = 0; i < getListJson.length; i++)
  {

    // 作成するリスト情報を設定
    var setCardData = {
      'method' : 'post',
      'muteHttpExceptions' : true,
      'payload' : {
        'name'      : getListJson[i]['name'],
        'desc'      : getListJson[i]['desc'],
        'due'       : '',
        'idList'    : setListId,
        'urlSource' : ''
      }    
    }    

    // カード作成   
    UrlFetchApp.fetch(cardUrl, setCardData);
  }  

}

出力結果

キャプチャ.PNG
(このように"普通のハンバーガー"リストをコピーすることが出来るワニ🐊)

所感

・たとえ車輪の再発明となろうとも、ソースを公開することに意味があると思うワニ🐊
・この記事を参考にさせて頂きましたワニ🐊
 https://qiita.com/Andysumi/items/eb281c3f0d4d30aa8a88

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1