1
0

Merge remote-tracking branch 'upstream/main'

This commit is contained in:
julie
2025-07-08 11:52:32 -07:00
51 changed files with 263 additions and 50 deletions

View File

@@ -27,14 +27,22 @@ def extract_repo_info(repo_url):
return None, None
VersionSource = Enum("VersionSource", [
("RELEASE_TAG", "release"),
("LATEST_TAG", "release"),
("HEAD", "commit"),
("SPECIFIC_TAG", "specific_tag"),
])
def get_version_string(source: Enum, owner, repo, start_timestamp, n = 1):
def get_version_string(source: Enum, owner, repo, start_timestamp, n = 1, tag_data=None):
"""Get the version string from a given GitHub repo."""
if source is VersionSource.RELEASE_TAG:
if source is VersionSource.LATEST_TAG:
url = f'https://api.github.com/repos/{owner}/{repo}/releases/latest'
elif source is VersionSource.SPECIFIC_TAG:
if not tag_data:
print(f"ERROR: SPECIFIC_TAG source requires tag_name")
return None
tag_name = tag_data['name']
url = f'https://api.github.com/repos/{owner}/{repo}/releases/tags/{tag_name}'
else:
if not source is VersionSource.HEAD:
print(f"UNIMPLEMENTED(VersionSource): `{source}`,\nfalling back to `HEAD`")
@@ -58,10 +66,33 @@ def get_version_string(source: Enum, owner, repo, start_timestamp, n = 1):
if response.status_code == 200:
data = response.json()
if source is VersionSource.RELEASE_TAG:
if source is VersionSource.LATEST_TAG:
# Return name of latest tag
return data.get('tag_name')
elif source is VersionSource.SPECIFIC_TAG:
assets = data.get('assets', [])
if not assets:
print(f"⚠️ No assets found in release {tag_name}")
return None
latest_created_at = ""
latest_asset = None
for asset in assets:
created_at = asset.get('created_at', '')
if created_at > latest_created_at:
latest_created_at = created_at
latest_asset = asset['name']
# Convert 2099-12-31T01:02:03Z to 20991231_010203
parts = latest_created_at.replace('Z', '').split('T')
date_part = parts[0].replace('-', '') # 20991231
time_part = parts[1].replace(':', '') # 010203
version = f"{date_part}_{time_part}" # 20991231_010203
tag_data['file'] = latest_asset
return version
if data and len(data) > 0:
# Return shortened commit hash (first 7 characters)
return data[0]['sha'][:7]
@@ -98,7 +129,7 @@ def get_version_string(source: Enum, owner, repo, start_timestamp, n = 1):
print(f"Waiting {wait_time} seconds until next attempt...")
time.sleep(wait_time)
n += 1
return get_version_string(source, owner, repo, start_timestamp, n) # Retry
return get_version_string(source, owner, repo, start_timestamp, n, tag_data=tag_data) # Retry
else:
print(f"Next attempt in {wait_time} seconds, but Action run time would exceed 1800 seconds - Stopping...")
sys.exit(1)
@@ -165,10 +196,22 @@ def process_mod(start_timestamp, name, meta_file):
print("Download URL links to HEAD, checking latest commit...")
source = VersionSource.HEAD
new_version = get_version_string(VersionSource.HEAD, owner, repo, start_timestamp)
elif (meta.get('fixed-release-tag-updates') == True) and "/releases/download/" in download_url:
source = VersionSource.SPECIFIC_TAG
tag_data = {}
# Pattern: /releases/download/{tag}/{file} - tag is second-to-last
print("Download URL links to specific release asset, checking that asset's tag...")
tag_name = download_url.split('/')[-2]
print(f"Checking release tag: {tag_name}")
tag_data['name'] = tag_name
new_version = get_version_string(
source, owner, repo, start_timestamp, tag_data=tag_data
)
else:
print("Checking releases for latest version tag...")
source = VersionSource.RELEASE_TAG
source = VersionSource.LATEST_TAG
new_version = get_version_string(source, owner, repo, start_timestamp)
if not new_version:
@@ -192,6 +235,8 @@ def process_mod(start_timestamp, name, meta_file):
meta['version'] = new_version
if "/archive/refs/tags/" in download_url:
meta['downloadURL'] = f"{repo_url}/archive/refs/tags/{meta['version']}.zip"
elif source == VersionSource.SPECIFIC_TAG:
meta['downloadURL'] = f"{repo_url}/releases/download/{tag_data['name']}/{tag_data['file']}"
with open(meta_file, 'w', encoding='utf-8') as f:
# Preserve formatting with indentation
@@ -241,4 +286,3 @@ if __name__ == "__main__":
# Exit with status code 0 even if no updates were made
sys.exit(0)

View File

@@ -121,10 +121,11 @@ jobs:
- name: Validate meta.json Against Schema
if: always() && steps.find-changed-mods.outputs.changed_mods_found == 'true'
uses: dsanders11/json-schema-validate-action@v1.2.0
uses: dsanders11/json-schema-validate-action@v1.4.0
with:
schema: "./schema/meta.schema.json"
files: ${{ steps.find-changed-mods.outputs.meta_json_files }}
custom-errors: true
- name: Validate Download URLs
if: always() && steps.find-changed-mods.outputs.changed_mods_found == 'true'

View File

@@ -52,8 +52,15 @@ This file stores essential metadata in JSON format. **Make sure you adhere to th
- **version**: The version number of the mod files available at `downloadURL`.
- *folderName*: (*Optional*) The name for the mod's install folder. This must be **unique**, and cannot contain characters `<` `>` `:` `"` `/` `\` `|` `?` `*`
- *automatic-version-check*: (*Optional* but **recommended**) Set to `true` to let the Index automatically update the `version` field.
- Updates happen once every hour, by checking either your mod's latest Release **or** latest commit, depending on the `downloadURL`.
- Enable this option **only** if your `downloadURL` points to an automatically updating source, using a link to [releases/latest](https://docs.github.com/en/repositories/releasing-projects-on-github/linking-to-releases) (recommended), or a link to the [latest commit (HEAD)](https://docs.github.com/en/repositories/working-with-files/using-files/downloading-source-code-archives#source-code-archive-urls).
- Updates happen once every hour, by checking either your mod's latest Release, latest commit, or specific release tag, depending on the `downloadURL`.
- Enable this option **only** if your `downloadURL` points to an automatically updating source:
- **Latest release** (recommended): Using a link to [releases/latest](https://docs.github.com/en/repositories/releasing-projects-on-github/linking-to-releases)
- **Latest commit**: Using a link to the [latest commit (HEAD)](https://docs.github.com/en/repositories/working-with-files/using-files/downloading-source-code-archives#source-code-archive-urls)
- *fixed-release-tag-updates*: (*Optional*) Set to `true` if your mod uses a fixed release tag and still wants to auto-update when modifying the underlying files. This can be useful for repositories with multiple mods, allowing you to have a release tag dedicated for each mod where you upload new versions. Note that:
- Requires `automatic-version-check` to also be set to `true`.
- The `downloadURL` must point to a specific release asset using a link such as `https://github.com/author/repo/releases/download/my-release-tag/mod.zip`.
### 3. thumbnail.jpg (Optional)
If included, this image will appear alongside your mod in the index. Maximum and recommended size is 1920x1080 pixels.

View File

@@ -11,5 +11,5 @@
"repo": "https://github.com/BakersDozenBagels/BalatroBakery",
"downloadURL": "https://github.com/BakersDozenBagels/BalatroBakery/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "c65bc75"
"version": "6b48bcf"
}

View File

@@ -12,5 +12,5 @@
"downloadURL": "https://github.com/BarrierTrio/Cardsauce/archive/refs/heads/main.zip",
"folderName": "Cardsauce",
"automatic-version-check": true,
"version": "b604e72"
"version": "8094b16"
}

View File

@@ -10,5 +10,5 @@
"repo": "https://github.com/GuilloryCraft/ExtraCredit",
"downloadURL": "https://github.com/GuilloryCraft/ExtraCredit/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "94bd9fb"
"version": "0855210"
}

View File

@@ -0,0 +1,6 @@
# Balatrin Gaming Deck
Deck design for Balatro cards inspired by [Ratatin Gaming](https://www.youtube.com/@RatatinGaming). Requires [Steamodded](https://github.com/Steamopollys/Steamodded).
Made by [Celestin Gaming](https://x.com/CG64_oficial)

View File

@@ -0,0 +1,14 @@
{
"title": "BalatrinGamingDeck",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Resource Packs"
],
"author": "Celestin Gaming",
"repo": "https://github.com/CelestinGaming/BalatrinGamingDeck",
"downloadURL": "https://github.com/CelestinGaming/BalatrinGamingDeck/archive/refs/heads/main.zip",
"folderName": "BalatrinGamingDeck",
"automatic-version-check": true,
"version": "d1bc486"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 926 KiB

View File

@@ -11,5 +11,5 @@
"repo": "https://github.com/EricTheToon/Fortlatro",
"downloadURL": "https://github.com/EricTheToon/Fortlatro/releases/latest/download/Fortlatro.zip",
"automatic-version-check": true,
"version": "1.1.6"
"version": "1.1.7"
}

View File

@@ -9,5 +9,5 @@
"repo": "https://github.com/Finnaware/Finn-Pokelatro",
"downloadURL": "https://github.com/Finnaware/Finn-Pokelatro/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "34651f5"
"version": "edd7cc0"
}

View File

@@ -10,6 +10,6 @@
"repo": "https://github.com/kierkat10/Cryptposting",
"downloadURL": "https://github.com/kierkat10/Cryptposting/archive/refs/heads/main.zip",
"folderName": "Cryptposting",
"version": "2fd5488",
"version": "1342ba6",
"automatic-version-check": true
}

View File

@@ -11,5 +11,5 @@
"repo": "https://github.com/GunnableScum/Visibility",
"downloadURL": "https://github.com/GunnableScum/Visibility/releases/latest/download/Visibility.zip",
"automatic-version-check": true,
"version": "v1.0.1"
"version": "v1.0.2"
}

View File

@@ -9,6 +9,6 @@
"repo": "https://github.com/icyethics/Kino",
"downloadURL": "https://github.com/icyethics/Kino/archive/refs/heads/main.zip",
"folderName": "Kino",
"version": "5e96140",
"version": "5568884",
"automatic-version-check": true
}

View File

@@ -11,5 +11,5 @@
"repo": "https://github.com/InertSteak/Pokermon",
"downloadURL": "https://github.com/InertSteak/Pokermon/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "c77fb3b"
"version": "0265040"
}

View File

@@ -0,0 +1,4 @@
# CuriLatro
This mod changes some jokers to curis created or shared in the Balatro fans Facebook group.
only put this folder into the mod manager folder

View File

@@ -0,0 +1,14 @@
{
"title": "CuriLatro",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Resource Packs"
],
"author": "JosephPB09 and Balatro fans",
"repo": "https://github.com/JosephPB0909/CuriLatro",
"downloadURL": "https://github.com/JosephPB0909/CuriLatro/archive/refs/tags/mod.zip",
"folderName": "CuriLatro",
"version": "mod",
"automatic-version-check": true
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

View File

@@ -10,6 +10,6 @@
"repo": "https://github.com/KROOOL/Tiendita-s-Jokers",
"downloadURL": "https://github.com/KROOOL/Tiendita-s-Jokers/archive/refs/heads/main.zip",
"folderName": "Tiendita's Jokers",
"version": "84db0dd",
"version": "7c01a1e",
"automatic-version-check": true
}

View File

@@ -10,5 +10,5 @@
"repo": "https://github.com/larswijn/CardSleeves",
"downloadURL": "https://github.com/larswijn/CardSleeves/archive/refs/heads/master.zip",
"automatic-version-check": true,
"version": "1b74176"
"version": "c2a22f0"
}

View File

@@ -12,5 +12,5 @@
"downloadURL": "https://github.com/MathIsFun0/Talisman/releases/latest/download/Talisman.zip",
"folderName": "Talisman",
"automatic-version-check": true,
"version": "v2.2.0c"
"version": "v2.3.0"
}

View File

@@ -9,5 +9,5 @@
"repo": "https://github.com/Mysthaps/LobotomyCorp",
"downloadURL": "https://github.com/Mysthaps/LobotomyCorp/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "f46562b"
"version": "62fc049"
}

View File

@@ -9,5 +9,5 @@
"repo": "https://github.com/onesuchkeeper/Hunatro",
"downloadURL": "https://github.com/onesuchkeeper/hunatro/releases/latest/download/hunatro.zip",
"automatic-version-check": true,
"version": "v1.1.0"
"version": "v1.1.1"
}

View File

@@ -9,5 +9,5 @@
"repo": "https://github.com/onesuchkeeper/telepurtedeck",
"downloadURL": "https://github.com/onesuchkeeper/telepurtedeck/releases/latest/download/TelepurteCards.zip",
"automatic-version-check": true,
"version": "v1.0.0"
"version": "v1.0.1"
}

View File

@@ -10,5 +10,5 @@
"repo": "https://github.com/OOkayOak/Challenger-Deep",
"downloadURL": "https://github.com/OOkayOak/Challenger-Deep/releases/latest/download/ChallengerDeep.zip",
"automatic-version-check": true,
"version": "v1.4.1"
"version": "v1.4.2"
}

View File

@@ -9,5 +9,5 @@
"repo": "https://github.com/RattlingSnow353/Familiar/tree/main",
"downloadURL": "https://github.com/RattlingSnow353/Familiar/archive/refs/heads/BetterCalc-Fixes.zip",
"automatic-version-check": true,
"version": "8c562ca"
"version": "0dcd89b"
}

View File

@@ -8,8 +8,8 @@
],
"author": "Roffle's Chat",
"repo": "https://github.com/MamiKeRiko/Rofflatro",
"downloadURL": "https://github.com/MamiKeRiko/Rofflatro/archive/refs/tags/v1.1.3d.zip",
"downloadURL": "https://github.com/MamiKeRiko/Rofflatro/archive/refs/tags/v1.1.3e.zip",
"folderName": "Rofflatro",
"version": "v1.1.3d",
"version": "v1.1.3e",
"automatic-version-check": true
}

View File

@@ -10,5 +10,5 @@
"repo": "https://github.com/SDM0/SDM_0-s-Stuff",
"downloadURL": "https://github.com/SDM0/SDM_0-s-Stuff/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "988681d"
"version": "22d8d17"
}

View File

@@ -10,6 +10,6 @@
"repo": "https://github.com/smg9000/Cryptid-MoreMarioJokers",
"downloadURL": "https://github.com/smg9000/Cryptid-MoreMarioJokers/archive/refs/heads/main.zip",
"folderName": "Cryptid-MoreMarioJokers",
"version": "64e63c4",
"version": "4f7c987",
"automatic-version-check": true
}

View File

@@ -0,0 +1,26 @@
# Baldatro Mod for Balatro
Baldatro is a mod that makes all the jokers bald, thats it, enjoy!
## Features
- **Makes almost all Jokers bald**: Thats it, not much to say.
## Installation
To install the "Baldatro" mod, follow these steps:
1. This mod requires [Steamodded](https://github.com/Steamodded/smods).
2. Just the download the "Baldatro-vx.zip" file from releases of the mod and extract it in your C:\Users\<USER>\AppData\Roaming\Balatro\Mods or %appdata%\Balatro\Mods directory.
## Support
If you encounter any problems or have questions, please open an issue in this repository. Feedback and suggestions are always appreciated!
Thank you for using or contributing to the Stickers Always Shown mod!
## Contributors
Special thanks to the mod contributors:
- [@SirMaiquis](https://github.com/SirMaiquis) - Main developer and maintainer of the mod.

View File

@@ -0,0 +1,15 @@
{
"title": "Baldatro",
"requires-steamodded": true,
"requires-talisman": false,
"categories": [
"Resource Packs",
"Joker"
],
"author": "SirMaiquis",
"repo": "https://github.com/SirMaiquis/Balatro-Baldatro",
"downloadURL": "https://github.com/SirMaiquis/Balatro-Baldatro/releases/latest/download/Baldatro.zip",
"folderName": "Baldatro",
"automatic-version-check": true,
"version": "v1.1.0"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

@@ -9,5 +9,5 @@
"repo": "https://github.com/SleepyG11/HandyBalatro",
"downloadURL": "https://github.com/SleepyG11/HandyBalatro/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "41ca519"
"version": "ab4595b"
}

View File

@@ -9,6 +9,6 @@
"repo": "https://github.com/Squidguset/TooManyDecks",
"downloadURL": "https://github.com/Squidguset/TooManyDecks/archive/refs/heads/main.zip",
"folderName": "TooManyDecks",
"version": "8098d0c",
"version": "7ecfc30",
"automatic-version-check": true
}

View File

@@ -9,5 +9,5 @@
"repo": "https://github.com/Steamodded/smods",
"downloadURL": "https://github.com/Steamodded/smods/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "b1179a4"
"version": "67279fa"
}

View File

@@ -10,5 +10,5 @@
"repo": "https://github.com/TheOneGoofAli/TOGAPackBalatro",
"downloadURL": "https://github.com/TheOneGoofAli/TOGAPackBalatro/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "83e12f6"
"version": "9c38451"
}

View File

@@ -11,5 +11,5 @@
"downloadURL": "https://github.com/thefaketh30ne/grab-bag/archive/refs/heads/main.zip",
"folderName": "GrabBag",
"automatic-version-check": true,
"version": "6467c19"
"version": "d28a242"
}

View File

@@ -7,8 +7,8 @@
],
"author": "The Motherfucking Bearodactyl",
"repo": "https://github.com/thebearodactyl/insolence-balatro",
"downloadURL": "https://github.com/thebearodactyl/insolence-balatro/archive/refs/tags/2.1.1.zip",
"downloadURL": "https://github.com/thebearodactyl/insolence-balatro/archive/refs/tags/2.1.2.zip",
"folderName": "Insolence",
"version": "2.1.1",
"version": "2.1.2",
"automatic-version-check": true
}

View File

@@ -10,5 +10,5 @@
"downloadURL": "https://github.com/Trif3ctal/Lucky-Rabbit/archive/refs/heads/main.zip",
"folderName": "LuckyRabbit",
"automatic-version-check": true,
"version": "9b19f25"
"version": "43057bf"
}

View File

@@ -8,7 +8,7 @@
],
"author": "baimao",
"repo": "https://github.com/Icecanno/Partner-API",
"downloadURL": "https://github.com/Icecanno/Partner-API/archive/refs/tags/1.0.2d.zip",
"version": "1.0.2d",
"downloadURL": "https://github.com/Icecanno/Partner-API/archive/refs/tags/1.0.2e.zip",
"version": "1.0.2e",
"automatic-version-check": true
}

View File

@@ -9,5 +9,5 @@
"repo": "https://github.com/cg-223/toomanyjokers",
"downloadURL": "https://github.com/cg-223/toomanyjokers/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "2bdffd9"
"version": "e38730c"
}

View File

@@ -9,6 +9,6 @@
"repo": "https://github.com/lord-ruby/Entropy",
"downloadURL": "https://github.com/lord-ruby/Entropy/archive/refs/heads/main.zip",
"folderName": "Entropy",
"version": "8700099",
"version": "65a353b",
"automatic-version-check": true
}

View File

@@ -10,5 +10,5 @@
"repo": "https://github.com/nh6574/JokerDisplay",
"downloadURL": "https://github.com/nh6574/JokerDisplay/archive/refs/heads/master.zip",
"automatic-version-check": true,
"version": "99a83ab"
"version": "e90fa02"
}

View File

@@ -10,5 +10,5 @@
"repo": "https://github.com/nh6574/JoyousSpring",
"downloadURL": "https://github.com/nh6574/JoyousSpring/archive/refs/heads/master.zip",
"automatic-version-check": true,
"version": "a2630a0"
"version": "c0a24f9"
}

View File

@@ -8,6 +8,6 @@
"author": "pi_cubed",
"repo": "https://github.com/pi-cubed-cat/pi_cubeds_jokers",
"downloadURL": "https://github.com/pi-cubed-cat/pi_cubeds_jokers/archive/refs/heads/main.zip",
"version": "76ba966",
"version": "352ced1",
"automatic-version-check": true
}

View File

@@ -10,5 +10,6 @@
"downloadURL": "https://github.com/gfreitash/balatro-mods/releases/download/black-seal__latest/black-seal.zip",
"folderName": "black-seal",
"automatic-version-check": true,
"version": "black-seal__v3.2.9"
"fixed-release-tag-updates": true,
"version": "20250708_032640"
}

View File

@@ -10,5 +10,6 @@
"downloadURL": "https://github.com/gfreitash/balatro-mods/releases/download/qol-bundle__latest/qol-bundle.zip",
"folderName": "qol-bundle",
"automatic-version-check": true,
"version": "black-seal__v3.2.9"
"fixed-release-tag-updates": true,
"version": "20250708_032641"
}

View File

@@ -11,5 +11,6 @@
"downloadURL": "https://github.com/gfreitash/balatro-mods/releases/download/rebalanced-stakes__latest/rebalanced-stakes.zip",
"folderName": "rebalanced-stakes",
"automatic-version-check": true,
"version": "black-seal__v3.2.9"
"fixed-release-tag-updates": true,
"version": "20250708_032641"
}

View File

@@ -9,5 +9,5 @@
"repo": "https://github.com/stupxd/Cartomancer",
"downloadURL": "https://github.com/stupxd/Cartomancer/archive/refs/heads/main.zip",
"automatic-version-check": true,
"version": "662c833"
"version": "5489211"
}

View File

@@ -1,5 +1,6 @@
{
"title": "re:Unlock All",
"folderName":"reUnlockAll",
"requires-steamodded": false,
"requires-talisman": false,
"categories": [

View File

@@ -49,6 +49,9 @@
},
"automatic-version-check": {
"type": "boolean"
},
"fixed-release-tag-updates": {
"type": "boolean"
}
},
"required": [
@@ -60,5 +63,80 @@
"repo",
"downloadURL",
"version"
],
"allOf": [
{
"$comment": "This rule prevents accidental freezing of updates",
"not": {
"allOf": [
{
"$comment": "'automatic-version-check' is true",
"properties": {
"automatic-version-check": {
"const": true
}
},
"required": [
"automatic-version-check"
]
},
{
"$comment": "'downloadURL' points to a specific release asset",
"properties": {
"downloadURL": {
"pattern": "^https?://github\\.com/[^/]+/[^/]+/releases/download/[^/]+/.+$"
}
},
"required": [
"downloadURL"
]
},
{
"$comment": "'fixed-release-tag-updates' is NOT true (i.e., it's false, or it's completely missing)",
"not": {
"properties": {
"fixed-release-tag-updates": {
"const": true
}
},
"required": [
"fixed-release-tag-updates"
]
}
}
]
},
"errorMessage": "When 'downloadURL' points to a specific GitHub release asset AND 'automatic-version-check' is true, 'fixed-release-tag-updates' must also be true. This prevents accidental update freezing."
},
{
"$comment": "This rule checks the value of 'fixed-release-tag-updates' and guarantees consistency",
"if": {
"properties": {
"fixed-release-tag-updates": {
"const": true
}
},
"required": [
"fixed-release-tag-updates"
]
},
"then": {
"$comment": "Conditions when 'fixed-release-tag-updates' is true",
"properties": {
"automatic-version-check": {
"const": true,
"errorMessage": "'automatic-version-check' must be true when 'fixed-release-tag-updates' is true."
},
"downloadURL": {
"pattern": "^https?://github\\.com/[^/]+/[^/]+/releases/download/[^/]+/.+$",
"errorMessage": "When 'fixed-release-tag-updates' is true, 'downloadURL' must point to a specific GitHub specific release asset (e.g., '/releases/download/v1.0.0/asset.zip'), NOT a branch head or latest release URL."
}
},
"required": [
"automatic-version-check"
],
"errorMessage": "When 'fixed-release-tag-updates' 'automatic-version-check' must be true, and 'downloadURL' must point to a specific release asset."
}
}
]
}