GitHub Actions: genereer automatisch een flipbook bij elke release
Genereer met GitHub Actions automatisch een FlipLink-flipbook bij elke release. Bouw de PDF, draai de CLI en plaats de live-URL terug.
Gepubliceerd op 21 juni 2026 · 6 min read
Als je documentatie, release notes of productcatalogus als PDF in je repo staat, is er geen reden om het flipbook met de hand te publiceren. Met GitHub Actions en de FlipLink CLI kun je elke keer dat je een release uitbrengt de PDF bouwen, er een gepubliceerd flipbook van maken en de live-URL meteen terugzetten op de release — allemaal zonder het dashboard aan te raken.
Dit is de GitHub-eigen variant van flipbooks publiceren via CI/CD. Gebruik je een andere runner (GitLab CI, CircleCI, een cron-machine)? Dan zijn de stappen prima over te zetten — alleen de vorm van de YAML verandert.
Wat we gaan bouwen
Een workflow die wordt geactiveerd bij een gepubliceerde release en:
- De repo uitcheckt en de PDF die je wilt publiceren bouwt (of opzoekt).
- De FlipLink CLI installeert.
- Een flipbook van die PDF aanmaakt en publiceert, met authenticatie via een API-sleutel die als repo-secret is opgeslagen.
- De live-flipbook-URL uit de JSON-output haalt.
- Die URL terugplaatst op de release, zodat je team de link meteen krijgt.
Het is een schoolvoorbeeld van automatisering: er treedt een gebeurtenis op, een script draait en een artifact wordt verzonden.
Stap 1 — Sla je API-sleutel op als repo-secret
Plak nooit een API-sleutel in een workflowbestand. Workflowbestanden staan in je repo — iedereen met leestoegang (en elke fork) kan ze zien. Gebruik in plaats daarvan een versleuteld secret:
- Log in op
https://go.fliplink.me, open de pagina Subscription en kopieer je API-sleutel. - Ga in je GitHub-repo naar Settings → Secrets and variables → Actions.
- Klik op New repository secret.
- Geef het de naam
FLIPLINK_API_KEYen plak de sleutel als waarde. - Klik op Add secret.
De workflow leest het uit via secrets.FLIPLINK_API_KEY en stelt het aan de CLI beschikbaar als de omgevingsvariabele FLIPLINK_API_KEY. De CLI controleert die env-variabele automatisch, dus er is geen config set-key-stap nodig in CI.
Stap 2 — Het workflowbestand
Maak .github/workflows/publish-flipbook.yml aan:
name: Publish flipbook on release
on:
release:
types: [published]
permissions:
contents: write # needed to edit the release notes in the last step
jobs:
flipbook:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
# Replace this with however you produce the PDF.
# If the PDF is committed in the repo, you can delete this step.
- name: Build the PDF
run: |
mkdir -p dist
# e.g. your doc tooling outputs dist/release-notes.pdf
ls -lh dist/release-notes.pdf
- name: Install FlipLink CLI
run: npm install -g fliplink-cli
- name: Create and publish flipbook
id: flipbook
env:
FLIPLINK_API_KEY: ${{ secrets.FLIPLINK_API_KEY }}
run: |
ID=$(fliplink flipbook create ./dist/release-notes.pdf \
--title "Release ${{ github.event.release.tag_name }}" \
--name "release-${{ github.event.release.tag_name }}" \
--json | jq -r '.ID')
fliplink flipbook publish "$ID"
URL=$(fliplink flipbook share-link "$ID" --json | jq -r '.URL')
echo "id=$ID" >> "$GITHUB_OUTPUT"
echo "url=$URL" >> "$GITHUB_OUTPUT"
echo "Published flipbook: $URL"
- name: Comment the URL on the release
uses: actions/github-script@v7
with:
script: |
const url = "${{ steps.flipbook.outputs.url }}";
const release = context.payload.release;
await github.rest.repos.updateRelease({
owner: context.repo.owner,
repo: context.repo.repo,
release_id: release.id,
body: `${release.body || ""}\n\nFlipbook published: ${url}`
});
Een paar opmerkingen over de create-stap:
fliplink flipbook create ./path.pdfuploadt de PDF en geeft het nieuwe flipbook terug. Met--jsonkrijg je de ruwe respons, enjq -r '.ID'haalt de ID eruit.fliplink flipbook publish "$ID"zet het live. (Een flipbook aanmaken publiceert het niet — publiceren is een aparte, expliciete stap.)fliplink flipbook share-link "$ID"geeft de publieke viewer-URL terug, die we op dezelfde manier metjqophalen.- We schrijven
idenurlnaar$GITHUB_OUTPUT, zodat latere stappen ernaar kunnen verwijzen alssteps.flipbook.outputs.url.
Alles hier gebruikt alleen gedocumenteerde CLI-commando's en de --json-vlag. Heb je een actie nodig die de CLI niet afdekt? Val dan terug op de fliplink api-noodoplossing — bekijk de CLI-documentatie voor het volledige aanbod, of de API-referentie voor elk endpoint.
Probeer FlipLink Gratis
Converteer je PDF in seconden. Geen registratie, geen creditcard — gewoon uploaden en starten.
Drop your PDF here or click to browse
Max. 40MB
Met een betaald abonnement vanaf $39 verhoog je dit naar 150 MB.
Stap 3 — De URL terugplaatsen
De netste manier om de URL te tonen is om hem op de release zelf te plaatsen. De actions/github-script-stap hierboven doet dat. Werk je liever met de GitHub CLI (gh staat standaard op door GitHub gehoste runners)? Dan werkt deze one-liner ook:
- name: Comment via gh
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release view "${{ github.event.release.tag_name }}" \
--json body --jq '.body' > old-body.txt
printf '\n\nFlipbook: %s\n' "${{ steps.flipbook.outputs.url }}" >> old-body.txt
gh release edit "${{ github.event.release.tag_name }}" \
--notes-file old-body.txt
Dat zet de flipbook-link onder aan de release notes, zodat hij precies daar zichtbaar is waar mensen de changelog lezen. Kies wat het beste bij de werkwijze van je team past — beide lezen de URL uit dezelfde steps.flipbook.outputs.url.
Opmerkingen over caching en prestaties
Een paar dingen die deze workflow snel en voorspelbaar houden:
- Cache npm. Voeg
cache: npmtoe aan desetup-node-stap als je repo een lockfile heeft — dat versnelt het installeren van de CLI en eventuele PDF-tooling bij herhaalde runs. - Let op de rate limit. De FlipLink API staat 300 requests per minuut per sleutel toe. Eén release publiceert één flipbook, dus je zit nergens in de buurt van het plafond — maar als je in één job naar veel PDF's uitwaaiert, spreid de calls dan.
- Vertak bij een fout. De CLI sluit af met
0bij succes,1bij een request-/HTTP-fout en2bij een applicatiefout. Omdat elk commando in hetrun-blok kan mislukken, valt de stap luid uit als er iets misgaat — precies wat je in CI wilt. - Houd de trigger strak.
types: [published]betekent dat de workflow één keer draait, namelijk wanneer je echt een release publiceert — niet bij concepten of pre-publicatiebewerkingen. Zo voorkom je per ongeluk dubbele flipbooks.
Tot slot
Met één workflowbestand en één repo-secret levert elke release nu een gepubliceerd flipbook op en plaatst de link terug naar je team — zonder handmatige stappen. Vanaf hier kun je een hele map in bulk omzetten, rijkere pipelines scripten met jq, of de logica naar een AI-agent verplaatsen. De patronen bouwen allemaal voort op dezelfde CLI.
Verder lezen
Klaar om je eerste flipbook te maken?
Zet je PDF's om in interactieve flipbooks en documenten. Begin met de Lifetime Deal van FlipLink — levenslange toegang vanaf slechts $39.
Betaal eenmalig, gebruik voor altijd
10, 50 of 100 flipbooks · Alle 35 functies · Onbeperkte domeinen
Geen niveaus. Geen functiebeperkingen. Elke LTD-code ontgrendelt alles.
- Elke functie ontgrendeld — geen grenzen
- Stapelbaar — koop extra codes wanneer je wilt
- Vervangbaar — wissel oud voor nieuw
- Onbeperkt eigen domeinen (CNAME)
- Geen terugkerende kosten, nooit
Gerelateerde artikelen
Flipbooks publiceren automatiseren in CI/CD met de FlipLink CLI
Automatiseer het publiceren van flipbooks in elke CI/CD-pijplijn met de FlipLink CLI — maak aan, publiceer, leg de URL vast en faal snel op exitcodes.
Een map met pdf's in bulk omzetten naar flipbooks
Zet een hele map pdf's in bulk om naar flipbooks met één shell-loop via de FlipLink-CLI — leg URL's vast in een CSV en sla foute bestanden over.
FlipLink CLI vs. API vs. MCP: welke integratie moet je gebruiken?
CLI, API of MCP voor FlipLink? Vergelijk moeite, doelgroep en gebruik, en zie hetzelfde flipbook op drie manieren gemaakt. Kies de juiste integratie.