/dbo-upload-action

Upload minecraft plugin to DBO with github actions!

Primary LanguageTypeScriptMIT LicenseMIT

dbo-upload-action

Upload minecraft plugin to dev.bukkit.org with github actions!

This github actions is based on the curseforge api.

Inputs

Name Description Required Default
api_token Your dev.bukkit.org api token. true
project_id Your dev.bukkit.org project id. true
changelog The changelog for this version true
changelog_type The type of changelog for this version. Default to text if not specified. false
display_name A friendly display name used on the site if provided. false
parent_file_id The parent file id for this version. false
game_versions The game versions this version is compatible with. (NOTE: Not supported if parentFileID is provided) false
release_type The release type for this version. true release
project_relations An array of project relations by slug and type of dependency for inclusion in your project. true []
file_path The path to the plugin jar file. true
debug Whether to print debug information. false false

Outputs

Name Description
file_id The file id of the uploaded file

Example usage

Simple upload of your plugin jar file:

uses: benwoo1110/dbo-upload-action@main
with:
  api_token: ${{ secrets.DBO_UPLOAD_API_TOKEN }}  # Add this to your repo's secrets
  project_id: 12345  # Replace with your project id
  changelog: This is a new version of my plugin!
  display_name: 1.0.0
  game_versions: 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1
  file_path: my-plugin-version.jar  # Replace with your plugin's jar file

Upload from latest github release:

- name: Download release artifact
  id: release-artifact
  uses: dsaltares/fetch-gh-release-asset@master
  with:
    token: ${{ secrets.GITHUB_TOKEN }}
    regex: true
    file: my-plugin-(.*)\.jar  # Replace with your plugin's jar file
    target: 'out/'

- name: Upload to dev.bukkit.org
  uses: benwoo1110/dbo-upload-action@main
  with:
    api_token: ${{ secrets.DBO_UPLOAD_API_TOKEN }}  # Add this to your repo's secrets
    project_id: 12345  # Replace with your project id
    changelog: ${{ steps.release-artifact.outputs.body }}
    changelog_type: markdown
    display_name: ${{ steps.release-artifact.outputs.version }}
    game_versions: 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1
    project_relations: >
      [
        {"slug": "vault", "type": "optionalDependency"},
        {"slug": "multiverse-core", "type": "requiredDependency"},
      ]
    file_path: ${{ github.workspace }}/out/my-plugin-${{ steps.release-artifact.outputs.version }}.jar
    debug: true