semvec/pypi-packages huggingface dataset:
mkreport 1.0.0
Make daily report and create time entry at redmine
License: MIT

# mkreportとは

日報の作成とRedmineへの作業時間の入力を楽にするツールです。

## 使い方

以下のコマンドで使うことができます。</br>
(`python3`をインストールしていることが前提です。)

```bash
$ pip3 install mkreport
$ mkreport
```

## 環境変数

実行時に環境変数を設定してください。</br>
例えば`direnv`を利用している場合は`.envrc`ファイルを以下のように設定してください。

```.env
export REPORTER=七五三
export DEFAULT_START_TIME=0730
export DEFAULT_END_TIME=1630
export REDMINE_URL=https://redmine_url
export REDMINE_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxx
```

`REPORTER`にはあなたの名前を入力してください。</br>
生成される日報に入力されます。

`DEFAULT_START_TIME` `DEFAULT_END_TIME`には勤務開始、終了時間を`hhmm`の数字4桁で入力してください。</br>
勤務開始、終了時間は日報を作成するたびに入力できますが、空欄で入力した場合にここで入力した値が使用されます。

`REDMINE_URL`にはRedmineのURLを入力してください。</br>
BASIC認証が設定されている場合は`http://user:password@redmine_url`とすることで認証可能になります。

`REDMINE_API_KEY`にはRedmineのAPIアクセスキーを入力してください。</br>
詳しくは[こちら](https://redmine.jp/glossary/r/rest-api/)

## mkreportコマンド

`mkreport`コマンドを実行すると対話式で入力を求められます。

```bash
 務開始時間を「hhmm」で入力してください(デフォルト「0730」)
0720
勤務終了時間を「hhmm」で入力してください(デフォルト「1630」)
1700
```

はじめに、勤務時間の入力を求められます。`hhmm`の形式で4桁の数字を入力してください。</br>
何もせずにエンターボタンを押すと環境変数で設定されたデフォルトの値になります。</br>
ここで入力した値は生成される日報の勤務時間に記載されます。

```bash
担当者が自分のチケット一覧
       131:事前調査
       145:環境構築
作業したチケットの番号か内容を入力してください(qを入力すると終了)
131
事前調査でよろしいですか?(y/n)
y
```

次に作業したチケットの番号を求められるので、作業したRedmineのチケットの番号を入力してください。</br>
担当者が自分のチケット一覧が表示されるのでチケットの番号を確認することもできます</br>
(もし作業したRedmineのチケットがなければ`q`を入力し次に進んでください。)</>
番号を入力するとチケットのタイトルが表示されるので正しければ`y`を、間違っていれば`n`を入力してください。

```bash
他にも作業したことがあればチケットの番号か内容を入力してください(qを入力すると終了)
ミーティング
```

また数字以外の項目を入力することもできます。</br>
その場合は後述するステータスの変更や作業時間の入力は求められません。

```bash
日報に記載する作業内容を入力してください
機能要件の調査が終了
作業時間を入力してください
2
[?] ステータスを選択してください。(現在のステータスDoing): Done
   ToDo
   Doing
 > Done
```

次に入力したチケットの作業内容と作業時間を求められので、それぞれ入力してください。</br>
作業内容に関しては生成される日報に記載されますが、それ以外には使用されません。</br>
作業時間に関しては該当するチケットの作業時間としてRedmineに登録されます。</br>
詳しくは[こちら](https://redmine.jp/glossary/t/time-tracking/)</br>

登録される**作業者はAPIアクセスキーのユーザー、それ以外の項目はデフォルトの値となる**のでご注意ください。</br>
作業時間はRedmineの作業時間登録にのみ使用し、生成される日報には記載されません。

チケットのステータスが変更された場合は変更後のステータスを選択することで選択したステータスに変更することができます。</br>
(※ここで選択したステータスはRedmineのワークフローを考慮することができません。ワークフローを満たさないステータスを選択した場合はステータスの変更ができませんのでご注意ください。)

```bash
他にも作業したことがあればチケットの番号か内容を入力してください(qを入力すると終了)
q
```

他に作業したチケットがあればチケットの番号を入力し、なければ`q`を入力し次に進んでください

```bash
日報の最後に記載する一言を入力してください(qを入力すると終了)
今日も一日お疲れさまでした。
日報の最後に記載する一言を入力してください(qを入力すると終了)
明日もよろしくおねがいします。
日報の最後に記載する一言を入力してください(qを入力すると終了)
q
```

最後に日報の最後に記載する一言の入力を求められます。`q`を入力するまでは複数行コメントを入力することができます。

```bash
日報を作成しました。
./daily_report/2020/1/1.txt
```

生成された日報のファイルパスが出力されます。

## 日報の内容

日報の内容は[report_content.txt](./report_content.txt)に記載されていますので自由に変更してください。</br>
上記の入力内容では下記のファイルが生成されます。

```txt
【日報】七五三 1/1(水)
お疲れさまです。
七五三です。

本日の日報です。

【勤務時間】
7:20-17:00

【作業内容】
#131 事前調査
  機能要件の調査が終了
ミーティング
  チーム内での認識合わせが終了

【ひとこと】
今日も一日お疲れさまでした。
明日もよろしくおねがいします。
```