首页 > 后端开发 > 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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板