Split と Jira で機能フラグを課題に接続する方法

Kevin Li 氏の顔写真
Kevin Li 氏

Split のプロダクト マネージャー

このチュートリアルでは、課題を機能フラグに接続する方法と、Jira と Split の両方で対応する情報を表示する場所について詳述します。

所要時間

10 分

対象者

Jira Software と Split を使用します。

前提条件

統合型機能デリバリー プラットフォームである Split は機能フラグのスピードと信頼性をデータと組み合わせて、ソフトウェア チームがコード変更の影響を測定してビジネス成果を促進する機能を提供できるようにします。

ステップ 1: 機能フラグを課題に接続する

課題を作成すると、画面右側の課題の詳細にリリースのフィールドが表示されます。[+機能フラグを追加] をクリックして [機能フラグを作成] または [機能フラグを接続] を選択します。

ソフトウェア開発ツールである機能フラグは、本番環境、段階的リリース、実験、運用におけるテストのために、機能を安全に有効/無効にするために使用されます。

[機能フラグを接続] を選択すると、Split のフォームにリダイレクトされます。ここでは、この Jira 課題に接続するワークスペース (Split で Jira Cloud を構成するときに選択) と機能フラグ (分割) を選択できます。ツール間でコピーして貼り付ける時間を節約するために、Jira 課題番号が Split にあらかじめ入力されています。

機能フラグを接続

[機能フラグを作成] を選択すると、Split の機能フラグ (分割) 作成フォームにリダイレクトされます。ここでは、ワークスペース (Split で Jira Cloud を構成する際に選択) を選択して分割に名前を付け、トラフィック タイプ (フラグ評価に使用されるキーのタイプ) を選択して 1 人以上の所有者 (この分割を編集できるユーザー) を指定します。タグ説明を追加して、拡張する際に自分とそのチームが分割を編成して識別できるようにすることをお勧めします。

ここでも便宜上、Jira 課題番号が事前入力されています。[Jira 課題] フィールドに複数の Jira 課題を追加もできます (該当する場合)。

機能フラグを接続

Jira 課題に機能フラグが正常に追加されたので、機能フラグの名前とステータスが [リリース] フィールドに表示されます。フラグにターゲティング ルールがすでに構成されている場合、[リリース] フィールドに反映されるステータスは [ON (オン)] になります (フラグがユーザーをアクティブにターゲットにしているか、強制終了されているかにかかわらず)。ターゲティング ルールがフラグに追加されていない場合、ステータスは [OFF (オフ)] になります。

必要に応じて、[リリース] の横にある [+] アイコンを使用して、複数の機能フラグを追加できます (該当する場合)。複数のフラグが接続されている際は、[ON (オン)] 状態のフラグの数が表示されます。すべてのフラグにターゲティング ルールが構成されていない場合は、ステータスが [OFF (オフ)] のフラグの数が表示されます。フラグ名は、[リリース] フィールドにカーソルを合わせると表示されます。

ステップ 2: 機能フラグのターゲティング ルールを設定する

Split には、制御されたロールアウトで機能フラグによってユーザーをターゲットにする複数の方法があります。

制御されたロールアウトは、非常にきめ細かなユーザー ターゲティングを備えた機能ロールアウトです。これによって新しい機能を段階的にリリースできるため、小規模なユーザー グループに優れたユーザー エクスペリエンスを提供してから、大規模なグループにリリースできます。

定義済みリスト: (セグメント)、ターゲティング ルールトラフィック割り当ての割合に基づいて、各処理にユーザーを指定できます。場所、年齢、ショッピング カートのサイズなど、アプリケーションで実行されている Split SDK で利用可能な任意のユーザー属性に基づいて、ターゲティング ルールを設定できます。これらのターゲティング方法を組み合わせることで、ロールアウトや実験のためにユーザーをセグメント化する際のきめ細かい制御が可能になります。

まず、特定の割合のユーザーに機能が最初にリリースされる、制御されたロールアウトについて説明します。これによって、少数のユーザーに対して本番環境で新機能をテストして、ユーザー (とアプリケーション) の反応を確認できます。反応が肯定的であれば、ユーザー ベースの 100% が新機能になるまで、割合を増やし続けられます。

割合によって制御されるロールアウトの実行は、Split のデフォルト ルールを使用して行われます。このルールは、他のターゲティング ルールが存在しない場合や、他のターゲティング ルールで指定された基準を満たさないユーザーに適用されます。

Jira の [リリース] フィールドで機能フラグをクリックすると、Split のフラグの [ターゲティング ルール] タブにリダイレクトされます。ターゲティング ルールを作成する前に、まず処理を定義する必要があります。フラグ処理は、ユーザーに適用する機能のさまざまなバリエーションです。最も単純なフォームでは、これは「オン」(機能を表示) または「オフ」(機能を非表示) です。

処理を定義

処理を定義したら [Set the default rule (デフォルト ルールを設定)] までスクロールして、[serve (提供)] ドロップダウンで [percentage (割合)] を選択します。ここでは、各処理にランダムに割り当てるユーザーの割合を割り当てられます。これらの割合は、リスク許容度に基づいています。たとえば、これがリスクの高い機能である場合は、1% の「オン」、99% の「オフ」で開始することをお勧めします。各処理に対する割合の割り当てが完了したら、タブの右上にある [Save changes (変更を保存)] をクリックしてルールを有効にします。

既定値に設定

これで、Jira のリリースの横にあるこの機能フラグを表示すると、ステータスが [ON (オン)] に更新されて、フラグにターゲティング ルールが構成されていることがわかります。フラグにカーソルを合わせると、処理名と、その処理にランダムに割り当てられているユーザー ベースの割合が表示されます。この例では、カーソルを合わせると「1% オン」と表示されます。カーソルを合わせた際のこの詳細は、Split でターゲティング ルールを変更すると自動更新されます。

たとえば、ルールを追加して、QA テスターがデフォルト ルールで 1% の「オン」や 99% の「オフ」をランダムに割り当てられるのではなく、常に「オン」の処理を受けるようにする場合は、QA テスターで構成されるセグメントを作成することで Split で簡単に行えます。

Split でセグメントが作成されたら、[ターゲティング ルール] タブに戻って [ホワイトリストを作成] をクリックし、常に「オン」の処理を受けるように QA テスター セグメントを追加します。

ホワイトリストを作成

これで、Jira のリリースの横にあるこの機能フラグを表示して、フラグにカーソルを合わせると、有効なターゲティング ルールの数が表示されます。この例では、カーソルを合わせると「2 つのルール」が表示されます。

ステップ 3: より多くのユーザーに機能フラグを増やす

機能をより多くのユーザーに公開しても安全であると確信できたら、デフォルト ルールを更新して、「オン」の処理にランダムに割り当てるユーザーの割合を増やせます。

これを行う前に、機能フラグに関連付けられている未完了の Jira 課題があるかどうかを再確認することをお勧めします。これは、フラグ (分割) の外部オブジェクトにある [Additional settings (追加設定)] タブの [分割] で簡単に確認できます。ここでは、ステップ #1 で接続した課題は完了しており、他に未解決の課題がないことがわかります。分割を増やしても安全です。

Jira 課題を表示

未完了の課題が表示された場合は、その課題をクリックして Jira で詳細を表示するか、担当者に直接連絡して更新できます。ここでは Jira 課題を追加もできます。

より多くのユーザーに分割を増やすには、分割の [ターゲティング ルール] タブに戻り、[Default Rule (デフォルト ルール)] の割合を適切な割り当てに更新します。この機能が 100% のユーザーにロールアウトされるまで、この手順を繰り返せます。

Atlassian Open DevOps の統合に関する詳細をご参照ください。

Kevin Li
Kevin Li

Kevin Li is a product manager at Split who focuses on core feature flagging, security, and workflow-based features. Prior to his current home in product management, he spent time in sales engineering and customer success. Outside of work, he finds joy in doing anything out in the sun, whether it be backpacking, cooking, or reading.


この記事を共有する
次のトピック

おすすめコンテンツ

次のリソースをブックマークして、DevOps チームのタイプに関する詳細や、アトラシアンの DevOps についての継続的な更新をご覧ください。

DevOps のイラスト

DevOps コミュニティ

DevOps のイラスト

DevOps ラーニング パス

マップのイラスト

無料で始める

DevOps ニュースレター購読

Thank you for signing up