時間表:每個軟件工程師存在的禍根。 您不想在凌晨3點搏鬥一個複雜的錯誤,也不想記錄您的工作日嗎? 不幸的是,自由職業或全職工作通常需要這項繁瑣的任務。
今年,我達到了極限。 經過一年忙碌的一年(有些被取消,有些重新設計,有些被無限期推遲),我面臨著迫在眉睫的年終時間表截止日期。手動重現我整整一年的工作的前景令人生畏。 我的解決方案?自動化它。
這是我從時間表的恐懼到編碼冒險的旅程。 為簡化,高效的方法做好準備。
問題:時間表是一場噩夢
>讓我們設置舞台:
- 挑戰:記錄全年每項任務每次花費的每個小時。
- 障礙:我的記憶比書面單位測試不那麼可靠。
- 截止日期:有一天。 只是一個一個。
>手動輸入是不可能的。我的計劃:從日常工具中提取數據 - JIRA,GIT,SLACK和OUTLOOK-並將其組合成全面的時間表。
工具
我的武器庫:
> jira:- 任務和票務跟踪。
git:
提交歷史記錄(因為每個好工程師鏈接都致力於門票,對嗎?)。 -
slack:
團隊通信(包括會議和消息)。
-
Outlook:日曆事件(因為,是的,會議是有效的)。
>
-
步驟1:提取Jira門票
首先,我解決了Jira。我需要在特定時間範圍內分配給我的所有門票。 Jira的強大API和一些Python Magic使這一實現。
>
腳本
這個Python腳本檢索Jira門票:
功能
import os
from jira import JIRA
import pandas as pd
from datetime import datetime
import logging
import sys
from typing import List, Dict, Any
import argparse
# ... (rest of the script remains the same) ...
登入後複製
登入後複製
>身份驗證:使用您的JIRA電子郵件和API代幣進行身份驗證。 >
jql查詢:- 構造一個JQL查詢,以獲取在日期範圍內分配給您的票證。
數據導出:- >導出結果為CSV進行分析。
- 步驟2:檢索git consits
接下來,我處理了git。 由於我們的團隊在提交消息中包含JIRA票證ID,因此我創建了一個腳本來提取提交數據並將其鏈接到門票。腳本
import os
from jira import JIRA
import pandas as pd
from datetime import datetime
import logging
import sys
from typing import List, Dict, Any
import argparse
# ... (rest of the script remains the same) ...
登入後複製
登入後複製
功能
- git log:使用來獲取提交歷史記錄。
git log
- > jira ID提取:使用正則表達式從提交消息中提取JIRA票證ID。 >
- csv導出:將結果保存到csv。
>步驟3:處理鬆弛消息
懈怠被證明更具挑戰性。消息是上下文豐富的,使直接任務映射變得困難。 我繞過了AI(由於成本和復雜性),並為通信時間創建了一張通用的票,然後寫了一個腳本來獲取鬆弛消息。
腳本
功能
import subprocess
import csv
import re
def get_git_commits(since_date=None, author=None):
# ... (rest of the script remains the same) ...
登入後複製
對話列表:檢索機器人可訪問的所有頻道和DMS。 -
>消息檢索:
>在指定的日期範圍內檢索消息。 -
CSV導出:
將消息保存到CSV。
-
步驟4:捕獲Outlook會議
>最後,我合併了會議。使用
python庫,我創建了一個腳本來提取日曆事件並將其導出到CSV。
腳本
功能exchangelib
身份驗證:import os
from datetime import datetime
from slack_sdk import WebClient
from slack_sdk.errors import SlackApiError
import pandas as pd
# ... (rest of the script remains the same) ...
登入後複製
使用您的Outlook電子郵件和密碼進行身份驗證。
日曆查詢:- 在指定的日期範圍內獲取日曆事件。
CSV導出:- 將事件保存到CSV。
下一步是什麼? -
現在我有四個CSV文件:
>
git consits:>所有編碼。
>
- 鬆弛消息:所有通信。
- Outlook會議:參加的所有會議都參加了。 >
- >在第2部分>中,我將演示如何組合這些數據集以創建一個完整的時間表。 提示:更多的Python,數據操縱和魔術觸感。
請繼續關注! 請記住:效率是關鍵。
-
作為軟件工程師,您最不喜歡的任務是什麼?你自動化了嗎?在評論中分享您的經驗!
>以上是懶工程師自動化時間表指南:第1部分的詳細內容。更多資訊請關注PHP中文網其他相關文章!