Example #1
0
def main():
    f = open("/home/bi/work/macro/private/private.txt", 'r')
    # f = open("D:\업무\python\private\private.txt",'r')
    ID = f.readline()[:-1]
    PW = f.readline()[:-1]
    f.close()
    LOG = logLib.log(ID)

    # SIC
    qJira = jira('QTRACKER', ID, PW, LOG)
    for i in range(Q_FILTER.__len__()):
        issues = _issues(qJira.searchIssues(Q_FILTER[i]))
        target = issues.checkLabel(Q_LABEL[i])
        LOG.info('target: {0}'.format(target))
        issues.uploadLabel(target, Q_LABEL[i])

    # RTK, MStar
    harJira = jira('HARMONY', ID, PW, LOG)
    for i in range(HAR_FILTER.__len__()):
        issues = _issues(harJira.searchIssues(HAR_FILTER[i]))
        target = issues.checkLabel(HAR_LABEL[i])
        LOG.info('target: {0}'.format(target))
        issues.uploadLabel(target, HAR_LABEL[i])

    # HDMI2.1 Switch / MStar인원에게 전달된 O18, M16P3이슈
    for i in range(HDMI21_FILTER.__len__()):
        if HDMI21_FILTER[i]:
            issues = _issues(harJira.searchIssues(HDMI21_FILTER[i]))
            target = issues.checkLabel(Q_LABEL[i])
            LOG.info('target: {0}'.format(target))
            issues.uploadLabel(target, Q_LABEL[i])
Example #2
0
def main():
    # interval = 18000  # 5시간
    # interval = 7200  # 2시간
    # interval = 3600  # 1시간
    # interval = 60  # 1분
    interval = 1800  # 30분
    PID = '748003010'
    PW = getpass.getpass()
    ID = sys.argv[1]

    LOG = logLib.log(ID)
    flag = 0

    collab = collabLib.collab(ID, PW, LOG)
    jira = {}
    jira['HARMONY'] = jiraLib.jira('HARMONY', ID, PW, LOG)
    jira['QTRACKER'] = jiraLib.jira('QTRACKER', ID, PW, LOG)
    jira['DEVTRACKER'] = jiraLib.jira('DEVTRACKER', ID, PW, LOG)
    _run(ID, jira, collab, PID, LOG)
    while True:
        now = datetime.datetime.now()
        h = now.strftime('%H')
        m = now.strftime('%M')
        s = now.strftime('%S')
        if h in ('08', '13') and flag == 0:
            LOG.info('{0}시 {1}분 {2}초 매크로 시작'.format(h, m, s))
            _run(ID, jira, collab, PID, LOG)
            flag = 1
        if flag == 1 and h not in ('08', '13'):
            LOG.info('flag toggle : {0}'.format(flag))
            flag = 0

        LOG.info("{0} 초 동안 sleep / flag:{1}".format(interval, flag))
        time.sleep(interval)

    LOG.info('완료')
sys.path.append('./lib')
sys.path.append('./private')
import jiraLib
import emailLib
import htmlLib
import datetime
import collections
import logLib

# f = open("D:\업무\python\private\private.txt",'r')
f = open("/home/bi/work/macro/private/private.txt", 'r')
# f = open("/home/bi/work/macro/README.md", 'r')
ID = f.readline()[:-1]
PW = f.readline()[:-1]
f.close()
LOG = logLib.log(ID)
OFFSET = '14' # pendding day

class soc(object):
	def __init__(self, name, server, filter, platform, manager=''):
		self.name = name
		self.server = server
		self.jira = jiraLib.jira(server, ID, PW, LOG)
		self.filter = 'created < "-'+ OFFSET + 'd" and status != FixReady and filter=' + filter
		self.platform = platform
		self.manager = manager


ADDRESS = {'QTRACKER':jiraLib.ISSUE_ADDRESS[0], 'HARMONY':jiraLib.ISSUE_ADDRESS[1], 'DEVTRACKER':jiraLib.ISSUE_ADDRESS[2]}

def main():
	MODULE_NAME = ['AUDIO', 'HDMI', 'MEDIA', 'DECODER', 'VENC','PVR', 'BACKEND', 'DOLBY', 'PQ', 'VIDEO', 'DEMOD', 'NETWORK',
				  'USB', 'SYSTEM', '신뢰성', 'GRAPHIC', '8K']

	KEWORD_QE = 'SQE'
	KEWORD_QA = '인정'

	LABEL_QE = 'sic_qe'
	LABEL_QA = 'sic_qa'
	LABEL_MODULE = ''
	LABEL_TEST = ''

	FILTER_MODULE_1 = 'filter = SIC.'
	FILTER_MODULE_2 = '.MEMBERS AND resolution = Unresolved AND filter = WEBOS50.PROJECT.SW'
	FILTER_MODULE = 'DEFAULT'

	SLEEP = 1800

	# PW = getpass.getpass()
	# ID = sys.argv[1]

	f = open("/home/bi/work/macro/private/private.txt", 'r')
	ID = f.readline()[:-1]
	PW = f.readline()[:-1]
	f.close()

	LOG = logLib.log(ID)
	LOG.info('Labeling START')
	#============================================================================================


	# SIC
	qJira = jira('QTRACKER', ID, PW, LOG)
	for i in range(MODULE_NAME.__len__()):
		# 라벨 정하기
		LABEL_MODULE = 'SIC_' + MODULE_NAME[i]
		# 필터 정하기
		FILTER_MODULE = FILTER_MODULE_1+MODULE_NAME[i]+FILTER_MODULE_2

		# 필터 사용해서 이슈 뽑기
		issues = qJira.searchIssues(FILTER_MODULE)
		print('filter = ', FILTER_MODULE)
		# print('issues = ', issues)

		for issue in issues:
			print('{0} - '.format(issue), end=' ')

			## 테스트 부서 라벨 업데이트
			# 이미 라벨이 있다면 기존 라벨 유지
			GROUP_UPDATE = True
			if LABEL_QA in issue.fields.labels or LABEL_QE in issue.fields.labels:
				print('skip TEST_GROUP_LABEL', end=' ')
				GROUP_UPDATE = False
				pass
			else:
				if KEWORD_QE in str(issue.fields.components[0]):
					LABEL_TEST = LABEL_QE
				elif KEWORD_QA in str(issue.fields.components[0]):
					LABEL_TEST = LABEL_QA
				issue.fields.labels.append(LABEL_TEST)
				print('Append:{0}'.format(LABEL_TEST), end=' ')

			## 모듈 라벨 업데이트
			# 이미 라벨이 있다면 기존 라벨 유지
			MODULE_UPDATE = True
			for n in MODULE_NAME:
				if 'SIC_' + n in issue.fields.labels:
					print('skip MODULE_LABEL', end=' ')
					MODULE_UPDATE = False

			## (임시) 8K 컴포넌트는 라벨을 8K로 일괄 정리
			chip = issue.fields.customfield_13802
			if (chip is not None) and ('F20' in chip[0]):
				LABEL_MODULE = 'SIC_8K'

			if MODULE_UPDATE == True:
				issue.fields.labels.append(LABEL_MODULE)
				print('Append:{0}'.format(LABEL_MODULE), end=' ')

			# 라벨 최종 submit
			print()
			if GROUP_UPDATE == True or MODULE_UPDATE == True:
				LOG.info('{0} - label : {1}'.format(issue, issue.fields.labels))
				issue.update(fields={"labels": issue.fields.labels})
	LOG.info('Labeling END')