{"id":22754595,"url":"https://github.com/marvincaspar/clockify2cats","last_synced_at":"2025-04-14T15:35:12.514Z","repository":{"id":150204765,"uuid":"447489993","full_name":"marvincaspar/clockify2cats","owner":"marvincaspar","description":"CLI for exporting clockify data and generate a SAP CATS report as csv","archived":false,"fork":false,"pushed_at":"2024-10-29T14:03:43.000Z","size":8149,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-28T04:28:36.657Z","etag":null,"topics":["cats","clockify","sap"],"latest_commit_sha":null,"homepage":"","language":"Go","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/marvincaspar.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-01-13T06:32:59.000Z","updated_at":"2024-10-29T14:04:08.000Z","dependencies_parsed_at":"2024-02-26T20:27:13.039Z","dependency_job_id":"bffb7fd0-fd24-4a03-91d9-5d80ecc144d4","html_url":"https://github.com/marvincaspar/clockify2cats","commit_stats":null,"previous_names":["marvincaspar/clockify2cats"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marvincaspar%2Fclockify2cats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marvincaspar%2Fclockify2cats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marvincaspar%2Fclockify2cats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marvincaspar%2Fclockify2cats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marvincaspar","download_url":"https://codeload.github.com/marvincaspar/clockify2cats/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248906824,"owners_count":21181222,"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":["cats","clockify","sap"],"created_at":"2024-12-11T06:18:04.066Z","updated_at":"2025-04-14T15:35:12.491Z","avatar_url":"https://github.com/marvincaspar.png","language":"Go","readme":"[![CI](https://github.com/marvincaspar/clockify-cats-reporter/actions/workflows/ci.yml/badge.svg)](https://github.com/marvincaspar/clockify-cats-reporter/actions/workflows/ci.yml)\n[![Coverage Status](https://coveralls.io/repos/github/marvincaspar/clockify2cats/badge.svg?branch=main)](https://coveralls.io/github/marvincaspar/clockify2cats?branch=main)\n[![Go Report Card](https://goreportcard.com/badge/github.com/marvincaspar/clockify2cats)](https://goreportcard.com/report/github.com/marvincaspar/clockify2cats)\n\n# Clockify2Cats\n\n`clockify2cats` is a tool which exports your time from clockify and prints a report into a format that you can capy and paste into SAP CATS (Cross-Application Time Sheet).\n\n![Clockify2Cats usage](./clockify2cats.gif)\n\n## Installation\n\nDownload the latest binary for your system from the [GitHub release page](https://github.com/marvincaspar/clockify-cats-reporter/releases/latest/).\n\n```sh\ncurl -o clockify2cats.tar.gz -L https://github.com/marvincaspar/clockify-cats-reporter/releases/latest/download/clockify2cats_$(uname -s)_$(uname -m).tar.gz\ntar -xvzf clockify2cats.tar.gz\nsudo mv clockify2cats /usr/local/bin\nrm clockify2cats.tar.gz\n```\n\n## Usage\n\nFirst you need to set up your local configuration. Run `clockify2cats init --workspace \u003cWorkspaceID\u003e --user \u003cUserID\u003e --api-key \u003cAPI-KEY\u003e --description-delimiter \"#\"`. The configuration is stored in `~/.clockify2cats.yaml`.\n\nThen you can use `clockify2cats` to generate a report. Run `clockify2cats generate [flags]`.\n\nFlags:\n\n```\n      --category string   Category identifyer (default \"ID\")\n  -C, --copy              Copy report to clipboard\n  -c, --current           Current week\n  -h, --help              help for generate\n  -l, --last              Last week\n  -t, --text              Print with text\n  -w, --week int          Week number\n```\n\nExample:\n\n```\n$ clockify2cats generate --current\n\nCATSID-1                    ID      8.06            4.68            1.26            2.34            7.62            0.00            0.00\nCATSID-2                    ID      0.00            0.47            6.02            5.13            0.73            0.00            0.00\nCATSID-3                    ID      0.00            2.93            0.00            0.53            0.00            0.00            0.00\n```\n\nThis report is build for the CATS columns:\n\n- Rec. order\n- Description - empty\n- Text - use flag `-t` to use it\n- Text 2 - use flag `-t` to use it\n- Text External - use flag `-t` to use it\n- Category - default `ID`, can be set with flag `--category \u003cstring\u003e`\n- Monday\n- Tuesday\n- Wednesday\n- Thursday\n- Friday\n- Saturday\n- Sunday\n\n## Clockify setup\n\nCreate projects and name it like `\u003cProjectName\u003e (\u003cCatsID\u003e)`. Track your time for the projects. Use the clockify description field to add additional information for the CATS text fields. You can also use a\nshared\nproject to split time between multiple CATS projects. The project name should be `\u003cSharedProjectName\u003e (\u003cCatsID1\u003e,\u003cCatsID2\u003e,...)`. The clockify description is used for the CATS text fields and is split by a\ndefined\ndelimiter, default is `#`. The rules for the split are:\n\n- no delimiter found: the whole description is used for the CATS text 2 field\n- one delimiter found: the description before the delimiter is used for the CATS text field, the description after the delimiter is used for the CATS text 2 field\n- two delimiters found: the description before the first delimiter is used for the CATS text field, the description between the first and the second delimiter is used for the CATS text 2 field, the description\n  after the second delimiter is used for the CATS text external field\n\nThis is only relevant if you use the `-t` or `--text` flag.\n\nGenerate an API for clockify. It can be found in your profile settings.\n\nFetch your user id and your default workspace id from the api `curl -H 'X-Api-Key: \u003cAPI-KEY\u003e' https://api.clockify.me/api/v1/user | jq \". | {id, defaultWorkspace}\"`.\n\n## Release\n\n```sh\nbrew install goreleaser\ngoreleaser init\n```\n\nUpdate the version in `version.txt` and run `make release`.\nThis will create a new git tag, build all binaries and publish it to GitHub.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarvincaspar%2Fclockify2cats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarvincaspar%2Fclockify2cats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarvincaspar%2Fclockify2cats/lists"}