「社内でJira Softwareを利用しています。社内の業務で使用するアプリ(アドオン)を開発したいのですが、どうすればいいでしょうか?」Atlassian製品を利用しているユーザーは、このような悩みを抱える方が多いのではないでしょうか。
Atlassian Cloud でのアプリ(アドオン) 開発方法としては以下2つがあります。
・Forge(フォージ)
・Connect(コネクト)
Connectは、Atlassian Cloud でのアプリ(アドオン) 開発として従来からある仕組みで、Atlassian Marketplace でも販売できます。一方、Forgeは、2021年に正式リリースされた FaaS 形式でインフラは不要です。Atlassian Marketplaceで Forge アプリを共有・販売したり、開発者コンソールを介してユーザーに直接アプリを配布することができます。
この記事では、Atlassian Forgeとは何か、その機能、使用を開始するために知っておくべきことすべてについて解説します。アプリ開発の初心者でも、経験豊富な開発者でも、この記事は Forge を使用して Atlassian プラットフォーム上でアプリを構築するためのガイドです。
Atlassian Forgeとは
Forge は、Atlassian 社が提供する FaaS プラットフォームです。現在は、Jira、Jira Service Management、Confluence の3つの製品に対応しています。作成されたアプリはこれらの製品上で利用することになり、Atlassian製品をさらに便利にすることが期待できます。
FaaSとはFunction-as-a-serviceであり、サーバレスでアプリケーション開発ができる環境を提供するサービスのことです。マネージド ストレージ、ホスティング機能を備えたForgeは、Atlassian製品用のアプリを構築するプロセスを簡素化します。
公式ドキュメントでは以下のアプリの例が紹介されています。
・Jira の課題を多言語翻訳にするアプリ
・Confluence 辞書アプリ
選択されたテキストの定義をインラインダイアログに表示します。定義が存在しない場合、ユーザーは新しい定義を送信できます。
・Jira Service Management 最近のリクエストアプリ
顧客ポータルのリクエストで、最新の 5 件のユーザーリクエストを表示します。
Atlassian Forge のメリット
Atlassian Forge は、開発者がAtlassian製品と連携するクラウド アプリケーションを作成およびデプロイできる堅牢なプラットフォームです。
Forge は、Web 開発用のクラウドベースのプラットフォームとして、クラウド アプリの作成プロセスを高速化し、アプリのパフォーマンス、セキュリティ、全体的な使いやすさを管理するために必要なすべてのツールを提供することで、シームレスな開発体験を提供します。以下はこのプラットフォームの利点の一部を紹介します。
Atlassianによるホスティング
Atlassian Forge はホスト型プラットフォームであるため、開発者はアプリケーションのインフラストラクチャやサーバー側のメンテナンスを気にする必要がありません。Atlassianはスケーリング、デプロイメント、セキュリティなどのすべてのバックエンド操作を管理するため、開発者は優れたアプリケーションの作成だけに集中できます。
ユーザーは 1 つの関数を作成するだけでアプリの動作を確認できるため、開発とメンテナンスの時間が大幅に短縮されます。これにより、Forge で構築されたアプリの実行がより簡単になり、より安全になり、コスト効率が高くなります。
さらに、Atlassianの製品ラインと開発者が作成するアプリとの統合が容易になり、必要なサポートへのアクセスも容易になります。
効率的なアプリ開発
Atlassian Forge は、高度な開発ワークフロー、シンプルな API、事前構築されたコンポーネントの広範なライブラリにより、アプリ開発のための高速かつ効果的な環境を提供します。また、Jira、Confluence、Bitbucket などの他のAtlassian製品やサービスと統合するための豊富なアプリケーション プログラミング インターフェイス (API) セットも提供します。
Atlassian Forge でアプリを開発すると、数分で Atlassian Marketplace に公開でき、すべての Atlassian ユーザーがアプリを見つけてダウンロードできるようになります。この簡素化されたプロセスにより、アプリビルダーは高品質を維持しながら、より迅速かつ安価に製品を作成できるようになります。これにより、迅速な反復が容易になり、開発者がユーザーのフィードバックに迅速に対応し、それに応じてプログラムを改良するのに役立ちます。
シームレス統合
このプラットフォームを使用すると、開発者は他のAtlassian製品と連携するアプリケーションを作成できます。このシームレスな統合により、開発者は既存の Atlassian ワークフローを補完および強化するアプリケーションを設計できるようになり、全体的な効率が向上します。
オンボーディングおよびテンプレート機能を Forge Command Line Interface (CLI) と統合することで、Forge アプリの管理が簡素化されます。これにより、開発者は適切なツールチェーンを活用して、Forge アプリケーションを継続的な展開ワークフローに組み込むことができます。
強力な API
Atlassian Forge には強力で多用途な API があり、ユーザーはAtlassian製品にシームレスに接続する堅牢なアプリを作成できます。 API 設計は、開発者がニーズに合わせて適切な API を簡単に見つけて利用できるようにすることを目的としています。 Atlassian Forge は、REST API、UI API、Webhook、Identify API、および Data Storage API を使用します。これらの API は、Atlassian製品内のさまざまな機能へのアクセスを提供します。開発者はこれらの API を使用して、データにアクセスし、変更し、独自のアクションを実行し、プロセスを自動化できます。
安全でスケーラブル
Atlassian Forge は、安全でスケーラブルなアプリケーション開発およびデプロイメント プラットフォームを提供します。業界によって確立されたセキュリティ標準に準拠し、プラットフォーム上で開発されたアプリが安全でコード標準に準拠していることを保証します。さらに、このプラットフォームは拡張可能で、軽量のアドオンから包括的なビジネス ソフトウェアに至るまで、幅広いプログラム要件に対応できます。
Forge アプリは、Atlassianのエンタープライズ レベルの製品と同じインフラストラクチャ上で実行されるため、オンデマンドで拡張できます。アプリケーション機能を実行すると、従来のアプリケーションで一般にパフォーマンスのボトルネックを引き起こす制限が解消されます。
Forge は、Atlassian製品のカスタマイズアプリを構築およびデプロイするための安全でスケーラブルなプラットフォームを提供します。これにより、組織はニーズの急速な進化に合わせてソリューションを拡張できます。
強力な UI キット
Forge プラットフォームは、最新で統一されたユーザーインターフェースを備えたアプリを作成するための豊富な UI ツールキットを開発者に提供します。これらの UI キットを使用すると、事前に構築されたコンポーネントを使用してユーザーインターフェースを迅速かつ簡単に構築できます。これにより、開発者は最小限のコーディングで魅力的で直感的なアプリインターフェースを作成できます。
開発者に優しい
Atlassian Forge は開発者を念頭に置いて作成され、簡略化された効率的な開発体験を提供することに重点を置いています。開発者は、プラットフォームの豊富なドキュメント、チュートリアル、サンプルを使用して、すぐに起動して実行できます。また、このプラットフォームは、開発者にサポートとフィードバックを提供する責任を負い、有望で効果的に運営されている開発コミュニティを利用可能にします。
ForgeとConnectの比較
Atlassianは、クラウド アプリケーション開発用に Connect と Forge の両方を設計しました。これらのアプリケーションは、 Atlassian Marketplace でビジネスニーズを満たします。 Connect と Forge の両プラットフォームには、フロントエンド開発のための製品内 UI モジュールがあります。
これらの類似点にもかかわらず、Atlassian Forge は多くの点で Connect とは異なります。
Connect は、Jira、Confluence、Bitbucket を使用してアプリを構築できる古いプラットフォームです。アプリは任意の言語で作成できますが、Atlassianではオプションの Java および Node.js フレームワークも提供しています。開発者は、アプリのインフラストラクチャ、技術スタック、セキュリティの実装を完全に担当します。
Atlassianは、Connect が対応できなかった課題に対処するため、新しいクラウド アプリ開発プラットフォームである Forge をリリースしました。
Forgeには、DevOps体験を効率化する開発環境など、多くの機能が備わっています。 Forge を使用すると、開発者はインフラストラクチャとセキュリティについて心配する必要がなくなります。プラットフォームがすべてを処理します。ただし、アプリ関数を作成できるのは Node.js のみです。
それらの主な違いは次の4つがあります。
① ホスティング
Connect を使用して構築されたアプリは、開発者によってホストされます。 Forge アプリは Atlassian によってスポンサーされているため、Forge を使用する開発者はホスティング インフラストラクチャについて心配したり、サーバーを管理したりする必要がありません。
② 開発経験
Forge は、使いやすさを重視した最新の合理化された開発体験を提供します。一方、Connect には、アプリの開発とデプロイのためのより複雑なワークフローがあります。
③ APIアクセス
Forge の API はConnect に比べて少ないです。ただし、Forge の API サーフェスはより単純化されており、操作が容易になっています。
④ スケーラビリティ
スケーラビリティはForge の主要な特性の 1 つです。このプラットフォームは、大量のトラフィックを処理できるクラウドベースのインフラストラクチャを提供するため、必要に応じてシームレスにスケールアップできます。
Forge を使ってみる
Forge を使用すると、プラットフォームが開発の他の側面を処理しながら、Atlassian クラウド アプリのコードを数分で作成できます。このセクションでは、このプラットフォームでアプリを作成するための前提条件に焦点を当て、開始に役立つドキュメントへのリンクをいくつか提供します。
前提条件
Forge でアプリを作成する前に、Atlassian アカウントを作成する必要がある場合は、サインアップする必要があります。アカウントにサインアップした後、Atlassian コマンド ライン ツールをインストールする必要があります。 CLI がインストールされたら、API トークンを使用してログインし、すべての Jira アプリケーションがインストールされた開発者サイトを作成できます。
Forge アプリは、Visual Studio Code、JetBrains WebStorm、Atom など、Node.js 開発をサポートするテキスト エディターまたは IDE を使用して開発できます。 Forge CLI を使用するには、完全にサポートされている Node.js の LTS リリースをインストールする必要があります。 Docker のインストールも必要な場合があります。
Forgeのドキュメント
Forge には、開発環境のセットアップ、アプリの作成、Atlassian Marketplace へのデプロイに関する段階的な手順を説明する包括的なドキュメントが用意されています。 Forge ドキュメントへの役立つリンクをいくつか紹介します。
1. Forge 入門ガイド
https://developer.atlassian.com/platform/forge/getting-started/
2. Forge ドキュメント ハブ
https://developer.atlassian.com/platform/forge/
3. CLI ドキュメントを作成します。
https://developer.atlassian.com/platform/forge/forge-cli/
4. Forge UI コンポーネントのドキュメント
https://developer.atlassian.com/platform/forge/ui-components/
まとめ
Atlassian Forge プラットフォームは、開発者のアプリ開発プロセスを簡素化する幅広いツールとリソースを備えた堅牢なクラウドベースの開発環境です。包括的なドキュメント、チュートリアル、その他のサポートとガイダンスは、あらゆるスキル レベルの開発者がプラットフォームを使用するのに役立ちます。Forge を使用することで、Atlassian製品とサービス用の革新的なアプリの作成をシームレスに開始できます。
ディエスソリューションは、Atlassian Marketplaceでさまざまなアプリケーションの開発に豊富な経験を持っております。Atlassian製品のアドオン開発のご検討中の方はお問い合わせフォームよりご連絡ください。