타임 시트 : 모든 소프트웨어 엔지니어의 존재의 베인. 당신은 당신의 근무일을 세 심하게 문서화하는 것보다 오전 3시에 복잡한 버그를 씨름하지 않겠습니까? 불행히도, 프리 랜싱 또는 풀 타임 고용은 종종이 지루한 과제를 필요로합니다.
올해 제한에 도달했습니다. 바쁜 한 해의 프로젝트가 끝난 후-일부는 취소되고 일부는 재 설계되었으며 다른 일부는 무기한 연기-나는 연말 연말 시점 마감일에 직면했습니다. 1 년 내내 일을 수동으로 재현 할 전망은 어려웠습니다. 내 해결책? 자동화하십시오.
이것은 시간 시트에서 코딩 모험으로의 여행입니다. 간소화되고 효율적인 접근 방식을 준비하십시오
문제 : 타임 시트는 악몽 입니다
스테이지를 설정하자 :
도전 :
1 년 동안 모든 작업에 소비 한 시간마다 기록.
장애물 : 내 메모리는 제대로 작성된 단위 테스트보다 신뢰할 수 없습니다.
마감일 : 언젠가. 그냥 one
.
수동 입력은 불가능했습니다. 내 계획 : 매일 도구 (Jira, Git, Slack 및 Outlook)에서 데이터를 추출하여 포괄적 인 시간 시트로 결합합니다.
도구
내 무기고 :
jira : 작업 및 티켓 추적.
git : 역사 커밋 (모든 좋은 엔지니어 링크가 티켓을 추구하기 때문에).
슬랙 : 팀 커뮤니케이션 (회의 및 메시지 포함)
전망 : - 캘린더 이벤트 (예, 회의가 작동하기 때문에)
1 단계 : Jira 티켓 추출
먼저, 나는 지라를 다루었 다. 특정 기간 내에 나에게 할당 된 모든 티켓이 필요했습니다. Jira의 강력한 API와 약간의 Python Magic 은이 성과를 달성 할 수있었습니다.
스크립트
이 파이썬 스크립트는 jira 티켓을 검색합니다
- 기능성
인증 :
인증을 위해 jira 이메일과 API 토큰을 사용하십시오.
JQL 쿼리 : - 는 날짜 범위 내에서 할당 된 티켓을 가져 오기 위해 JQL 쿼리를 구성합니다.
데이터 내보내기 : 수출은 분석을 위해 CSV로 결과를 내보내고 있습니다
2 단계 : git 검색
다음으로, 나는 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>
로그인 후 복사
git log :
를 사용하여 를 사용하여 히스토리를 가져옵니다
jira id 추출 : - 정규 표현식을 사용하여 커밋 메시지에서 jira 티켓 ID를 추출합니다.
CSV 내보내기 : CSV에 결과를 CSV로 저장합니다
git log
3 단계 : 슬랙 메시지 처리
슬랙은 더 어려운 것으로 판명되었습니다. 메시지는 컨텍스트가 풍부하여 직접 작업 매핑을 어렵게 만듭니다. 나는 AI를 우회하고 (비용과 복잡성으로 인해) 통신 시간을위한 일반 티켓을 만들어 슬랙 메시지를 가져 오기 위해 스크립트를 작성했습니다.
스크립트
- 기능성
대화 목록 :
봇에 액세스 할 수있는 모든 채널과 DMS를 검색합니다.
메시지 검색 : - 지정된 날짜 범위 내에서 메시지를 검색합니다
CSV 내보내기 : CSV에 메시지를 저장합니다
4 단계 : 전망 회의 캡처
마지막으로, 나는 회의를 설립했다. Python 라이브러리를 사용하여 캘린더 이벤트를 추출하여 CSV로 내보내는 스크립트를 만들었습니다.
스크립트
기능성
인증 :
인증을 위해 Outlook 이메일과 비밀번호를 사용하십시오
캘린더 쿼리 :
지정된 날짜 범위 내에서 캘린더 이벤트를 가져옵니다.
CSV 내보내기 : <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>
로그인 후 복사
CSV에 이벤트를 저장합니다
> 다음은 무엇입니까?
이제 4 개의 CSV 파일이 있습니다 :
-
jira 티켓 : 모든 작업이 작동했습니다
git 커밋 : 모든 코드가 작성되었습니다
슬랙 메시지 : 모든 커뮤니케이션.
전망 회의 : - 모든 회의가 참석했습니다
in 2 부
,이 데이터 세트를 결합하여 완전한 시간 시트를 만드는 방법을 보여줍니다. 힌트 : 더 많은 파이썬, 데이터 조작 및 마법의 터치. -
계속 지켜봐주세요! 기억하십시오 : 효율성은 핵심입니다.
소프트웨어 엔지니어로서 가장 좋아하는 작업은 무엇입니까? 아직 자동화 했습니까? 의견에 당신의 경험을 공유하십시오!
위 내용은 게으른 엔지니어의 자동화 시간 시트 안내서 : 1 부의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!