Added manifest and pipelines to allow install via web ui.
This commit is contained in:
parent
003a8754a6
commit
4537613ed7
@ -70,7 +70,15 @@ jobs:
|
||||
echo "artifact_name=${ARTIFACT_NAME}" >> $GITHUB_OUTPUT
|
||||
echo "Found artifact: ${ARTIFACT}"
|
||||
|
||||
- name: Calculate checksum
|
||||
id: checksum
|
||||
run: |
|
||||
CHECKSUM=$(md5sum "${{ steps.jprm.outputs.artifact }}" | awk '{print $1}')
|
||||
echo "checksum=${CHECKSUM}" >> $GITHUB_OUTPUT
|
||||
echo "MD5 Checksum: ${CHECKSUM}"
|
||||
|
||||
- name: Create Release
|
||||
id: create_release
|
||||
env:
|
||||
GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
@ -80,7 +88,7 @@ jobs:
|
||||
GITEA_URL="${{ github.server_url }}"
|
||||
|
||||
# Prepare release body
|
||||
RELEASE_BODY="Jellypod Jellyfin Plugin ${{ steps.get_version.outputs.version }}\n\nSee attached files for plugin installation."
|
||||
RELEASE_BODY="Jellypod Jellyfin Plugin ${{ steps.get_version.outputs.version }}\n\nSee attached files for plugin installation.\n\nTo install, add this repository URL to Jellyfin:\n\`${GITEA_URL}/${REPO_OWNER}/${REPO_NAME}/raw/branch/master/manifest.json\`"
|
||||
RELEASE_BODY_JSON=$(echo -n "${RELEASE_BODY}" | jq -Rs .)
|
||||
|
||||
# Create release using Gitea API
|
||||
@ -101,6 +109,7 @@ jobs:
|
||||
|
||||
if [ "$HTTP_CODE" -ge 200 ] && [ "$HTTP_CODE" -lt 300 ]; then
|
||||
RELEASE_ID=$(echo "$BODY" | jq -r '.id')
|
||||
echo "release_id=${RELEASE_ID}" >> $GITHUB_OUTPUT
|
||||
echo "Created release with ID: ${RELEASE_ID}"
|
||||
else
|
||||
echo "Failed to create release. HTTP ${HTTP_CODE}"
|
||||
@ -126,3 +135,47 @@ jobs:
|
||||
|
||||
echo "Release created successfully!"
|
||||
echo "View at: ${GITEA_URL}/${REPO_OWNER}/${REPO_NAME}/releases/tag/${{ steps.get_version.outputs.version }}"
|
||||
|
||||
- name: Update manifest.json
|
||||
env:
|
||||
GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
REPO_OWNER="${{ github.repository_owner }}"
|
||||
REPO_NAME="${{ github.event.repository.name }}"
|
||||
GITEA_URL="${{ github.server_url }}"
|
||||
VERSION="${{ steps.get_version.outputs.version_number }}"
|
||||
CHECKSUM="${{ steps.checksum.outputs.checksum }}"
|
||||
ARTIFACT_NAME="${{ steps.jprm.outputs.artifact_name }}"
|
||||
TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
||||
DOWNLOAD_URL="${GITEA_URL}/${REPO_OWNER}/${REPO_NAME}/releases/download/${{ steps.get_version.outputs.version }}/${ARTIFACT_NAME}"
|
||||
|
||||
# Configure git
|
||||
git config user.name "Gitea Actions"
|
||||
git config user.email "actions@gitea.tourolle.paris"
|
||||
|
||||
# Fetch and checkout master branch
|
||||
git fetch origin master
|
||||
git checkout master
|
||||
|
||||
# Create new version entry
|
||||
NEW_VERSION=$(cat <<EOF
|
||||
{
|
||||
"version": "${VERSION}",
|
||||
"changelog": "Release ${VERSION}",
|
||||
"targetAbi": "10.9.0.0",
|
||||
"sourceUrl": "${DOWNLOAD_URL}",
|
||||
"checksum": "${CHECKSUM}",
|
||||
"timestamp": "${TIMESTAMP}"
|
||||
}
|
||||
EOF
|
||||
)
|
||||
|
||||
# Update manifest.json - prepend new version to versions array
|
||||
jq --argjson newver "${NEW_VERSION}" '.[0].versions = [$newver] + .[0].versions' manifest.json > manifest.tmp && mv manifest.tmp manifest.json
|
||||
|
||||
# Commit and push
|
||||
git add manifest.json
|
||||
git commit -m "Update manifest.json for version ${VERSION}"
|
||||
git push origin master
|
||||
|
||||
echo "Manifest updated successfully!"
|
||||
|
||||
19
README.md
19
README.md
@ -2,6 +2,14 @@
|
||||
|
||||
A Jellyfin plugin that adds podcast support to your media server.
|
||||
|
||||
## Quick Install
|
||||
|
||||
Add this repository URL in Jellyfin (Dashboard → Plugins → Repositories):
|
||||
|
||||
```
|
||||
https://gitea.tourolle.paris/dtourolle/jellypod/raw/branch/master/manifest.json
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
- Browse and subscribe to podcasts
|
||||
@ -18,6 +26,17 @@ A Jellyfin plugin that adds podcast support to your media server.
|
||||
|
||||
## Installation
|
||||
|
||||
### From Plugin Repository (Recommended)
|
||||
|
||||
1. In Jellyfin, go to **Dashboard** → **Plugins** → **Repositories**
|
||||
2. Click the **+** button to add a new repository
|
||||
3. Enter:
|
||||
- **Repository Name**: `Jellypod`
|
||||
- **Repository URL**: `https://gitea.tourolle.paris/dtourolle/jellypod/raw/branch/master/manifest.json`
|
||||
4. Click **Save**
|
||||
5. Go to **Catalog** tab and find **Jellypod**
|
||||
6. Click **Install** and restart Jellyfin
|
||||
|
||||
### Manual Installation
|
||||
|
||||
1. Download the latest release from [Releases](https://gitea.tourolle.paris/dtourolle/jellypod/releases)
|
||||
|
||||
12
manifest.json
Normal file
12
manifest.json
Normal file
@ -0,0 +1,12 @@
|
||||
[
|
||||
{
|
||||
"guid": "c713faf4-4e50-4e87-941a-1200178ed605",
|
||||
"name": "Jellypod",
|
||||
"description": "Jellypod allows you to subscribe to podcast RSS feeds, automatically download episodes, and manage your podcast library within Jellyfin. Episodes are stored as standard audio files and integrate with Jellyfin's built-in audio player.",
|
||||
"overview": "Podcast management plugin for Jellyfin",
|
||||
"owner": "dtourolle",
|
||||
"category": "General",
|
||||
"imageUrl": "https://gitea.tourolle.paris/dtourolle/jellypod/raw/branch/master/Jellyfin.Plugin.Jellypod/Images/channel-icon.jpg",
|
||||
"versions": []
|
||||
}
|
||||
]
|
||||
Loading…
x
Reference in New Issue
Block a user