{"id":15027701,"url":"https://github.com/klammbueddel/txt2jira","last_synced_at":"2025-04-09T20:22:53.251Z","repository":{"id":79995845,"uuid":"551302679","full_name":"klammbueddel/txt2jira","owner":"klammbueddel","description":"txt2jira - text to Jira work log – work logging made easy and fun again","archived":false,"fork":false,"pushed_at":"2023-08-02T08:20:45.000Z","size":110,"stargazers_count":15,"open_issues_count":4,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-23T22:14:37.587Z","etag":null,"topics":["cli","cli-app","command","command-line","command-line-tool","jira","jira-rest-api","jira-worklog","php","php8","php81","text","time","timetrack","timetracker","timetracking","timetrackingapp","tracker","worklog","worklogs"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/klammbueddel.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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-10-14T06:45:40.000Z","updated_at":"2025-01-15T15:09:39.000Z","dependencies_parsed_at":"2023-09-04T21:00:45.684Z","dependency_job_id":null,"html_url":"https://github.com/klammbueddel/txt2jira","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klammbueddel%2Ftxt2jira","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klammbueddel%2Ftxt2jira/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klammbueddel%2Ftxt2jira/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klammbueddel%2Ftxt2jira/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/klammbueddel","download_url":"https://codeload.github.com/klammbueddel/txt2jira/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248104919,"owners_count":21048423,"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":["cli","cli-app","command","command-line","command-line-tool","jira","jira-rest-api","jira-worklog","php","php8","php81","text","time","timetrack","timetracker","timetracking","timetrackingapp","tracker","worklog","worklogs"],"created_at":"2024-09-24T20:06:55.250Z","updated_at":"2025-04-09T20:22:53.239Z","avatar_url":"https://github.com/klammbueddel.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# txt2jira - text to Jira - time tracking for the command line\n\n![CI](https://github.com/klammbueddel/txt2jira/actions/workflows/test.yml/badge.svg)\n\nLog your work in a simple text file and post it to Jira with a single command. \nEdit the file manually or use the provided commands to interact with the log file.\n\n## Key benefits\n* Logs your work locally, commits accumulated logs to Jira once you are done.\n* Provides autocompletion for recently used issues and comments.\n* Resolves summary of issues from Jira.\n* Shows a summary of the logged time per day.\n* Rounds time to frames of 5 minutes by default.\n* Detects issue number in branch name or URL.\n* Supports absolute (hh:mm) or relative time formats (1h / 30m).\n* Supports alias to quickly log work on a specific issue.\n\n## Log format\n\n```text\n\u003cissue\u003e as \u003calias\u003e\n\n\u003cdate\u003e\n\n\u003cstart time\u003e\n\u003cissue | alias\u003e \u003ccomment\u003e\n\u003cend time\u003e\n```\n\n## Getting started\n\nStart your work day with the `log` command. It will add the current time to the log file rounded to 5 minute.\n\n```bash\n09:02 $ txt2jira log TEST-1 Do some work\nStarted TEST-1 Do some work at 09:00\n```\n\nThe log file will look like this:\n\n```text\n04.12.2022\n\n09:00\nTEST-1 Do some work\n```\n\nUse the `list` command to see all entries in the log file. Notice that the summary was fetched from Jira.\n\n```bash\n09:02 $ txt2jira list\n-------------------------------------------------- 04.12.22 -----------------------------------\n* 09:00 - 09:02  TEST-1     As a user I want to eat choco cup cakes     2m      Do some work\n----------------------------------------------------- 5m --------------------------------------\n```\n\n### Switching between tasks\n\nIt is easy to switch to another task by just starting it.\n\n```bash\n09:19 $ txt2jira log TEST-2 Do some other work\nStopped TEST-1 Do some work at 09:20\nStarted TEST-2 Do some other work at 09:20\n```\n\n```text\n04.12.2022\n\n09:00\nTEST-1 Do some work\n09:20\nTEST-2 Do some other work\n```\n\n### Stop working\n\nRunning the `log` command while a log is active will stop the current log. Add optional `\u003ctime\u003e` or `\u003cduration\u003e` for alternative end time.\n\n```bash\n09:29 $ txt2jira log\nStopped TEST-1 Do some work at 09:30\n```\n\nThe end time is added to the log file.\n```text\n04.12.2022\n\n09:00\nTEST-1 Do some work\n09:20\nTEST-2 Do some other work\n09:30\n```\n\n### Explore other useful features\n* Use the `log` command without arguments to choose from the last recent tasks.\n* Use the `log` command with `\u003cissue\u003e` or `\u003cissue\u003e \u003ccomments\u003e` arguments to switch to task.\n* Type `log 10m TEST-1` to add a task with a duration of 10 minutes.  \n* Type `log 10:00 15m TEST-1` to add a task from 10:00 to 10:15.  \n* Type `log -c` to continue from last end date. \n* Type `log 1h` to add a break of 1 hour if task is still running. \n* Use the `time` command to manipulate the current start / end time.\n* Use the `comment` command to change the comment of the current task.\n* Use the `comment -a` command to add comments to the current task.\n* Use the `issue` command to change the issue of the current task.\n* Use the `delete` command to remove a task from the log file.\n* Use the `clear-cache` command to clear the cache.\n\n### Commit logs to Jira\nOnce you are done with your work day, you can commit the logs to Jira with the `commit` command.\n\n```bash\n09:41 $ txt2jira commit\n-------------------------------------------------- 04.12.22 -----------------------------------------------------\n* 09:00 - 09:20  TEST-1     As a user I want to eat choco cup cakes              20m     Do some work\n* 09:20 - 09:30  TEST-2     As an administrator I want to grant access to c...   10m     Do some other work\n----------------------------------------------------- 30m -------------------------------------------------------\n\nCommit to Jira? (y/n): y\nLog 20m     TEST-1 Do some work ✓\nLog 10m     TEST-2 Do some other work ✓\nAll done!\n```\n\n* Enjoy the end of the day without thinking about completing logs at the end of month.\n\n### Requirements:\n\n* PHP 8.1\n* CURL\n\n### Installation\n\n```bash\ngit clone https://github.com/klammbueddel/txt2jira\ncd txt2jira\ncomposer install --no-dev\n```\n\nSetup configuration with `./txt2jira config`\n\nMaybe you want to add the `txt2jira` command to your path.\n```bash\nsudo ln -s $(pwd)/txt2jira /usr/local/bin/txt2jira\n```\n\nMaybe you want to add some bash aliases to ease the usage even more.\n```bash\nalias w='txt2jira'\nalias ws='txt2jira log'\nalias wl='txt2jira list'\nalias wd='txt2jira delete'\nalias wt='txt2jira time'\nalias wi='txt2jira issue'\nalias wc='txt2jira comment'\n```\n\n## Other features\n\n### Aliases\n\nUse aliases for recurring tasks.\n\n```TEXT\nTEST-1 as Coffee\n\n14.10.2022\n\n08:00\nCoffee Clean machine\n08:15\n```\n\n### Comment aggregation\n\n```TEXT\nTEST-1 as Coffee\n\n04.12.2022\n\n08:00\nCoffee Clean machine\n08:15\nCoffee Drink coffee\n08:30\nTEST-2 Talk to customer\n08:45\nCoffee Wash dishes\n09:00\n``` \n\nWill be aggregated to\n```\n45m TEST-1 Clean machine; Drink coffee; Wash dishes\n15m TEST-2 Talk to customer\n```\n\n### Flag logged items\n\nOnce committed, log items will be flagged with an `x`.\n\n```TEXT\nTEST-1 as Coffee\n\n14.10.2022\n\n08:00\nCoffee Clean machine x\n08:15\nCoffee Drink coffee x\n08:30\nTEST-2 Talk to customer x\n08:45\nCoffee Wash dishes x\n09:00\n```\n\n## License\n\nMIT 2022 Christian Bartels\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklammbueddel%2Ftxt2jira","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fklammbueddel%2Ftxt2jira","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklammbueddel%2Ftxt2jira/lists"}