Keep-a-Changelog-Eintrag nach Änderungstyp formatieren
Wandeln Sie strukturierte Release-Daten in einen einheitlichen Keep-a-Changelog-Eintrag um, ohne Überschriften und Listen manuell anzuordnen.
Im Browser ausführen – kostenlos
Geben Sie Version, Datum sowie hinzugefügte, geänderte, behobene oder entfernte Punkte an. Der Formatierer wahrt deren Reihenfolge, lässt leere Abschnitte aus und liefert sofort einsetzbares Markdown. Die deterministische Ausgabe eignet sich für Release-Skripte, kontinuierliche Bereitstellung, Repository-Werkzeuge und redaktionelle Prüfungen.
Bereiten Sie die Release-Informationen vor
Beginnen Sie mit Version und Datum und ordnen Sie jede relevante Änderung einer der vier Gruppen hinzugefügt, geändert, behoben oder entfernt zu. Formulieren Sie kurze, eigenständige Beschreibungen ohne interne Ticket-Verweise. Der Formatierer erfindet und kürzt nichts, sondern erhält Wortlaut und Reihenfolge. Leere Gruppen dürfen fehlen. Version und Datum müssen Text enthalten; für das Datum empfiehlt sich YYYY-MM-DD, da es international eindeutig und sortierbar ist.
Verstehen Sie die erzeugte Markdown-Struktur
Das Ergebnis beginnt mit einer Überschrift zweiter Ebene, die Version in eckigen Klammern und Datum enthält. Danach folgen ausschließlich nicht leere Gruppen, stets in der Reihenfolge Hinzugefügt, Geändert, Behoben und Entfernt. Jede erhält eine Überschrift dritter Ebene und eine Liste. Äußere Leerzeichen und ein vorhandenes Aufzählungszeichen werden entfernt. Das Feld changelog endet mit einem Zeilenumbruch; dieselbe gültige Eingabe erzeugt im Browser und über die API stets denselben Text.
Binden Sie den Formatierer in Releases ein
Verwenden Sie ihn nach der Freigabe der Hinweise und vor dem Einfügen in die Repository-Datei. Ein Skript kann strukturierte Beschreibungen sammeln, formatieren lassen und das Ergebnis zur Prüfung oder an einen getrennten Aktualisierungsschritt weitergeben. Die Funktion liest keine Commits oder Tickets, verändert keine Dateien und wählt keine semantische Version. Prüfen Sie den Eintrag im vollständigen Changelog, falls eigene Überschriften oder Links gelten. Jede API-Anfrage kostet $0.002.
Anwendungsfälle
Release-Automatisierung vereinheitlichen
Wandeln Sie strukturierte Daten vor der Aktualisierung in berechenbares Markdown um.
Hinweise zur Prüfung vorbereiten
Liefern Sie einen geordneten Eintrag, damit Genauigkeit und Klarheit zählen.
Mehrere Repositorys abstimmen
Nutzen Sie gleiche Überschriften und Listen in einheitlich aufgebauten Diensten.
Häufige Fragen
Was kostet die Nutzung?
Jede API-Anfrage kostet $0.002.
Welche Änderungstypen werden unterstützt?
Unterstützt werden hinzugefügt, geändert, behoben und entfernt, in dieser Reihenfolge.
Was geschieht mit einer leeren Gruppe?
Ihre Überschrift entfällt; nur Abschnitte mit Änderungen erscheinen.
Werden Hinweise aus Commits erzeugt?
Nein. Ihre Beschreibungen werden formatiert, ohne Commits, Tickets oder Repositorys zu prüfen.
Muss die Version semantisch sein?
Nein. Sie darf nur nicht leer sein; Ihr Versionsschema bleibt erhalten.
Wird meine Changelog-Datei geändert?
Nein. Sie erhalten einen Markdown-Eintrag; das Einfügen ist ein eigener Schritt.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/dev2/changelog-entry-format \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"version":"2.4.0","date":"2026-07-25"}'const res = await fetch("https://api.kit.forhosting.com/dev2/changelog-entry-format", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"version": "2.4.0",
"date": "2026-07-25"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev2/changelog-entry-format",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"version": "2.4.0",
"date": "2026-07-25"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev2/changelog-entry-format", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"version":"2.4.0","date":"2026-07-25"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"version":"2.4.0","date":"2026-07-25"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev2/changelog-entry-format", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"version": "2.4.0",
"date": "2026-07-25"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev2.changelog_entry_format",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |