Trello: カードをアーカイブ

Trello: カードをアーカイブ

Trello: Archive Card

この工程は、Trello のカードをアーカイブします。

Basic Configs
工程名
メモ
Auto Step icon
Configs for this Auto Step
conf_ApiKey
C1: API キーを設定した認証設定 *
conf_ApiToken
C2: API トークンを設定した認証設定 *
conf_CardIds
C3: カード ID(1 行に 1 つ) *

Notes

  • API キー、API トークンを取得するには、
    1. Power-Up の管理ページを開き、新しい Power-Up を作成してください
    2. 左メニューの「API キー」を開くと、API キーが表示されます
    3. API キーの右側の「手動でトークンを生成できます」のリンクから、トークンを取得してください

Capture

See Also

Script (click to open)

  • 次のスクリプトが記述されている XML ファイルをダウンロードできます

    • trello-card-archive.xml (C) Questetra, Inc. (MIT License)
    • Professional のワークフロー基盤では、ファイル内容を改変しオリジナルのアドオン自動工程として活用できます



function main() {
    //// == 工程コンフィグ・ワークフローデータの参照 / Config & Data Retrieving ==
    const authKey = configs.getObject("conf_ApiKey");
    const authToken = configs.getObject("conf_ApiToken");
    const apiKey = authKey.getToken();
    const apiToken = authToken.getToken();

    const cardIdsArray = retrieveCardIds();

    //// == Calculating / 演算 ==
    const numOfLines = cardIdsArray.length;
    for (let i = 0; i < numOfLines; i++) {
        archiveCard(apiKey, apiToken, cardIdsArray[i]);
    }
}

/**
  * config からカード ID を読み出す
  * @return {String} cardIds
  * @return {Array<String>} linesArray  カード ID の配列
  */
function retrieveCardIds() {
    const cardIdsDef = configs.getObject('conf_CardIds');
    const cardIds = engine.findData(cardIdsDef);

    if (cardIds === null || cardIds === "") {
        throw new Error("Card IDs aren't set.");
    }

    let linesArray = cardIds.split("\n");
    linesArray = linesArray.filter(lines => lines !== ""); // 空文字列を削除
    if (linesArray.length === 0) {
        throw new Error("Card IDs aren't set.");
    }

    const numOfLines = linesArray.length;
    if (numOfLines > httpClient.getRequestingLimit()) {
        throw new Error("Number of Card IDs is over the limit.");
    }
    return linesArray;
}


/**
  * カードをアーカイブする
  * @param {String} auth.apiKey
  * @param {String} auth.apiToken
  * @param {String} cardId
  */
function archiveCard(apiKey, apiToken, cardId) {

    const url = `https://api.trello.com/1/cards/${encodeURIComponent(cardId)}`;
    const response = httpClient.begin()
        .queryParam("key", `${apiKey}`)
        .queryParam("token", `${apiToken}`)
        .queryParam("closed", "true")
        .put(url);
    const status = response.getStatusCode();
    const responseStr = response.getResponseAsString();
    if (status !== 200) {
        engine.log(responseStr);
        throw new Error(`Failed to archive. Card ID: ${cardId}, status: ${status}`);
    } else {
        engine.log(`Succeeded to archive. Card ID: ${cardId}`);
    }
}

    

上部へスクロール

Questetra Supportをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む