Socket
Book a DemoInstallSign in
Socket

@lukeocodes/changelog-log

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lukeocodes/changelog-log

GitHub Action: detect new changelog entries and post JSON webhooks

latest
Source
npmnpm
Version
0.1.7
Version published
Maintainers
1
Created
Source

Changelog Log

GitHub Action that detects new changelog entries and posts them as structured JSON to a webhook.

Features

  • 🎯 Git diff-based - Only parses lines actually added
  • 📝 Structured JSON output with sections and bullets
  • 🚀 Posts to any webhook with custom headers
  • 📋 Supports Keep a Changelog & Conventional Changelog formats
  • 🔧 Configurable glob patterns and entry separators

Quick Start

name: Changelog Log
on:
  push:
    branches: [main]
    paths: ["**/CHANGELOG*.md"]

jobs:
  notify:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - uses: lukeocodes/changelog-log@v1
        with:
          webhook_url: ${{ secrets.CHANGELOG_WEBHOOK_URL }}

Configuration

InputRequiredDefaultDescription
webhook_urlYes-Destination URL for JSON payload
file_globsNoCHANGELOG.md,**/...Changelog file patterns to watch
entry_separator_regexNo^##\s+.*$Regex for entry headers
http_methodNoPOSTHTTP method (POST/PUT/PATCH)
webhook_headers_jsonNo-Extra headers as JSON string
extra_body_jsonNo-Extra fields to merge into payload
include_body_rawNofalseInclude unparsed entry text
log_levelNowarnLog level (trace/debug/info/warn/error/fatal)

JSON Payload

{
  "filePath": "CHANGELOG.md",
  "commit": { "before": "abc123...", "after": "def456..." },
  "header": "## [1.2.3] - 2025-10-17",
  "version": "1.2.3",
  "date": "2025-10-17",
  "sections": {
    "Added": ["New feature X"],
    "Fixed": ["Bug Z"]
  }
}

Custom Fields

Use extra_body_json to add custom fields to the payload:

- uses: lukeocodes/changelog-log@v1
  with:
    webhook_url: ${{ secrets.WEBHOOK_URL }}
    extra_body_json: '{"project":"myapp","environment":"production"}'

This will merge the extra fields into the payload:

{
  "filePath": "CHANGELOG.md",
  "version": "1.2.3",
  "project": "myapp",
  "environment": "production",
  ...
}

Contributing

See CONTRIBUTING.md. Use conventional commits for PRs.

License

MIT © Luke Oliff

Keywords

github-action

FAQs

Package last updated on 21 Oct 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts