{"id":17678317,"url":"https://github.com/yantonov/ticket-commit-msg","last_synced_at":"2026-02-26T18:36:35.133Z","repository":{"id":38329978,"uuid":"319146282","full_name":"yantonov/ticket-commit-msg","owner":"yantonov","description":"Git hook which helps to add ticket/issue number to the commit message.","archived":false,"fork":false,"pushed_at":"2026-01-11T22:02:47.000Z","size":70,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-12T01:17:41.295Z","etag":null,"topics":["commit","commit-message","git","hook","issue","issue-management","jira","ticket","tracker","youtrack"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/yantonov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-12-06T22:37:35.000Z","updated_at":"2026-01-11T22:02:51.000Z","dependencies_parsed_at":"2025-04-22T00:01:11.405Z","dependency_job_id":null,"html_url":"https://github.com/yantonov/ticket-commit-msg","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/yantonov/ticket-commit-msg","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yantonov%2Fticket-commit-msg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yantonov%2Fticket-commit-msg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yantonov%2Fticket-commit-msg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yantonov%2Fticket-commit-msg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yantonov","download_url":"https://codeload.github.com/yantonov/ticket-commit-msg/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yantonov%2Fticket-commit-msg/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29867561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T18:27:06.972Z","status":"ssl_error","status_checked_at":"2026-02-26T18:26:57.848Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["commit","commit-message","git","hook","issue","issue-management","jira","ticket","tracker","youtrack"],"created_at":"2024-10-24T08:04:33.333Z","updated_at":"2026-02-26T18:36:35.126Z","avatar_url":"https://github.com/yantonov.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Actions Status](https://github.com/yantonov/ticket-commit-msg/workflows/ci/badge.svg)](https://github.com/yantonov/ticket-commit-msg/actions)\n\nGit commit hook that helps to add ticket/issue number to the commit message.\n\n# Motivation\nWhen you use [youtrack](https://www.jetbrains.com/youtrack/), [tracker](https://yandex.com/tracker/), [jira](https://www.atlassian.com/software/jira), etc it is convenient to automatically add ticket number to the commit message.  \nThis tool helps you to get rid of manual mechanics around it.  \nIdea: hook extracts ticket number from the branch name.\n\n# Table of contents\n1. [Mechanics](#mechanics)\n2. [Usage](#usage)\n3. [Customization](#customization)\n4. [Example](#example)\n5. [Links](#links)\n\n\n\n## Mechanics\nIt is supposed that the branch name starts with the ticket number and uses the typical name convention  \n(example: QUEUE-123).  \nIf ticket number can be extracted from branch name and it is not mentioned inside the commit message it will be included automatically on a separate line.  \nOtherwise commit message will remain unchanged.  \n\n## Usage:\n1. add application to the PATH.  \nBinaries for each platform are available [here](https://github.com/yantonov/ticket-commit-msg/releases), you don't need to install Rust toolchain.  \n2. install commit-msg hook, using script [install/install-ticket-commit-msg-hook.sh](https://github.com/yantonov/ticket-commit-msg/blob/master/install/install-ticket-commit-msg-hook.sh)  \nTo simplify usage you can add install script also to the PATH.  \n3. commit something  \n\nTo simplify usage for several repositories you can add install directory to the PATH.\n\n## Customization\nYou can set prefix for the ticket number using git config:\n```\ngit config custom.ticketnumberprefix 'Issue: '\n```\nOr you can set it in the environment variable `TICKET_PREFIX`.\n\nThen after you commit something while an active branch is QUEUE-123:  \nthe following line will be added to the commit message: \"Issue: QUEUE-123\".\n\n## Example\n```\ntest on master\n❯ git br\n* master 8692399 initial commit\n\ntest on master\n❯ git branch\n* master\n\ntest on master\n❯ git checkout -b QUEUE-123\nSwitched to a new branch 'QUEUE-123'\n\ntest on QUEUE-123\n❯ touch test.txt\n\ntest on QUEUE-123 [?]\n❯ git add .\n\ntest on QUEUE-123 [+]\n❯ git commit -m 'Test'\n[QUEUE-123 352c7c4] Test QUEUE-123\n 1 file changed, 0 insertions(+), 0 deletions(-)\n create mode 100644 test.txt\n\ntest on QUEUE-123\n❯ git log -n 1\ncommit 352c7c4d9a0db7a7fa91a1a8d9ea937143192116 (HEAD -\u003e QUEUE-123)\nAuthor: Yury Antonov \u003c1390348+yantonov@users.noreply.github.com\u003e\nDate:   Thu May 26 15:17:36 2022 +0200\n\n    Test\n    QUEUE-123\n\ntest on QUEUE-123\n❯ git config custom.ticketnumberprefix 'JIRA: '\n\ntest on QUEUE-123\n❯ touch test2.txt\n\ntest on QUEUE-123 [?]\n❯ git add .\n\ntest on QUEUE-123 [+]\n❯ git commit -m 'Test 2'\n[QUEUE-123 d0c99a4] Test 2 JIRA: QUEUE-123\n 1 file changed, 0 insertions(+), 0 deletions(-)\n create mode 100644 test2.txt\n\ntest on QUEUE-123\n❯ git log -n 1\ncommit d0c99a4fa7d46ea65166e460d52bbeda077a8978 (HEAD -\u003e QUEUE-123)\nAuthor: Yury Antonov \u003c1390348+yantonov@users.noreply.github.com\u003e\nDate:   Thu May 26 15:18:35 2022 +0200\n\n    Test 2\n    JIRA: QUEUE-123\n```\n\n## Links\n1. [Git hooks](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyantonov%2Fticket-commit-msg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyantonov%2Fticket-commit-msg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyantonov%2Fticket-commit-msg/lists"}