{"id":21832007,"url":"https://github.com/neo4j-devtools/practicle","last_synced_at":"2025-04-14T07:20:47.620Z","repository":{"id":44729646,"uuid":"143989358","full_name":"neo4j-devtools/practicle","owner":"neo4j-devtools","description":"A CLI for pull request to changelog markdown generator for github","archived":false,"fork":false,"pushed_at":"2022-02-07T18:18:05.000Z","size":149,"stargazers_count":5,"open_issues_count":2,"forks_count":5,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-27T21:01:29.545Z","etag":null,"topics":["changelog","pull-requests"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neo4j-devtools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-08-08T09:11:20.000Z","updated_at":"2022-01-28T09:54:25.000Z","dependencies_parsed_at":"2022-07-20T15:18:01.412Z","dependency_job_id":null,"html_url":"https://github.com/neo4j-devtools/practicle","commit_stats":null,"previous_names":["neo4j-apps/practicle"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neo4j-devtools%2Fpracticle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neo4j-devtools%2Fpracticle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neo4j-devtools%2Fpracticle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neo4j-devtools%2Fpracticle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neo4j-devtools","download_url":"https://codeload.github.com/neo4j-devtools/practicle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248837168,"owners_count":21169376,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["changelog","pull-requests"],"created_at":"2024-11-27T19:17:15.628Z","updated_at":"2025-04-14T07:20:47.594Z","avatar_url":"https://github.com/neo4j-devtools.png","language":"JavaScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://i.imgur.com/KvrVHgB.png\" width=\"340\" alt=\"practicle logo\"\u003e\n\u003c/p\u003e\n\n# PRacticle - the pr-activated-changelog-emitter\n\n# Installation\n\nInstall globally to get a binary executable in your system.\n\n```\nnpm install -g @neo4j/practicle\n```\n\n# Commands\n\n## `generate-changelog`\n\nGenerate a markdown formatted changelog from pull requests in a Github repository.\nThe pull requests need to have a `changelog` label applied to them.\n\nIf the option `--prev-version` is omitted PRacticle finds all PR:s in\nthe semver minor version and generates a complete changelog for all versions in that range.\n\nI.e. if `--next-version=3.2.5` is used, the output will include all changes from `3.2.0` to the upoming `3.2.5` release. They are grouped by version.\n\nVersions are generated from git tags that has the format `x.y.z`.\n\nWhen `--prev-version` is included, the same thing happens but it starts from the version of `--prev-version` rather than `.0`.\n\nBy default, the text for the changelog entry is taken from the pull request title. If the pull request body includes `changelog:` on a separate line, it will override the default text.\n\nIf `release-tag-filter` is included, which should be a **regex** string, it will be used to filter out releases by their tags. Default value complies with semantic versioning that can optionally start with a _v_, like 1.0.1 or v1.0.1\n\n# Usage\n\n```bash\nOptions:\n  --token                      GITHUB_TOKEN env should be set         [required]\n  --repo, -r                   Github repo to pull changes from       [required]\n  --next-version, --nv         The next version of the software to be release\n                                                                      [required]\n  --release-commit, --rc       The commit hash to be considered as the release\n                               for the changelog                      [required]\n  --output-pr-links, --opl     Adds the corresponding Github link at the end of\n                               the change message\n  --output-author, --oa        Appends the PR author to the change message\n  --prev-version, --pv         The prev version to generate the\n                               changelog from.\n                               - If arg is a valid Semver string\n                               (x.x.x) then the changelog will\n                               generate notes from the tag\n                               - If used as a flag then the changelog\n                               is generated from the previous semver\n                               tag.\n                               - If ommitted then the semver\n                               major.minor version is used to\n                               generate changelogs over that range\n\n  --release-tag-filter, --rtf  The regex to filter out releases by their release\n                               tags               [default: \"^v?\\d+\\.\\d+\\.\\d+$\"]\n  --label-filter, --lf         Override the pull requests label filter\n                                                [array] [default: [\"changelog\"]]\n```\n\n## `draft-release`\n\nTakes contents from a file and creates a _draft_ release on GitHub using that contents.\n\n```bash\nOptions:\n  --token               GITHUB_TOKEN env should be set                [required]\n  --repo, -r            Github repo to push draft release to          [required]\n  --next-version, --nv  The next version of the software to be release[required]\n  --commit, -c          The commit that will be tagged                [required]\n  --file                File from which to read that will be used for the\n                        release description                           [required]\n```\n\n## `release`\n\nTakes contents from a file and creates a release on GitHub using that contents.\n\n```bash\nOptions:\n  --token               GITHUB_TOKEN env should be set                [required]\n  --repo, -r            Github repo to push draft release to          [required]\n  --next-version, --nv  The next version of the software to be release[required]\n  --commit, -c          The commit that will be tagged                [required]\n  --file                File from which to read that will be used for the\n                        release description                           [required]\n```\n\n## `fetch-release-notes`\n\nFetches release notes from a release tag (or draft release tag) from Github and outputs it to standard out.\n\n```\nOptions:\n  --token     GITHUB_TOKEN env should be set                          [required]\n  --repo, -r  Github repo to push draft release to                    [required]\n  --tag, -t   The tag associated with the release                     [required]\n```\n\n# Usage\n\n## Examples\n\n```bash\n# Generate md formatted changelog for 3.2.0 -\u003e 3.2.5\n# Output to standard output\npracticle generate-changelog \\\n  --repo=https://github.com/neo4j/neo4j-browser \\\n  --next-version=3.2.5 \\\n  --release-commit=195694b5479ccc22d144d4ad5f81d74a1ceedb0e \\\n  --output-pr-links \\\n  --token=xxx\n```\n\n```bash\n# Generate and pipe to release_notes.md (just changes since the last release)\npracticle generate-changelog \\\n  --repo=https://github.com/neo4j/neo4j-browser \\\n  --next-version=3.2.5 \\\n  --prev-version=3.2.4 \\\n  --release-commit=195694b5479ccc22d144d4ad5f81d74a1ceedb0e \\\n  --output-pr-links \\\n  --token=xxx \\\n\u003e release_notes.md\n```\n\n```bash\n# Only consider releases with name being in the format of `d.d.0`, so where patch is 0\n# Output to standard output\npracticle generate-changelog \\\n--repo=https://github.com/neo4j/neo4j-browser \\\n--next-version=3.2.5 \\\n--release-commit=195694b5479ccc22d144d4ad5f81d74a1ceedb0e \\\n--token=xxx\n--release-tag-filter='^(?:\\d*\\.){2}0$'\n```\n\n### Output\n\nThe following command (try it, just remember to use your [own token](https://github.com/settings/tokens)):\n\n```\npracticle generate-changelog \\\n  --repo=https://github.com/neo4j/neo4j-browser \\\n  --next-version=3.2.6 \\\n  --release-commit=7ee472bedcc2e73023e9cf09708e597913ff70cd \\\n  --output-pr-links \\\n  --token=xxx\n```\n\nproduces the following output\n\n```\n## 3.2.6\n\n- Add `:history clear` command [#800](https://github.com/neo4j/neo4j-browser/pull/800)\n- Add pagecache hits and misses to plan output [#812](https://github.com/neo4j/neo4j-browser/pull/812)\n- Add complete support for bolt+routing:// [#814](https://github.com/neo4j/neo4j-browser/pull/814)\n- Enable users with non reader roles to connect [#818](https://github.com/neo4j/neo4j-browser/pull/818)\n\n## 3.2.5\n\n- Add toggle for multi statement cypher editor [#793](https://github.com/neo4j/neo4j-browser/pull/793)\n\n## 3.2.3\n\n- Fix editor to handle string literals that contain new lines [#794](https://github.com/neo4j/neo4j-browser/pull/794)\n\n## 3.2.2\n\n- Add support for multi-statement execution [#722](https://github.com/neo4j/neo4j-browser/pull/722)\n\n## 3.2.1\n\n- Handle changelog url building in disconnected state [#787](https://github.com/neo4j/neo4j-browser/pull/787)\n- Fix issue with creating unique keys from user input [#790](https://github.com/neo4j/neo4j-browser/pull/790)\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneo4j-devtools%2Fpracticle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneo4j-devtools%2Fpracticle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneo4j-devtools%2Fpracticle/lists"}