{"id":19502757,"url":"https://github.com/ml-opensource/bitrise-changelog-step","last_synced_at":"2025-07-06T22:36:18.026Z","repository":{"id":59382025,"uuid":"536955210","full_name":"ml-opensource/bitrise-changelog-step","owner":"ml-opensource","description":null,"archived":false,"fork":false,"pushed_at":"2023-11-15T08:42:07.000Z","size":44,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-25T21:42:53.561Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ml-opensource.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-15T09:30:43.000Z","updated_at":"2025-02-21T09:55:11.000Z","dependencies_parsed_at":"2024-11-11T00:16:10.401Z","dependency_job_id":null,"html_url":"https://github.com/ml-opensource/bitrise-changelog-step","commit_stats":null,"previous_names":["ml-opensource/bitrise-changelog-step"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ml-opensource/bitrise-changelog-step","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-opensource%2Fbitrise-changelog-step","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-opensource%2Fbitrise-changelog-step/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-opensource%2Fbitrise-changelog-step/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-opensource%2Fbitrise-changelog-step/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ml-opensource","download_url":"https://codeload.github.com/ml-opensource/bitrise-changelog-step/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-opensource%2Fbitrise-changelog-step/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263984747,"owners_count":23539762,"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":[],"created_at":"2024-11-10T22:18:08.384Z","updated_at":"2025-07-06T22:36:18.005Z","avatar_url":"https://github.com/ml-opensource.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Git Changelog Step\n\n## Conventional Commits-changelog\nThis step supports Conventional Commit formatting and parses the resulting commits into a nicely formatted changelog:\n\nIt parses the commit messages by the form:\n\n`feat: implemented IAP` -\u003e ` - Implemented IAP (John Doe)`\n\nAnd if you supply extra context to a Jira ticket or similar:\n\n`feat(JRA-123): implemented IAP` -\u003e ` - JRA-123 Implemented IAP (John Doe)`\n\n### Example of generated output `COMMIT_CHANGELOG`:\n```\nv1.0.1\n-----\n\n🎉 Features\n-----\n- Implemented IAP (John Doe)\n- JRA-123 Implemented IAP (John Doe)\n\n🐛 Bugfixes\n-----\n- JRA-123 Fixed unintended bug (John Doe)\n\n🤷 Other changes\n-----\n - Initial commit (John Doe)\n```\n\nIt also generates a `COMMIT_CHANGELOG_MARKDOWN` which is Github/Slack markdown friendly.\n\n### Options\n\nYou can override the formatting of each section via the following step inputs:\n| Step input key  | Default value |\n|----|----|\n|`custom_features_name` | 🎉 Features |\n|`custom_bugfixes_name` | 🐛 Bugfixes |\n|`custom_maintenance_name` | 🔨Improvements |\n|`custom_format_name` | ⚒ Formatting |\n|`custom_test_name` | 📝 Tests |\n|`custom_refactor_name` | 🧹 Refactors |\n|`custom_documentation_name` | 📄 Documentation |\n|`custom_other_name` | 🤷 Other changes |     \n\n## Normal changelog\nGenerates a changelog message from git commit for use in other steps. It pulls every commit message between the last two tags or if less than 2 tags are found, all commit messages.\n\n### Example of generated output `COMMIT_CHANGELOG`:\n```\n - Cleaned up the code (John Doe)\n - Initial commit (John Doe)\n```\n\n## Input options\n\nCommit messages are pulled via: `changelog=\"$(git log --no-merges --pretty=format:\"$prettygitformat\" --date=format:\"$dateformat\" $latest_tag...$previous_tag)\"`.\nWhich enables custom commit message formatting via the step input: `pretty_git_format`. [Documentation on `git log` pretty formats can be found here](https://git-scm.com/docs/pretty-formats)\nYou can also override the date format used in `git log` via the step input: `custom_dateformat`\n\n## How to use this Step\n\nCan be run directly with the [bitrise CLI](https://github.com/bitrise-io/bitrise),\njust `git clone` this repository, `cd` into it's folder in your Terminal/Command Line\nand call `bitrise run test`.\n\n*Check the `bitrise.yml` file for required inputs which have to be\nadded to your `.bitrise.secrets.yml` file!*\n\nStep by step:\n\n1. Open up your Terminal / Command Line\n2. `git clone` the repository\n3. `cd` into the directory of the step (the one you just `git clone`d)\n5. Create a `.bitrise.secrets.yml` file in the same directory of `bitrise.yml` - the `.bitrise.secrets.yml` is a git ignored file, you can store your secrets in\n6. Check the `bitrise.yml` file for any secret you should set in `.bitrise.secrets.yml`\n  * Best practice is to mark these options with something like `# define these in your .bitrise.secrets.yml`, in the `app:envs` section.\n7. Once you have all the required secret parameters in your `.bitrise.secrets.yml` you can just run this step with the [bitrise CLI](https://github.com/bitrise-io/bitrise): `bitrise run test`\n\nAn example `.bitrise.secrets.yml` file:\n\n```\nenvs:\n- A_SECRET_PARAM_ONE: the value for secret one\n- A_SECRET_PARAM_TWO: the value for secret two\n```\n\n## How to create your own step\n\n1. Create a new git repository for your step (**don't fork** the *step template*, create a *new* repository)\n2. Copy the [step template](https://github.com/bitrise-steplib/step-template) files into your repository\n3. Fill the `step.sh` with your functionality\n4. Wire out your inputs to `step.yml` (`inputs` section)\n5. Fill out the other parts of the `step.yml` too\n6. Provide test values for the inputs in the `bitrise.yml`\n7. Run your step with `bitrise run test` - if it works, you're ready\n\n__For Step development guidelines \u0026 best practices__ check this documentation: [https://github.com/bitrise-io/bitrise/blob/master/_docs/step-development-guideline.md](https://github.com/bitrise-io/bitrise/blob/master/_docs/step-development-guideline.md).\n\n**NOTE:**\n\nIf you want to use your step in your project's `bitrise.yml`:\n\n1. git push the step into it's repository\n2. reference it in your `bitrise.yml` with the `git::PUBLIC-GIT-CLONE-URL@BRANCH` step reference style:\n\n```\n- git::https://github.com/user/my-step.git@branch:\n   title: My step\n   inputs:\n   - my_input_1: \"my value 1\"\n   - my_input_2: \"my value 2\"\n```\n\nYou can find more examples of step reference styles\nin the [bitrise CLI repository](https://github.com/bitrise-io/bitrise/blob/master/_examples/tutorials/steps-and-workflows/bitrise.yml#L65).\n\n## How to contribute to this Step\n\n1. Fork this repository\n2. `git clone` it\n3. Create a branch you'll work on\n4. To use/test the step just follow the **How to use this Step** section\n5. Do the changes you want to\n6. Run/test the step before sending your contribution\n  * You can also test the step in your `bitrise` project, either on your Mac or on [bitrise.io](https://www.bitrise.io)\n  * You just have to replace the step ID in your project's `bitrise.yml` with either a relative path, or with a git URL format\n  * (relative) path format: instead of `- original-step-id:` use `- path::./relative/path/of/script/on/your/Mac:`\n  * direct git URL format: instead of `- original-step-id:` use `- git::https://github.com/user/step.git@branch:`\n  * You can find more example of alternative step referencing at: https://github.com/bitrise-io/bitrise/blob/master/_examples/tutorials/steps-and-workflows/bitrise.yml\n7. Once you're done just commit your changes \u0026 create a Pull Request\n\n\n## Share your own Step\n\nYou can share your Step or step version with the [bitrise CLI](https://github.com/bitrise-io/bitrise). If you use the `bitrise.yml` included in this repository, all you have to do is:\n\n1. In your Terminal / Command Line `cd` into this directory (where the `bitrise.yml` of the step is located)\n1. Run: `bitrise run test` to test the step\n1. Run: `bitrise run audit-this-step` to audit the `step.yml`\n1. Check the `share-this-step` workflow in the `bitrise.yml`, and fill out the\n   `envs` if you haven't done so already (don't forget to bump the version number if this is an update\n   of your step!)\n1. Then run: `bitrise run share-this-step` to share the step (version) you specified in the `envs`\n1. Send the Pull Request, as described in the logs of `bitrise run share-this-step`\n\nThat's all ;)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fml-opensource%2Fbitrise-changelog-step","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fml-opensource%2Fbitrise-changelog-step","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fml-opensource%2Fbitrise-changelog-step/lists"}