0

カードのアクションのリストを取得できます。しかし、アクション カードには限られた情報しか含まれていないため、実際のアクションの内容に到達するにはどうすればよいでしょうか。

var actionList = trello.Actions.ForCard(card);
foreach (TrelloNet.Action action in actionList)

リスト内の各アクションを確認すると、アクションを開始したメンバー、日付、メンバー、およびアクション タイプ (TrelloNet.UpdateCardAction など) のみが表示されます。このカードをボードに転送したなど、アクションの実際のコンテキストに到達するにはどうすればよいですか?

これが実際のアクション情報に到達する正しい方法でない場合は、正しい論理パスを教えてください。

ありがとう、

カイ

4

1 に答える 1

1

アクションの各タイプは、クラスのサブクラスActionです。Dataサブクラスには、そのタイプのアクションに関する特定の情報を含むというプロパティがあります。

例として、ボードのカード作成アクションをすべて出力したい場合は、次のように実行できます。

var board = trello.Boards.WithId("a board id");
foreach (var action in trello.Actions.ForBoard(board).OfType<CreateCardAction>())
{
    Console.WriteLine(action.Date + " " + action.Data.Card.Name);
}

これにより、すべてのボード アクションが trello から取得され、メモリ内でフィルター処理されます。パフォーマンス上の理由から、次のような追加のパラメーターを渡すことで、特定のアクション タイプのみを要求するように Trello.NET に指示できます。

foreach (var action in trello.Actions.ForBoard(board, 
    new[] { ActionType.CreateCard }).OfType<CreateCardAction>())
{
    Console.WriteLine(action.Date + " - " + action.Data.Card.Name);
}

多くのアクションが存在する可能性があるため、trello はページングを使用します。パラメータを渡して、Pagingtrello にページ インデックスとページ サイズを伝えることができます。以下は、各ページが 100 アクションであり、最初のページ (0) が必要であることを意味します。

foreach (var action in trello.Actions.ForBoard(board, 
    new[] { ActionType.CreateCard }, 
    paging: new Paging(100, 0)).OfType<CreateCardAction>())
{
    Console.WriteLine(action.Date + " - " + action.Data.Card.Name);
}

AutoPaged()ページングに役立つ拡張メソッドが呼び出されます。using ステートメントを追加...

using TrelloNet.Extensions;

...そして使用しますAutoPaged()。Trello.NET は、必要に応じて新しいページを自動的に取得します。

foreach (var action in trello.Actions.AutoPaged().ForBoard(board, 
    new[] { ActionType.CreateCard }).OfType<CreateCardAction>())
{
    Console.WriteLine(action.Date + " - " + action.Data.Card.Name);
}

注: 新しいアクション タイプが Trello.NET に追加されてからしばらく時間が経過しているため、認識されない新しいアクション タイプが存在する可能性があります...

于 2014-04-28T06:21:16.723 に答える