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

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門票:

功能

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查詢:
  1. 構造一個JQL查詢,以獲取在日期範圍內分配給您的票證。
  2. 數據導出:
  3. >導出結果為CSV進行分析。
  4. 步驟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) ...
    功能

    1. git log:使用來獲取提交歷史記錄。 git log
    2. > jira ID提取:使用正則表達式從提交消息中提取JIRA票證ID。 >
    3. 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。
    1. >消息檢索:
    2. >在指定的日期範圍內檢索消息。
    3. CSV導出:
    4. 將消息保存到CSV。
    5. 步驟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電子郵件和密碼進行身份驗證。

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

    >

    git consits:

    >所有編碼。

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

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

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Python的混合方法:編譯和解釋合併Python的混合方法:編譯和解釋合併May 08, 2025 am 12:16 AM

pythonuseshybridapprace,ComminingCompilationTobyTecoDeAndInterpretation.1)codeiscompiledtoplatform-Indepententbybytecode.2)bytecodeisisterpretedbybythepbybythepythonvirtualmachine,增強效率和通用性。

了解python的' for”和' then”循環之間的差異了解python的' for”和' then”循環之間的差異May 08, 2025 am 12:11 AM

theKeyDifferencesBetnewpython's“ for”和“ for”和“ loopsare:1)” for“ loopsareIdealForiteringSequenceSquencesSorkNowniterations,而2)”,而“ loopsareBetterforConterContinuingUntilacTientInditionIntionismetismetistismetistwithOutpredefinedInedIterations.un

Python串聯列表與重複Python串聯列表與重複May 08, 2025 am 12:09 AM

在Python中,可以通過多種方法連接列表並管理重複元素:1)使用 運算符或extend()方法可以保留所有重複元素;2)轉換為集合再轉回列表可以去除所有重複元素,但會丟失原有順序;3)使用循環或列表推導式結合集合可以去除重複元素並保持原有順序。

Python列表串聯性能:速度比較Python列表串聯性能:速度比較May 08, 2025 am 12:09 AM

fasteStmethodMethodMethodConcatenationInpythondependersonListsize:1)forsmalllists,operatorseffited.2)forlargerlists,list.extend.extend()orlistComprechensionfaster,withextendEffaster,withExtendEffers,withextend()withextend()是extextend()asmoremory-ememory-emmoremory-emmoremory-emmodifyinginglistsin-place-place-place。

您如何將元素插入python列表中?您如何將元素插入python列表中?May 08, 2025 am 12:07 AM

toInSerteLementIntoApythonList,useAppend()toaddtotheend,insert()foreSpificPosition,andextend()formultiplelements.1)useappend()foraddingsingleitemstotheend.2)useAddingsingLeitemStotheend.2)useeapecificindex,toadapecificindex,toadaSpecificIndex,toadaSpecificIndex,blyit'ssssssslorist.3 toaddextext.3

Python是否列表動態陣列或引擎蓋下的鏈接列表?Python是否列表動態陣列或引擎蓋下的鏈接列表?May 07, 2025 am 12:16 AM

pythonlistsareimplementedasdynamicarrays,notlinkedlists.1)他們areStoredIncoNtiguulMemoryBlocks,mayrequireRealLealLocationWhenAppendingItems,EmpactingPerformance.2)LinkesedlistSwoldOfferefeRefeRefeRefeRefficeInsertions/DeletionsButslowerIndexeDexedAccess,Lestpypytypypytypypytypy

如何從python列表中刪除元素?如何從python列表中刪除元素?May 07, 2025 am 12:15 AM

pythonoffersFourmainMethodStoreMoveElement Fromalist:1)刪除(值)emovesthefirstoccurrenceofavalue,2)pop(index)emovesanderturnsanelementataSpecifiedIndex,3)delstatementremoveselemsbybybyselementbybyindexorslicebybyindexorslice,and 4)

試圖運行腳本時,應該檢查是否會遇到'權限拒絕”錯誤?試圖運行腳本時,應該檢查是否會遇到'權限拒絕”錯誤?May 07, 2025 am 12:12 AM

toresolvea“ dermissionded”錯誤Whenrunningascript,跟隨台詞:1)CheckAndAdjustTheScript'Spermissions ofchmod xmyscript.shtomakeitexecutable.2)nesureThEseRethEserethescriptistriptocriptibationalocatiforecationAdirectorywherewhereyOuhaveWritePerMissionsyOuhaveWritePermissionsyYouHaveWritePermissions,susteSyAsyOURHomeRecretectory。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具