メインコンテンツまでスキップ
バージョン: KPM v3

エイリアスを作成する

エイリアスを作成する方法を説明しています。


備考 - Since

この機能は KPM v3 で強化されました!

このページの前提要件

要件名要件摘要
GitHub アカウント有効な GitHub アカウントエイリアスの管理に GitHub アカウントが必要です。

エイリアスマネージャを作成する

エイリアスの作成をしたことがない場合は、まずエイリアスマネージャを作成する必要があります。
以下のステップを実行してください。

備考

もしあなたが KUNLab のメンバーであれば、このセクションを飛ばして >エイリアスを作成する< に進んでください。

ステップ1. エイリアスマネージャ・リポジトリを作成する

このテンプレート・リポジトリを使用して、新しいリポジトリを作成します。

  1. 画面右上の、Use this template をクリックします。
    Screen shot
  2. リポジトリ名を入力し、 Create repository from template をクリックします。
    危険

    リポジトリの可視性は、 Public にしてください。 Private にすると、 GitHub の仕様により、 YAML Issue Template 機能が無効化されます。これにより、エイリアスの作成が難しくなります。

    Screen shot

ステップ2. 設定を編集する

リポジトリを作成したら、初期設定を行います。

  1. src フォルダに移動し、global_constants.py を開き、 右上の ✏️ ボタンをクリックします。 Screen shot

  2. 以下の箇所を編集します。

    • ORG_NAME を、あなたの GitHub アカウント名(もしくは組織名)に変更します。
    • REPO_NAME を、作成したリポジトリ名に変更します。
    global_constants.py
      # ...

    GITHUB_TOKEN = os.getenv("GITHUB_TOKEN")
    ORG_NAME = "ExampleUser"
    REPO_NAME = "ExampleRepository"
    PERMISSION_LEVEL = "read"
    CHECK_USER_IN_ORG = True

    # ...

    詳細な設定の一覧は、こちらを参照してください。

  3. 右上の Commit changes… をクリックし、 表示されるダイアログの Commit changes をクリックします。

    ヒント

    ダイアログの内容を変更することもできますが、その場合は、Commit directly to the main branch にチェックを入れてください。

    Screen shot Screen shot

ステップ3. Issue label を作成する

  1. リポジトリのトップページに移動し、 Issues をクリックします。
    Screen shot

  2. Labels をクリックします。
    Screen shot

  3. デフォルトのラベルを削除するために、 各ラベルの右側にある Delete をクリックし、表示されるダイアログの OK をクリックします。
    Screen shot

  4. New label をクリックし以下のラベルを作成します。

    Label nameDescriptionColor
    Status: Triage approvedエイリアスの作成が承認されたことを示すラベルです。#0E8A16
    Status: Triage deniedエイリアスの作成が拒否されたことを示すラベルです。#B60205
    Status: Pendingリクエストを確認中であることを示すラベルです。#FCE94F
    ヒント

    ラベルの説明 (Description) と色 (Color) は、任意のものに変更することができます。

    作成したラベルは以下のようになります。
    Screen shot

ステップ4. KPM に登録する

  1. KPM の設定ファイル (config.yml) を開き、以下の箇所を編集します。

    • <エイリアスマネージャの任意の名前> には、任意の文字列を指定します。
    • <GitHubアカウント名> には、エイリアスマネージャのリポジトリを作成した GitHub アカウント名を指定します。
    • <リポジトリ名> には、エイリアスマネージャのリポジトリ名を指定します。
    config.yml
    # ...

    # ----------------------[ プラグイン解決設定 ]-------------
    # プラグインの解決の設定を定義します。
    # プラグイン解決とは、 インストール時等に指定するクエリから、プラグインのJarの直リンクを取得する一連の流れを指します。
    # ------------------------------------------------------
    resolve:
    # ...

    # KPM のプラグイン解決に使用されるエイリアスの設定を定義します。
    aliases:
    # エイリアスの取得元(データソース)を定義します。
    sources:
    # ...
    - name: "<エイリアスマネージャの任意の名前>"
    url: "https://raw.githubusercontent.com/<GitHubアカウント名>/<リポジトリ名>/main/aliases.json"
    # ...
  2. サーバを再起動またはリロードします。

    /reload confirm を実行するか、サーバを再起動してください。

エイリアスを作成する

エイリアスの追加は、GitHub の Issue 機能を使用してリクエストします。以下の手順でリクエストを作成してください。

リクエストを送信する

  1. リポジトリのトップページに移動し、 Issues をクリックします。

    備考

    もしあなたが KUNLab のメンバーであれば、https://github.com/TeamKUN/PluginManagerRepository で作業してください。

  2. 画面右上の New issue をクリックします。
    Screen shot

  3. 画面中央の エイリアス追加リクエスト セクション右側の Get started をクリックします。
    Screen shot

  4. エイリアスの名前 に作成したいエイリアス名を、 クエリ に、紐づけるクエリを入力します。
    Screen shot

    ヒント

    タイトルの 【エイリアス】エイリアス作成リクエスト は編集しなくても問題ありません。

    危険

    画面右側の Label は変更しないでください。

  5. 画面下部の Submit new issue をクリックします。
    Screen shot

トリアージの結果

リクエストのトリアージが完了すると、ラベルが付与され、 github-actions からのコメントが追加されます。
トリアージ完了時には、 Issue が閉じられ、会話が制限されます。

承認された場合

Screen shot

エイリアスが作成された場合

承認後エイリアスが作成されると、以下のようなコメントが追加されます。

Screen shot

拒否された場合

Screen shot

拒否事由によって以下のようにコメントが変わります。

拒否事由拒否事由 (RAW)コメント
組織に所属してないUNAUTHORIZED::NOT_IN_ORGANIZATIONあなたはこのリポジトリを所有する組織に所属していません。
適切な権限がないUNAUTHORIZED::NO_PERMISSIONあなたはこのリポジトリに対して十分な権限を持っていません。
エイリアス名に使用できない文字が含まれているINVALID_ALIAS_NAMEエイリアス名が不正です。
リクエストフォームに沿った書き方をしていないUNABLE_TO_PARSE_REQUESTリクエストの解析に失敗しました。
エイリアス名が既に存在しているDUPLICATE既に同じエイリアスが存在します。

詳細情報

global_constants.py について

global_constants.py は、エイリアスマネージャの設定ファイルです。設定の一覧は以下の通りです。

危険

ISSUE_NUMBERGITHUB_TOKEN は実行時に自動的に設定されるため、編集しないでください。

設定名デフォルト値摘要
ISSUE_NUMBER...GitHub の Issue の番号です。
GITHUB_TOKEN...GitHub のトークンです。
ORG_NAMEGitHub の組織・ユーザ名です。
REPO_NAMEGitHub のリポジトリ名です。
PERMISSION_LEVELreadエイリアスを追加する際の権限レベルです。この権限よりもリポジトリの権限が低いユーザは、エイリアスを追加できません。
CHECK_USER_IN_ORGTrueユーザが組織に所属しているかどうかをチェックするかどうかです。この設定は、ORG_NAME が組織名である場合のみ有効です。
APPROVED_LABEL_NAMEStatus: Triage approvedエイリアス追加のリクエストが承認された際に付与されるラベル名です。
DENIED_LABEL_NAMEStatus: Triage deniedエイリアス追加のリクエストが拒否された際に付与されるラベル名です。
PENDING_LABEL_NAMEStatus: Triage pendingエイリアス追加のリクエストが承認待ちの際に付与されるラベル名です。
ALIAS_PATHdatabase.jsonエイリアスのデータベースへのパスです。
ALIAS_NAME_PATTERN^[a-zA-Z0-9_-]+$エイリアス名の正規表現です。
APPROVED_ISSUE_COMMENT...エイリアス追加のリクエストが承認された際に、Issue に付与されるコメントです。
DENIED_ISSUE_COMMENT...エイリアス追加のリクエストが拒否された際に、Issue に付与されるコメントです。
DENY_REASONS...エイリアス追加のリクエストが拒否された際に、Issue に付与されるコメントの中で、拒否理由として表示される理由です。
ALIAS_ADDED_COMMENT...エイリアスが追加された際に、Issue に付与されるコメントです。
ヒント

_COMMENT で終わる設定は、{alias_name} がエイリアス名に補完されます。
また、 DENY_REASONS は、{reason} が拒否理由に、 {raw_reason} がそのままの理由に補完されます。