コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】ビルド時に Jenkins の情報を Resources フォルダのテキストファイルに書き込むエディタ拡張

リポジトリ

使用例

2022-10-15_162807

Project Settings で Jenkins の情報を書き込むテキストファイルの保存場所や
書き込むテキストファイルのフォーマットを設定します

"C:\Program Files\Unity\Hub\Editor\2022.1.11f1\Editor\Unity.exe" ^
    -quit ^
    -batchmode ^
    -executeMethod "BuildScript.Build" ^
    -logFile - ^
    -projectPath "UnityProject" ^
    -buildNumber "%BUILD_NUMBER%" ^
    -buildId "%BUILD_ID%" ^
    -buildDisplayName "%BUILD_DISPLAY_NAME%" ^
    -jobName "%JOB_NAME%" ^
    -jobBaseName "%JOB_BASE_NAME%" ^
    -buildTag "%BUILD_TAG%" ^
    -buildTimestamp "%BUILD_TIMESTAMP%"

そして、Jenkins から Unity ビルドする時に
Jenkins の情報を上記のようにコマンドライン引数で Unity に渡します

using UnityEngine;
using UnityEngine.UI;

public sealed class Example : MonoBehaviour
{
    public Text m_text;

    private void Awake()
    {
        var textAsset = Resources.Load<TextAsset>( "jenkins" );
        m_text.text = textAsset.text;
    }
}

最後に上記のようなコードを記述することで
ビルド時における Jenkins のジョブ名やビルド日時を取得できます

参考