cloudnode-pro/Modrinth Publish
Publish a version on Modrinth
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jul 6, 2026
- License
- GPL 3.0
Pinned Snippet
uses: cloudnode-pro/modrinth-publish@150bec632db186f87c686435b29c55e7543107ea # v2.5.0tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| api-domain | Modrinth API domain. | no | api.modrinth.com |
| token | A personal access token for the Modrinth API with Create versions scope. It’s strongly recommended to store this in a GitHub Repository Secret. | yes | — |
| project | The Modrinth project ID that the version belongs to. | yes | — |
| name | The name of this version. The Modrinth UI usually names versions ‘YourProject 1.2.3’. You can use the version name to provide a very brief summary of the version/changelog. | no | — |
| version | The version number, ideally following semantic versioning. | yes | — |
| channel | The release channel for this version. Allowed values: `release`, `beta`, `alpha` Default: inferred from the `version` input: - If version includes ‘alpha’, will be set to `alpha`. - If version includes ‘beta’, ‘rc’, or ‘pre’, will be set to `beta`. - Otherwise, will be set to `release`. | no | — |
| featured | Whether the version is featured or not. If not set, defaults to `true` if the release channel is `release`, otherwise `false`. | no | — |
| changelog | Text describing the changes in this version. You can use Markdown formatting. | no | — |
| loaders | List of supported loaders for this version. Format each loader on a new line or use a JSON string array. | yes | — |
| game-versions | List of supported Minecraft versions. You can use patterns like `1.21.x` and `26.1.x`. Format each version on anew line or use a JSON string array. | no | [] |
| files | One or more file paths or HTTP URLs to upload. This input is optional when the status is `draft`. The allowed file extensions are .mrpack, .jar, .zip, .litemod, .asc, .gpg, and .sig. | yes | — |
| primary-file | The name (not path) of the file from files to designate as primary. If you used HTTP URLs, the name is considered the last path component, e.g. name in https://example.com/foo/name. Supplementary files are for supporting resources like source code and documentation, not for alternative versions or variants. If you specify an HTTP URL, the action downloads the file during workflow execution and uploads it to Modrinth as a regular static file. Users downloading the version will get the file from Modrinth, not from the URL. Format each file on a new line or use a JSON string array. | no | — |
| file-types | Map of supplementary file names (not paths) to their types. If you used HTTP URLs, the name is considered the last path component, e.g. name in https://example.com/foo/name. - `required-resource-pack`: A resource pack .zip file which is required for this version to work correctly. - `optional-resource-pack`: An optional resource pack .zip file which this version can use. - `sources-jar`: A .jar file containing source code, typically ending in -sources.jar. - `javadoc-jar`: A .jar file containing Javadoc documentation, typically ending in -javadoc.jar. - `signature`: A PGP signature for a file as either .asc, .sig, or .gpg. The name typically contains the name of the file that is signed, e.g. YourProject-1.2.3.jar.asc. Your public key should be published on a public OpenPGP key server, such as keys.openpgp.org. Format each entry on a new line as <name>=<type> or use a JSON object. | no | {} |
| environment | The environment compatibility of this version. | no | — |
| dependencies | List of dependencies for this version, formatted as a JSON array of objects with the following properties: - `dependency_type` (required): The type of the dependency. Possible values: `required`, `optional`, `incompatible`, `embedded`. - `project_id`: The ID of a Modrinth project. Exclusive with `file_name`. - `version_id`: The ID of the specific dependency version. If not specified, means any version of the `project_id`. Exclusive with `file_name`. - `file_name`: The name of a file relating to an external (non-Modrinth) dependency. Exclusive with `project_id` and `version_id`. | no | [] |
| status | The status of the version. - `listed` (default): Public and visible to anyone. - `archived`: Identical to `listed` but shows a message that the version is not supported. - `draft`: Not public and can only be accessed by project members. - `unlisted`: Not shown in the project’s versions list, but can be publicly accessed via direct URL. - `scheduled`: Not public, but scheduled to be released in the future. | no | listed |
| requested-status | Allowed values are `listed`, `archived`, `draft`, `unlisted`. | no | — |
Outputs
| name | description |
|---|---|
| version-id | Version ID generated by Modrinth. |