外部コードエディターの使用
Web ベースのワークフローエディターを使用して、簡単な編集を行ったり、簡単なルールを記述したりできます。ただし、フル機能の開発環境での作業に慣れている場合は、JavaScript をサポートする IDE でワークフローを実際に作成できます。
最も快適な環境で作業できるよう、開発環境にインストールできるパッケージを npm レジストリサービス(英語)に公開しました。この機能は特定のプラットフォームに限定されません。JavaScript をサポートする環境であれば、どのような環境でも YouTrack のワークフロースクリプトを作成・管理できます。
ワークフロー API パッケージ
youtrack-scripting-api(英語) パッケージには、完全な YouTrack ワークフロー API が含まれています。このパッケージをコードエディターにプラグインすると、コード補完ツールは、API で利用可能なすべてのエンティティの有効な関数、メソッド、プロパティを提案します。
YouTrack アプリツール
youtrack-apps-tools(英語) パッケージには、外部コードエディターで作業する際に YouTrack アプリパッケージを管理するのに役立つユーティリティが含まれています。これにより、お好みの開発環境で JavaScript を使用して YouTrack 用のアプリやワークフローを作成および更新できます。
パッケージには、ローカルの変更を YouTrack インストールと同期させるスクリプトが含まれています。次のコマンドを使用できます。
コマンド | 説明 |
|---|---|
リスト | このコマンドは、YouTrack のインストール環境で使用可能なすべてのアプリパッケージを一覧表示します。このコマンドを使用するには、次のパラメーターを指定してください。
|
ダウンロード | このコマンドは、YouTrack のインストール環境から参照されているアプリパッケージをダウンロードします。 出力パラメーターでディレクトリを指定しない場合、現在の作業ディレクトリに <appName> という名前のディレクトリが作成されます。アプリパッケージファイルはこの新しいディレクトリに展開されます。指定した場合は、出力パラメーターで指定されたディレクトリにアプリパッケージがダウンロードされます。 このコマンドは次の構文を使用します。 youtrack-app download <appName> --host --token [--output, --overwrite] |
アップロード | このコマンドは、指定されたディレクトリからアプリパッケージを YouTrack インストール先にアップロードします。まず、スクリプトは参照ディレクトリ内でアプリ名を含む このコマンドは次の構文を使用します。 youtrack-app upload <dir> --host --token |
パッケージのインストール
IDE でこれらのパッケージを使用するには、Node.js(英語) をインストールして実行する必要があります。これにより、プロジェクトでスクリプトパッケージを使用できる npm パッケージマネージャーもインストールされます。
次に、ワークフロー API パッケージとアプリツールを開発環境にインストールします。最も簡単な方法は、以下のコマンドを使用してパッケージをグローバルにインストールすることです。
開発環境に依存関係としてパッケージをインストールする場合は、次を入力します。
ご使用のインストールで、独自の認証局(CA)によって発行された証明書または自己署名証明書が使用されていない限り、個人の永久トークンを使用して接続を確立できます。Hub アカウントの認証タブで、独自の永久トークンを生成できます。手順については、永久トークンを作成するを参照してください。
既知の CA によって発行されていない証明書を使用している場合、Node.js 環境で特定の変数を使用して、IDE と YouTrack インストール間の接続を有効にする必要があります。手順については、SSL 証明書に関する特別な指示を参照してください。
カスタムワークフローが少数で、更新頻度もそれほど高くない場合は、基本的なコマンドで十分かもしれません。しかし、定期的な更新の場合、リクエストごとにホストとトークンを指定する必要があるのは少々面倒です。次のセクションの手順に従って、このプロセスを簡素化し、これらのコマンドをスムーズに使用してください。
環境変数の操作
接続情報を各コマンドに渡す代わりに環境変数に保存することで、アプリツールのコマンドを効率化できます。
youtrack-app コマンドは、以下の環境変数を読み取ります。
YOUTRACK_HOST- YouTrack インストールのベース URL を指定します。myjetbrains.comでホストされている YouTrack Cloud インスタンスの場合は、末尾に/youtrackを含めます。YOUTRACK_API_TOKEN- YouTrack サービスへのアクセスを許可する永続的なトークン。
Hub アカウントの認証タブで、独自の永久トークンを生成できます。手順については、永久トークンを作成するを参照してください。
これらの値をシェルプロファイル、IDE 実行構成、シークレットマネージャーに保存してください。コマンドに --host または --token も渡した場合、コマンドラインの値が環境変数よりも優先されます。
最後のステップは、サポートされているコマンドを実行するスクリプトを作成することです。最も簡単な方法は、package.json ファイルを作成し、スクリプトを scripts フィールドに追加することです。
この package.json ファイルは、コマンドスクリプトと開発依存関係を格納する npm プロジェクトファイルです。アプリまたはワークフローパッケージの記述子ファイルは manifest.json です。
ファイルを作成してスクリプトをビルドするには:
CLI で、コマンド
npm initを入力します。これにより、JSON ファイルの作成に役立つユーティリティが起動します。ファイル内の各フィールドに対して、新しい値を指定するか、推奨されるデフォルトを受け入れます。すべてのフィールドに値を指定すると、JSON が CLI に表示されます。
プロンプト
Is this ok? (yes)を受け入れて、ファイルの作成を確認します。package.jsonファイルが現在のプロジェクトに追加されます。
package.jsonファイルを開き、スクリプトフィールドを編集します。ファイルから無関係なフィールドを削除することもできます。次の例を参考にしてください。{ "name": "myyoutrackworkflows", "version": "1.0.0", "description": "Custom workflows for my YouTrack installation", "scripts": { "list-prod": "youtrack-app list", "download-prod": "youtrack-app download", "upload-prod": "youtrack-app upload" }, "author": "Me", "devDependencies": { "@jetbrains/youtrack-apps-tools": "0.0.XX", "@jetbrains/youtrack-scripting-api": "20XX.X.XXXXX" } }@jetbrains/youtrack-apps-toolsおよび@jetbrains/youtrack-scripting-apiパラメーターの値を、これらのパッケージの最新バージョンに合わせて設定してください。
この時点では、ホスト名とトークンの値を指定せずにコマンドを実行できます。以下のコマンドを使用してスクリプトを実行してください。
npm run list-prodnpm run download-prod -- <app name>npm run upload-prod -- <directory>
基本的なプロセスは次のとおりです。
downloadコマンドを使用して、アプリケーションパッケージをインストール環境から開発環境にコピーします。変更を加えます。
uploadコマンドを使用して、YouTrack のアプリパッケージを更新します。
アップデートは依然として本番環境に直接適用されることに注意してください。より管理された方法で作業を進めたい場合は、次のセクションの手順に従ってください。
テスト環境への接続
外部エディターを使用してワークフローを作成する主な利点の 1 つは、複数の YouTrack インストールに接続できることです。他のコード開発プロジェクトと同様に、最初にサンドボックス環境で変更をアップロードしてテストする必要があります。意図したとおりに機能していることが確実な場合にのみ、本番環境でコードをデプロイしてください。
独自のサンドボックス環境を作成することをお勧めします。無料プランは、ワークフローをテストするための優れたソリューションです。
実稼働環境が YouTrack サーバーのインストールである場合は、ローカルコピーをダウンロードしてインストールし、無料プランを使用できます。ローカルインストールを実稼働環境と同じバージョンに更新して、ワークフローが期待どおりに動作するようにすることができます。
YouTrack クラウドをご利用の場合は、無料プランをご利用の別のインスタンスにご登録いただけます。ホストされているサーバーは、YouTrack の最新バージョンに自動的にアップグレードされます。
テスト環境でアカウントを設定したら、アプリツールコマンドを実行する際に、テスト環境の値を使用できます。
スクリプトをテスト環境に接続するように変更するには:
テスト環境で永続的なトークンを生成してください。
YOUTRACK_HOSTをテスト環境のベース URL に設定してください。YOUTRACK_API_TOKENをテスト環境の永久トークンに設定してください。本番環境で使用しているものと同じスクリプトを実行してください。アプリツールは、現在の環境のホスト名とトークンを使用します。
一般的なプロセスは次のようになります。
以下のコマンドを使用して、本番環境からアプリパッケージをダウンロードします。
npm run download-prod -- <app name>IDE でワークフローを更新します。
YOUTRACK_HOSTとYOUTRACK_API_TOKENの値を、ご使用のテスト環境に合わせて変更してください。以下のコマンドを使用して、変更したパッケージをテスト環境にアップロードしてください。
npm run upload-prod -- <directory>YouTrack サンドボックス環境でワークフローをテストします。
ワークフローが期待どおりに動作するまで、手順 2 ~ 5 を繰り返してください。
YOUTRACK_HOSTとYOUTRACK_API_TOKENを、ご使用の運用環境の値に戻してください。最終バージョンのパッケージを以下のコマンドで本番環境にアップロードしてください。
npm run upload-prod -- <directory>
YouTrack インストールのカスタマイズを担当するのがあなただけである場合は、ここで停止ことができます。この設定により、お気に入りの開発環境でのみ作業しながら、ワークフローを安全に更新できます。
組織内に独自のプロジェクト用のスクリプトを作成する他の開発者がいる場合は、全員が一緒に作業できるようにすることができます。次のセクションの指示に従って、この設定をチームと共有してください。
チームとして働く
このセクションで紹介する設定の最大の利点の 1 つは、コラボレーションをサポートしている点です。いくつかの変更を加えるだけで、他の開発者が YouTrack 環境内のワークフローを管理するために使用できるプラットフォームを構築できます。この設定は特定の環境に限定されないため、開発者はどのオペレーティングシステムでも JavaScript をサポートする IDE を使用できます。
まず最初にできることは、共有の npm package.json ファイルをコミットすることです。この設定を使用する各開発者は、それぞれ独自の個人トークンを生成して保存する必要がありますが、スクリプトは全員で共有できます。
次の例を参考にしてください。
スクリプトは YOUTRACK_HOST と YOUTRACK_API_TOKEN からホスト名とトークンを読み取ります。これにより、各開発者は共有プロジェクトファイルを変更することなく、ローカル環境内のターゲットとなる YouTrack インストールを選択できます。
最後のステップは、プロジェクトをリポジトリにアップロードすることです。プロジェクトをリポジトリにアップロードすると、他のユーザーは次の手順に従ってコーディングを開始できます。
リポジトリに接続し、プロジェクトのローカルコピーをダウンロードしてください。プロジェクトファイルに npm
package.jsonファイルを含めるようにしてください。ユーザーが使用する YouTrack インストール用の個人用永久トークンを生成し、環境変数として保存します。
これで、各開発者は次のアクションを実行できるようになります。
リポジトリからプロジェクトファイルをダウンロードします。
ローカル環境でワークフロースクリプトを更新します。
期待どおりに動作するまで、更新をサンドボックスにアップロードしてテストします。
改訂されたスクリプトを実稼働環境にアップロードします。
変更内容をリポジトリにプッシュし、改訂されたスクリプトのバージョンを更新します。
実際の例については、YouTrack カスタムワークフローリポジトリ(英語)を参照してください。ここでは、YouTrack のデフォルトワークフローではカバーされないさまざまなユースケースをサポートするワークフローをアップロードします。リポジトリからスクリプトをダウンロードして、特定のビジネスケースに合うようにスクリプトを調整することは誰でも歓迎です。コミュニティと共有したいスクリプトがある場合は、プルリクエストを送信してください !
SSL 証明書に関する特別な指示
YouTrack ドメインが既知の認証局によって発行された SSL 証明書を使用する場合、個人の永久トークンのみを使用して接続を確立できます。証明書は、Node.js に組み込まれている CA 証明書ストアにすでに含まれています。自動的に認識されない、または自己シグネチャーされた CA によって発行された証明書の場合、証明書を認識または無視するように Node.js の環境変数を変更する必要があります。
プライベート認証局
証明書が自動的に認識されない CA によって発行された場合、Node.js によって認識される証明書のリストに証明書を追加する必要があります。
証明書を追加するには、スクリプト内で環境変数 NODE_EXTRA_CA_CERTS=file を使用してください。この変数は、Node.js バージョン v7.3.0 (または LTS バージョン 6.10.0 および 4.8.0) 以降でサポートされています。
プライベート証明書を使用するには:
Web ブラウザーで YouTrack インストールを開きます。
ブラウザーのツールを使用して証明書をエクスポートしてください。具体的な手順はブラウザーによって異なります。
開発環境からアクセス可能なディレクトリに証明書ファイルを保存します。
NODE_EXTRA_CA_CERTSには、YOUTRACK_HOSTおよびYOUTRACK_API_TOKENを保存しているのと同じ環境にある証明書ファイルのフルパスを設定します。通常どおり
youtrack-appスクリプトを実行してください。Node.js は環境変数から追加の証明書を読み取ります。
自己署名証明書
閉鎖された環境で作業し、自己署名証明書を使用している場合は、環境変数 NODE_TLS_REJECT_UNAUTHORIZED=0 を使用して TLS 経由の安全な接続を無効にすることができます。
この変数は、ローカルインストール用のホスト名とトークンを保存している環境と同じ場所に設定してください。その後、通常どおり youtrack-app コマンドを実行してください。
この型の回避策は開発環境でよく行われますが、安全ではありません。潜在的な落とし穴に気付いていない場合は、このプラクティスを避けてください。この変数を使用して実稼働環境に接続しないでください。
関連ページ:
永久トークンの管理
YouTrack および Hub の開発者ポータルでは、永久トークンにより、開発者は OAuth 2.0 認証フローを実装しなくても、スクリプトおよびアプリケーションで RESTAPI 呼び出しを使用して安全に操作にアクセスして実行できます。永久トークンは、ユーザーアカウントに付与されたアクセス許可を持つサービスへのアクセスを許可します。このページでは、ユーザープロファイルで実行される永久トークンを使用した操作について説明します。永久トークンを使用した RESTAPI 呼び出しのサンプルについて...
Web ベースのワークフローエディター
YouTrack には、JavaScript でワークフローを作成するために使用できる Web ベースのワークフローエディターが組み込まれています。統合開発環境でコードを書くことを好む場合でも、JavaScript をサポートする外部エディターを使用してワークフローを YouTrack にインポートすることができます。Web ベースのワークフローエディターにアクセスするには: アプリケーションヘッダーの管理メニューから、ワークフローを選択します。JavaScript で記述されたワークフローを見つ...
デフォルトのワークフロー
YouTrack は、最も一般的なユースケースをカバーするいくつかのデフォルトワークフローを提供します。例: 課題をサブシステムの所有者に自動的に割り当てる、または重複する課題を処理するワークフロー。多くのデフォルトワークフローは自動接続されています。これらのワークフローは、すべての新しいプロジェクトに自動的にアタッチされます。デフォルトのワークフローを編集:デフォルトのワークフローをカスタマイズして、YouTrack サーバー上の他のワークフローと同様に実際のユースケースをサポートできます。...