Metadata-Version: 2.1
Name: tempocli
Version: 0.2.4.dev16
Summary: Command line interface for interacting with Tempo.
Home-page: https://github.com/awiddersheim/tempocli
Author: Andrew Widdersheim
Author-email: amwiddersheim@gmail.com
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Operating System :: OS Independent
Requires-Python: >=3.5
Description-Content-Type: text/markdown
Requires-Dist: arrow
Requires-Dist: click (>=7)
Requires-Dist: pyyaml
Requires-Dist: requests
Requires-Dist: requests-futures (>=0.9.9)
Requires-Dist: tqdm
Provides-Extra: dev
Requires-Dist: flake8 ; extra == 'dev'
Requires-Dist: flake8-bandit ; extra == 'dev'
Requires-Dist: flake8-commas ; extra == 'dev'
Requires-Dist: flake8-import-order ; extra == 'dev'
Requires-Dist: flake8-import-single ; extra == 'dev'
Requires-Dist: flake8-print ; extra == 'dev'
Requires-Dist: flake8-quotes ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-click ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: pytest-freezegun ; extra == 'dev'
Requires-Dist: requests-mock ; extra == 'dev'

# TempoCLI

Command line interface for interacting with Tempo.

[![PyPI version](https://img.shields.io/pypi/v/tempocli.svg)](https://pypi.org/project/tempocli)
[![Python Versions](https://img.shields.io/pypi/pyversions/tempocli.svg)](https://pypi.org/project/tempocli)
[![Build Status](https://img.shields.io/circleci/project/github/awiddersheim/tempocli/master.svg)](https://circleci.com/gh/awiddersheim/tempocli)
[![License](https://img.shields.io/pypi/l/tempocli.svg)](https://github.com/awiddersheim/tempocli/blob/master/LICENSE)
[![Docker Pulls](https://img.shields.io/docker/pulls/awiddersheim/tempocli.svg)](https://hub.docker.com/r/awiddersheim/tempocli)

## Introduction

Ease repetitive Tempo tasks by using templates to fill in recurring
items without having to use web interface. Templates are yaml formatted
files that are semi-flexible in allowing what can be created.

The `author_account_id` can be obtained by going to your profile in
JIRA and copying the ID from the URL.

```
----
author_account_id: foo

issues:
  # Will use current date if one can't be determined.
  - issue: INT-8
    time_spent: 30m
    start_time: "9:30AM"

  # Can specify day of week easily.
  - issue: INT-10
    time_spent: 1h
    start_time: Monday at 9AM

  # Full on datetime with override.
  - issue: INT-11
    time_spent: 90s
    start_time: "2018-08-05 11:00:00"
    author_account_id: bar

  # Pass in extras that aren't exposed in DSL.
  # https://tempo-io.github.io/tempo-api-docs/#worklogs
  - issue: INT-11
    time_spent: 1h
    start_time: 8am
    extras:
      remainingEstimateSeconds: 300
```

## Installation

```
$ pip install tempocli
```

## Running

```
$ tempocli --config <config> create --template <template>
```

## Configuration

By default, `~/.tempocli.yml` is the path used for the configuration
file but that can be changed with the `--config` option during
invocation. The configuration file should look like this:

```
---
token: <token>
```

It is also possible to specify the token using the `TEMPOCLI_TOKEN`
environment variable.

## Docker

### DockerHub

```
$ docker run \
    --rm \
    --tty \
    --interactive \
    --volume ~/.tempocli.yml:/home/tempocli/.tempocli.yml:ro \
    --volume /some/dir/with/templates:/templates:ro \
    awiddersheim/tempocli \
    create --template /templates/template.yml
```

## Development

```
$ pip install -e .
$ tempocli --help
```

## Testing

```
# Install development packages (preferably in a virtualenv)
$ pip install --editable .[dev]

# Run tests
$ pytest

# Run tests for all available Python interpreters
$ tox

# Linting
$ flake8

# Can also lint in tox as well
$ tox -e flake8
```


