2012-02-15 8 views
1

Rally APIを使用して特定の基準に基づいていくつかの簡単な自動ランキングストーリーを実行するアプリを作成することを検討していました(/製品所有者の)をドラッグします。&ドロップ作業領域。Rally APIを使用して複数のストーリーを再ランク付けする

私はこれを、ストーリーのシーケンスの「ランク」プロパティを調整することで行いました(ランクの値をオートリオーダーの前と同じ全体的な最小/最大範囲内に保つようにしました)。 APIの呼び出しを行い、各ストーリーのランクを個別に(連続して)更新しました。

自動ランキングアプリを実行した後に、かんばん板などの一部の画面で「手動ランクのワークスペースでドラッグアンドドロップの再ランキングが無効になっている」と表示されることがありました。かんばんは、もはや&をドラッグすることはできませんでしたが、バックログなどの他の画面ではまだドロップすることができます&ドロップ、およびワークスペースの設定はまだ&ドロップをドラッグするように設定されました。ストーリーを削除したり、バックログ画面で並べ替えたりすると、元の状態に戻ります。

これを解決するためにいくつかのアイデアを試した後、私は、おそらく数々のストーリーのランクをすばやく更新していると考えていました。バックエンドはこれらの(潜在的に/複数の)リクエストと混同している可能性があります。各ストーリーのAPI呼び出しの間に遅れを導入することで、この問題を回避しているように見えましたが、スピードを上げるために、前回のストーリーのランク更新で「updateComplete」関数が呼び出された後で初めてAPIでストーリーのランクを更新します。

上記の最後の段落の仮定は、バックエンドのランキングに基づいて意味を持ちますか?一度に複数のストーリーを更新するためのJavascript API呼び出しはありますか? (それ以外の場合は、以前のAPIの「ランク更新」コールが正常に戻った後に、API「更新ランク」を呼び出すだけの解決には大変満足しています)。

答えて

1

バックエンドのランキングで考えられる問題を発見したようです。あなたが取っていた警告は、ボードの中にあなたがいる作業スペースのタイプ(手動またはdndランク)を把握しようとしています。この設定は現在WSAPIで利用できないため、ボードはデータに基づいてそれを把握しようとしますが、時には間違ってしまいます。

現在、WSAPI経由でアイテムのランクを調整する方法は完全にはサポートされていません。 App SDKのCard Boardコンポーネントは、更新呼び出し中に特別なrankAboveおよびrankBelowクエリ文字列パラメータを使用します(FirebugまたはChrome開発ツールで確認できます)。

現在、ランクの値はどのように設定していますか?

+0

興味深い。 JSから、私はrallyDataSource.update({"_ ref":item._ref、 "Rank":newRank}、onUpdateComplete、onUpdateError)を実行しています。 – user1141827

+0

これをフォローアップするだけで、私はrubyアプリのper'item.update(:rank => newRank);から長年このテクニックをうまく使いこなしました。 (このRubyアプリは、私の新しいJSアプリではなく、一度に1階のランクを変更しただけですが、複数の物語のランクを変更しています):私は昔のランクフィールド読取り専用として定義されていますが、これは長年のケースであるかどうかはわかりません。 – user1141827