{"id":23989595,"url":"https://github.com/candidtim/tempo","last_synced_at":"2025-07-30T06:10:30.017Z","repository":{"id":56880087,"uuid":"51269380","full_name":"candidtim/tempo","owner":"candidtim","description":"Fill in Tempo timesheeets from Git history","archived":false,"fork":false,"pushed_at":"2018-01-31T11:22:54.000Z","size":29,"stargazers_count":9,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-24T23:33:41.392Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/candidtim.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":"2016-02-07T22:22:44.000Z","updated_at":"2024-10-05T14:02:07.000Z","dependencies_parsed_at":"2022-08-20T23:40:18.286Z","dependency_job_id":null,"html_url":"https://github.com/candidtim/tempo","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/candidtim/tempo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candidtim%2Ftempo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candidtim%2Ftempo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candidtim%2Ftempo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candidtim%2Ftempo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/candidtim","download_url":"https://codeload.github.com/candidtim/tempo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candidtim%2Ftempo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267820873,"owners_count":24149293,"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","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-01-07T17:32:13.640Z","updated_at":"2025-07-30T06:10:29.970Z","avatar_url":"https://github.com/candidtim.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JIRA Tempo CLI\n\n\"Tempo CLI\" is a developers' answer to repetitive and boring task of filling in time tracking information in Tempo\nJIRA plug-in. For us who already implicitly \"track\" their activity in Git (bad luck for SVN users), this tool will\nattempt to report time based on commit history.\n\n\n## Features\n\n - log time manually from command line\n - log time based on Git history\n\n\n## Install\n\n### Dependencies\n\n - `ncursers` header files; on Ubuntu, install with: `sudo apt install libncurses5-dev`\n - [Haskell Stack](http://docs.haskellstack.org/en/stable/README.html) \n\n### Install locally\n\nInstall with `stack`:\n\n    $ stack install\n\nNew binaries are installed into `~/.local/bin/`, so make sure to add it to `$PATH`.\n\nNext, see `Configuration` and `Usage` below.\n\n\n## Configuration\n\nIn order to use this tool, you will need to create a configuration file. This can be done\nwith `tempo-config` command. It will giude you through the process and validate your \nconfigiration at once:\n\n    $ tempo-config\n\nAlternatively, you could create configuration file manually in `~/.tempo.conf` with following\ncontent:\n\n    [git]\n    repos = /comma/separated,/list/of,/your/repositories\n\n    [jira]\n    projects = CODES,OF,JIRA,PROJECTS,WITH,ISSUES,TO,LOG,TO\n    host = mycompany.atlassian.net\n    user = username\n    pass = password in base64\n\nNote that `user` and `password` should be those of your \"native\" JIRA user: that is, if you\nuse SSO with Google for example, this is **not** your Google user, but JIRA user. If you\nnever created a JIRA user/password, or don't know its attributes - reset a password\nfrom JIRA login form indicating your e-mail you use for SSO.\n\nFinally, `pass` should contain your password encoded in base 64. This is to at least avoid\nhaving it in plain text in this file. Yes, it is not encrypted otherwise, so keep this file\nsecret.\n\n\n## Usage\n\nTo log from Git history, use `tempo-git`. It accepts any **filtering** arguments valid for\n`git log` command, which you can use to limit the Git history selection to search in. In\ncurrent version you may not use `--author` however (it is taken directly from your Git global\nconfig). For example:\n\n    $ tempo-git --since=3.days\n\n`tempo-git` will not log to the days which are already \"filled in\", but will only log to \ncomplete the missing information. It means, that in a typical case, you don't even need to\nuse any filtering criteria and it is safe to run simply:\n\n    $ tempo-git\n\nThe command is interactive in any case, so you will be asked to confirm the work log before\nit is submitted to JIRA.\n\nTo log a work log entry defined manually, you can use `tempo-simple`:\n\n    # tempo-simple [yyyy/mm/dd] [ISSUE] [HOURS]\n    $ tempo-simple 2016/04/01 FUN-011 8\n\n\n## Run from source\n\nYou can use `stack` to execute same commands from within the project directory:\n\n    $ stack exec tempo-git -- --since=1.week\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcandidtim%2Ftempo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcandidtim%2Ftempo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcandidtim%2Ftempo/lists"}