Configuration Reference
The .github/metadata-config.json file is being used by the GitHub App to fine-tune the behaviour of the File Generation.
There is a JSON Schema available that can be used.
It is also versioned and will be automatically migrated if possible if the $version property is outdated.
Full configuration reference
{
"$version": "1.0", // required
"$schema": "https://workflows.somethingcatchy.net/schema/config.json", // optional, will be added by migration
"type": "minecraft", // required (1)
"loaders": [string] | "detect", // "detect" by default (2)
"versions": [string] | "detect", // "detect" by default (3)
"strategy": "pull_request" | "push", // "push" by default (4)
"overwrite": "always" | "generated", // "generated" by default (5)
"assigne": null | string | "@owner", // null by default (6)
"upload": {
"strategy": "release" | "push", // "release" by default (7)
"snapshots": boolean, // disabled by default (8)
"curseforge": boolean, // disabled by default (9)
"modrinth": boolean, // disabled by default (10)
"github": boolean, // disabled by default (11)
"nexus": boolean // disabled by default (12)
},
"sonar": boolean, // disabled by default (13)
"issueTemplates": boolean, // enabled by default (14)
"workflows": boolean, // enabled by default (15)
"license": boolean, // enabled by default (16)
"configs": boolean, // enabled by default (17)
"editorconfig": boolean // enabled by default (18)
}
- Currently only
minecraftis possible, there are some plans to also support a genericwebsetup - List of mod loaders, for example
neoforgeorfabric. They can also be detected using the repository setup. - List of minecraft versions, for example
1.20or26.1. Can also include patch versions like1.21.11. They can also be detected using the repository setup. pushwill commit the generated files directly to the branch,pull_requestwill create a new branch and open a pull request.generatedwill only overwrite previously generated files,alwayswill also overwrite files that have not been created by the app.- if set, will be included as a default assignee in the generated issue templates.
setting it to
@ownerwill use the detected repository owner. - you can read about the two release strategies in detail here
- if enabled will also publish
-SNAPSHOTversions on each push as described here. - will pass the
CURSEFORGEW_TOKENsecret as an environment variable to the release workflow. - will pass the
MODRINTH_TOKENsecret as an environment variable to the release workflow. - will pass the
GITHUB_TOKENsecret as an environment variable to the release workflow. - will pass the
NEXUS_USERandNEXUS_TOKENsecret as an environment variable to the release workflow. These are used by the com.possible-triangle.* plugins to publish to a Maven Repository. - The generated test workflow will run the
sonargradle task, added by the SonarQube plugin. It passes theSONAR_HOST_URLandSONAR_TOKENsecrets as environmental variables. - will disable issue template generation.
- will disable github workflow generation.
- will disable license generation.
- will disable labeler config generation.
- will disable EditorConfig generation.