首頁 > 後端開發 > Python教學 > 懶工程師自動化時間表指南:第1部分

懶工程師自動化時間表指南:第1部分

Patricia Arquette
發布: 2025-01-29 08:14:11
原創
892 人瀏覽過

The Lazy Engineer’s Guide to Automating Timesheets: Part 1

時間表:每個軟件工程師存在的禍根。 您不想在凌晨3點搏鬥一個複雜的錯誤,也不想記錄您的工作日嗎? 不幸的是,自由職業或全職工作通常需要這項繁瑣的任務。

今年,我達到了極限。 經過一年忙碌的一年(有些被取消,有些重新設計,有些被無限期推遲),我面臨著迫在眉睫的年終時間表截止日期。手動重現我整整一年的工作的前景令人生畏。 我的解決方案?自動化它。

這是我從時間表的恐懼到編碼冒險的旅程。 為簡化,高效的方法做好準備。


問題:時間表是一場噩夢

>讓我們設置舞台:

  • 挑戰:記錄全年每項任務每次花費的每個小時。
  • 障礙:我的記憶比書面單位測試不那麼可靠。
  • 截止日期:有一天。 只是一個一個
  • >手動輸入是不可能的。我的計劃:從日常工具中提取數據 - JIRA,GIT,SLACK和OUTLOOK-並將其組合成全面的時間表。

工具

我的武器庫:

    > jira:
  1. 任務和票務跟踪。 git:
  2. 提交歷史記錄(因為每個好工程師鏈接都致力於門票,對嗎?)。
  3. slack:
  4. 團隊通信(包括會議和消息)。
  5. Outlook:日曆事件(因為,是的,會議是有效的)。
  6. >
  7. 步驟1:提取Jira門票
首先,我解決了Jira。我需要在特定時間範圍內分配給我的所有門票。 Jira的強大API和一些Python Magic使這一實現。
> 腳本

這個Python腳本檢索Jira門票:

功能

<code class="language-python">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) ...</code>
登入後複製
登入後複製
>身份驗證:

使用您的JIRA電子郵件和API代幣進行身份驗證。 >

    jql查詢:
  1. 構造一個JQL查詢,以獲取在日期範圍內分配給您的票證。
  2. 數據導出:
  3. >導出結果為CSV進行分析。
  4. 步驟2:檢索git consits 接下來,我處理了git。 由於我們的團隊在提交消息中包含JIRA票證ID,因此我創建了一個腳本來提取提交數據並將其鏈接到門票。腳本

    <code class="language-python">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) ...</code>
    登入後複製
    登入後複製
    功能

    1. git log:使用來獲取提交歷史記錄。 git log
    2. > jira ID提取:使用正則表達式從提交消息中提取JIRA票證ID。 >
    3. csv導出:將結果保存到csv。
    >步驟3:處理鬆弛消息

    懈怠被證明更具挑戰性。消息是上下文豐富的,使直接任務映射變得困難。 我繞過了AI(由於成本和復雜性),並為通信時間創建了一張通用的票,然後寫了一個腳本來獲取鬆弛消息。

    腳本

    功能

    <code class="language-python">import subprocess
    import csv
    import re
    
    def get_git_commits(since_date=None, author=None):
        # ... (rest of the script remains the same) ...</code>
    登入後複製

    對話列表:
      檢索機器人可訪問的所有頻道和DMS。
    1. >消息檢索:
    2. >在指定的日期範圍內檢索消息。
    3. CSV導出:
    4. 將消息保存到CSV。
    5. 步驟4:捕獲Outlook會議
    >最後,我合併了會議。使用
    python庫,我創建了一個腳本來提取日曆事件並將其導出到CSV。 腳本

    功能exchangelib

    身份驗證:
    <code class="language-python">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) ...</code>
    登入後複製
    使用您的Outlook電子郵件和密碼進行身份驗證。

      日曆查詢:
    1. 在指定的日期範圍內獲取日曆事件。
    2. CSV導出:
    3. 將事件保存到CSV。
    4. 下一步是什麼?
    5. 現在我有四個CSV文件:

    >

    git consits:

    >所有編碼。

    >
    1. 鬆弛消息:所有通信。
    2. Outlook會議:參加的所有會議都參加了。 >
    3. >在第2部分>中,我將演示如何組合這些數據集以創建一個完整的時間表。 提示:更多的Python,數據操縱和魔術觸感。 請繼續關注! 請記住:效率是關鍵。
    4. 作為軟件工程師,您最不喜歡的任務是什麼?你自動化了嗎?在評論中分享您的經驗!
    >

以上是懶工程師自動化時間表指南:第1部分的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板