Skip to main content
Configure MCReleaser to publish your plugins to Polymart.

Required Variables

POLYMART_KEY
string
required
The Polymart API key used to authenticate with the Polymart API.You can generate an API key from your Polymart account settings.Example:
export POLYMART_KEY="your-polymart-api-key"
or with system properties:
java -DpolymartKey="your-polymart-api-key" -jar mcreleaser.jar
POLYMART_RESOURCE
string
required
The Polymart resource ID where the update will be uploaded.You can find your resource ID in your resource’s URL (e.g., 12345 from https://polymart.org/resource/12345).Example:
export POLYMART_RESOURCE="12345"
or with system properties:
java -DpolymartResource="12345" -jar mcreleaser.jar

Optional Variables

POLYMART_TAG
string
default:"release"
The release tag for this update on Polymart.Valid values:
  • release - Stable, production-ready release
  • beta - Beta testing version
  • snapshot - Development snapshot
Example:
export POLYMART_TAG="release"
or with system properties:
java -DpolymartTag="beta" -jar mcreleaser.jar

Source Reference

Polymart properties are defined in:
/workspace/source/polymart/src/main/java/me/hsgamer/mcreleaser/polymart/PolymartPropertyKey.java:7
public interface PolymartPropertyKey {
    PropertyPrefix POLYMART = new PropertyPrefix("polymart");
    PropertyKey KEY = POLYMART.key("key");
    PropertyKey RESOURCE = POLYMART.key("resource");
    PropertyKey TAG = POLYMART.key("tag");
}

Complete Example

Using Environment Variables

export NAME="AwesomePlugin"
export VERSION="3.1.0"
export DESCRIPTION="New features and bug fixes"
export POLYMART_KEY="your-polymart-api-key"
export POLYMART_RESOURCE="12345"
export POLYMART_TAG="release"

java -jar mcreleaser.jar

Using System Properties

java -Dname="AwesomePlugin" \
     -Dversion="3.1.0" \
     -Ddescription="New features and bug fixes" \
     -DpolymartKey="your-polymart-api-key" \
     -DpolymartResource="12345" \
     -DpolymartTag="release" \
     -jar mcreleaser.jar

GitHub Actions Workflow

name: Release to Polymart

on:
  release:
    types: [created]

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      
      - name: Set up JDK
        uses: actions/setup-java@v4
        with:
          java-version: '17'
          distribution: 'temurin'
      
      - name: Build
        run: ./gradlew build
      
      - name: Release to Polymart
        env:
          NAME: ${{ github.event.repository.name }}
          VERSION: ${{ github.ref_name }}
          DESCRIPTION: ${{ github.event.release.body }}
          POLYMART_KEY: ${{ secrets.POLYMART_KEY }}
          POLYMART_RESOURCE: "12345"
          POLYMART_TAG: "release"
        run: java -jar mcreleaser.jar

Tips

  • Store your POLYMART_KEY as a secret in your CI/CD system
  • The resource ID is a numeric value, not a slug
  • Use the release tag for stable versions that are ready for production use
  • Use beta or snapshot tags for testing versions
  • The update title and description will be taken from the common NAME and DESCRIPTION variables

Build docs developers (and LLMs) love