Skip to content

Release Please Action で kintone プラグインも管理する

Updated:

GitHubの Release Please Action でkintoneプラグインのバージョン(manifest.json)も更新し、リリースにプラグインファイルを添付する方法。

背景

プラグインのバージョン管理を自動化したい。

手順

1. Release Please Action の manifest ファイルの作成

ファイル .release-please-manifest.json を作成し、次の内容を記載する。

{ "." : "0.1.0" } // 現在のバージョンを指定

2. Release Please Action の config ファイルの作成

ファイル release-please-config.json を作成し、次の内容を記載する。

{
  "packages": {
    ".": {}
  },
  "release-type": "node",
  "extra-files": [
    {
      "type": "json",
      "path": "src/manifest.json", // kintone プラグインの manifest.json を指定
      "jsonpath": "$.version"
    }
  ]
}

3. Release Please Action の設定ファイルを作成

ファイル .github/workflows/release-please.yml を作成し、次の内容を記載する。

name: release-please

on:
  push:
    branches:
      - main

permissions:
  contents: write
  pull-requests: write

env:
  PLUGIN_NAME: pluginname # プラグイン名を設定

jobs:
  release-please:
    runs-on: ubuntu-latest
    steps:
      - uses: google-github-actions/release-please-action@v4
        id: release
      - uses: actions/checkout@v4
        if: ${{ steps.release.outputs.release_created }}
      - uses: actions/setup-node@v4
        if: ${{ steps.release.outputs.release_created }}
        with:
          node-version: 20
      - name: Set version variable
        if: ${{ steps.release.outputs.release_created }}
        run: |
          echo "plugin_version=$plugin_version" >> "$GITHUB_ENV"
        env:
          plugin_version: ${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}.${{ steps.release.outputs.patch }}
      - name: Build kintone plugin
        if: ${{ steps.release.outputs.release_created }}
        run: | # ビルドコマンドを設定
          npm ci && npm install @kintone/plugin-packer
          npm run build
          cd src && npx kintone-plugin-packer --ppk ./private.ppk --out ./$PLUGIN_NAME-ver$plugin_version.plugin.zip .
      - name: Upload kintone plugin
        if: ${{ steps.release.outputs.release_created }}
        env:
          GH_TOKEN: ${{ github.token }}
        run: |
          cd src && gh release upload ${{ steps.release.outputs.tag_name }} ./$PLUGIN_NAME-ver$plugin_version.plugin.zip

4. GitHub Actions の権限設定

GitHub Actions Settings の手順に従って Allow GitHub Actions to create and approve pull requests を有効にする。