{"id":24708794,"url":"https://github.com/keyboardcowboy/timeular2noko","last_synced_at":"2025-03-22T06:27:58.444Z","repository":{"id":44622725,"uuid":"364132201","full_name":"KeyboardCowboy/timeular2noko","owner":"KeyboardCowboy","description":"Report Timeular data to Noko.","archived":false,"fork":false,"pushed_at":"2024-02-20T23:04:01.000Z","size":240,"stargazers_count":0,"open_issues_count":7,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-27T06:47:25.808Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KeyboardCowboy.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":"2021-05-04T03:49:37.000Z","updated_at":"2021-12-22T03:58:48.000Z","dependencies_parsed_at":"2022-09-03T05:11:01.568Z","dependency_job_id":null,"html_url":"https://github.com/KeyboardCowboy/timeular2noko","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeyboardCowboy%2Ftimeular2noko","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeyboardCowboy%2Ftimeular2noko/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeyboardCowboy%2Ftimeular2noko/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KeyboardCowboy%2Ftimeular2noko/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KeyboardCowboy","download_url":"https://codeload.github.com/KeyboardCowboy/timeular2noko/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244917974,"owners_count":20531678,"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":"2025-01-27T06:47:32.523Z","updated_at":"2025-03-22T06:27:58.412Z","avatar_url":"https://github.com/KeyboardCowboy.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Timeular to Noko\nReport time logged to Timeular to Noko.\n\n## What is Timeular?\nhttps://timeular.com/\n\nTimeular is a personal time tracking service that uses a physical octohedral device to easily switch tasks.  When turned on its side, it logs the time spent face up to that task, allowing for time to be tracked against 8 preset tasks.  More tasks can be configured and activated using the app.\n\n## What is Noko?\nhttps://nokotime.com/\n\nNoko is a business time tracking utility organized by project and used to track billable and non-billable time against a variety of projects for an organization.\n\n## What does this tool do?\nIf you log your time using Timeular, you can map the Timeular activities to Noko projects and automatically report that time to Noko.\n\n## Getting Started\n1. To begin, you will need to have at least one Timeular activity defined and optionally mapped to your otcohedron.  You will also need to have at least one Noko project defined.\n2. Install this package.\n    ```shell\n    $ git clone git@github.com:KeyboardCowboy/time-tracker.git timeular2noko\n    $ cd timeular2noko\n    $ npm install\n    ```\n3. Next, copy `example.config.js` to `config.js`.\n4. Obtain your [Timeular API Key and Secret](https://profile.timeular.com/#/settings/account) and copy them to the `config.js`.\n5. Obtain your [Noko Personal Access Token](https://lullabot.nokotime.com/time/integrations/freckle_api) and copy it to `config.js`.\n6. Finally, you'll need to map each Timeular activity to a Noko project.  That is to say, when you are tracking time to a Timeular activity, which Noko project should that time be billed to?  To do this, follow the steps in the next section.\n\n## Mapping Activities to Projects\nOnce you have your authorization credentials in place, you can run your first Timeular report: getting a list of Activities and their IDs.  You can do this two ways: by prompt, or by command line parameter.\n```shell\n$ node index.js\n\n? What report would you like to run?\n  Today's Hours\n  Yesterday's Hours\n  This Week's Hours\n  Last Week's Hours\n  Specific Day\n❯ Timeular Activities\n```\nOR, specify the report from the command line:\n```shell\n$ node index.js -r activities\n```\n\nThe results should look similar to this:\n```shell\n749219: My First Activity\n749226: Personal Time\n749221: Administration\n749223: Development\n749224: Meeting\n749277: One-on-One\n1126049: Training\n749220: Reading/Education\n```\n\nAdd these IDs to the `activityProjectMap` section in `config.js`.  In Noko, open a project and extract its ID from the URL and map it to any activities that should bill to this project.\n```shell\nhttps://lullabot.nokotime.com/time/projects/613456  // ID is 613456\n```\n\nNow, you should have a section in `config.js` like this:\n```json\n    'activityProjectMap': {\n        1126049: 613456,\n        749224: 613456,\n        749226: 17045,\n        749223: 613456,\n        749221: 17045,\n        749220: 613456,\n        749219: 613456,\n        749277: 17045\n    }\n```\n\n## Running Your First Report\nAt this point, you should be able to run a report on any day or timespan using the prompt.\n```shell\n$ node index.js\n\n? What report would you like to run?\n❯  Today's Hours\n   Yesterday's Hours\n   This Week's Hours\n   Last Week's Hours\n   Specific Day\n   Timeular Activities\n```\nAnd get a report like this:\n\n```shell\n21-Oct-2021, Thursday\n    1 hours \t Internal | Administration, #WeeklyRoundupMeeting\n    6.5 hours \t My Big Project (1234) | #Standup, Ticket Gardening, #ClientMeeting, Jira Setup\n\n    Billable:\t\t6.5 hours\n    Not Billable:\t1 hours\n    Total:\t\t    7.5 hours\n\n? Submit the report to Noko? (Y/n)\n```\nAfter which you will be prompted to report your time to Noko.  Enter 'y' to do it!\n\n```shell\n? Submit the report to Noko? Yes\n\n2021-10-21: Logged 1 hours to Internal for Han Solo\n2021-10-21: Logged 6.5 hours to My Big Project (1234) for Han Solo\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeyboardcowboy%2Ftimeular2noko","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeyboardcowboy%2Ftimeular2noko","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeyboardcowboy%2Ftimeular2noko/lists"}