has_key

menu = {"ham" : 1, "cucumber" : -12, "egg" : 100}

if menu.has_key("ham"):
    print "네, 찾는 것이 있네요"
else:
    print "그런 메뉴는 없습니다."

 

파이썬 3을 사용중이면 아래 에러 문구가 나오면 처리되지 않음

  AttributeError: 'dict' object has no attribute 'has_key' 

has_key는 파이썬에서 지양하는 함수로, 파이썬 2를 사용하는 분들도 사용하면 안된다.

  http://stackoverflow.com/questions/1323410/has-key-or-in

get / in

1. get

menu = {"ham" : 1, "cucumber" : -12, "egg" : 100}

if menu.get("ham"):
    print "네, 찾는 것이 있네요"
else:
    print "그런 메뉴는 없습니다."
2. in
menu = {"ham" : 1, "cucumber" : -12, "egg" : 100}

if "ham" in menu:
    print "네, 찾는 것이 있네요"
else:
    print "그런 메뉴는 없습니다."

get은 키에 해당하는 값을 넘겨주기 때문에 값이 있다면 True고 없다면 False(...일 것 같지만 실제로는 None을 리턴한다. None False가 아니긴 하지만.... 어차피 키 값 판별이니 True가 아니므로 없는 메뉴에 대해서는 else로 빠진다.) 가 된다.

 

참고

https://www.pymoon.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%97%90%EC%84%9C-%EB%94%95%EC%85%94%EB%84%88%EB%A6%AC-%ED%82%A4-%EA%B0%92-%EC%B2%B4%ED%81%AC%ED%95%98%EA%B8%B0

 

replace

일반적으로 한 두개 정도의 간단한 치환

# 대문자를 소문자로
> ex = "Korea is Great"
> ex.replace('K','k').replace('G','g')
'korea is great'

translate

여러 문자를 한번에 치환

유의해야 할점은 maketrans 함수 안에 두 개의 인자의 길이(length)가 똑같아야함

# 모음없애기(소문자 외 대문자까지 한방에 가능하다)
> ex = "Korea is Great"
> table = str.maketrans('aieouAIEOU', '          ')
> ex.translate(table)
'K r    s Gr  t'

> table = str.maketrans('aieouAIEOU', '1234567890')
> ex.translate(table)
'K4r31 2s Gr31t'

 

참고

https://velog.io/@keywookim/Python-translate-%ED%95%9C-%EB%B2%88%EC%97%90-%EC%97%AC%EB%9F%AC-%EB%AC%B8%EC%9E%90-%EC%B9%98%ED%99%98%ED%95%98%EA%B8%B0

에러 문구

too many values to unpack

원인

설정한 변수의 개수와 리턴해 주는 변수의 개수가 차이가 날때 발생

예를 들어 리턴 받는 값의 개수가 3개로 맞춰야 정상인 경우
aa, bb, cc = ss.run([a,b,c])

아래 경우는 오류 발생
bb, cc = ss.run([a,b,c])
> too many values to unpack

해결

리턴 받는 값의 개수를 맞춰주면 해결

 

참고 

https://wotres.tistory.com/entry/too-many-values-to-unpack-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0%EB%B2%95

 

조건

flask 환경에서 in 을 사용하여 검색

방법

flask에서 변수를 받을때 리스트 형태( getlist('ip_group[]' )로 받음

sql 쿼리에 매개변수 전달 시, 리스트 형태를 전달

[html]

<select class="select2" multiple="multiple" name="ip_group[]" id="ip_group" />
  <option value="127.0.0.1">127.0.0.1</option>
  <option value="127.0.0.2">127.0.0.2</option>
</select>


[js]

var ip_group = $('#ip_group').val();

$.ajax({
        url:'/project/server_info',
        type:'POST',
        data: {ip_group:ip_group},
        success: function(data){
           showAlert('Server Info', data.info, 2, 2000);
       }     


[python + flask]

@project_blueprint.route('project/server_info', methods=['POST'])
@login_required
def project_server_info():
    ip_group = request.form.getlist('ip_group[]')
    
    ql = text('select a, b, c, d, e from tblServer where ip in :ip_group')
    connection = db.session.connection()
    results = db.engine.execute(sql, ip_group=ip_group)
    
    if results != None:
        details = []
        
        for r in results:
            details.append(r[0])
            details.append(r[1])
            details.append(r[2])
            details.append(r[3])
            details.append(r[4])
            
        return jsonify(details=details)

참고

https://stackoverflow.com/questions/8603088/sqlalchemy-in-clause

어제

from datetime import datetime, date, timedelta

yesterday = date.today() - timedelta(1)
yesterday_text = yesterday.strftime('%Y-%m-%d 00:00:00')

달의 첫번째 일

from datetime import datetime, date, timedelta
import calendar


now_date = datetime.datetime.now()
month_frist_text = now_date.replace(day = 1).strftime("%Y-%m-%d 00:00:00")

달의 마지막 일

from datetime import datetime, date, timedelta
import calendar

now_date = datetime.datetime.now()
month_last_text = now_date.replace(day = calendar.monthrange(now_date.year, now_date.month)[1]).strftime("%Y-%m-%d 23:59:59")

 

datetime모듈내의 클래스

클래스 내용
datetime.date 일반적으로 사용되는 그레고리안 달력(Gregorian Calendar)의 년, , 일을 나타냄
datetime.time 시간을 시, , , 마이크로초, 시간대(Time zone)로 나타냄
datetime.datetime date클래스와 time클래스의 조합으로 년, , , , , , 마이크로초, 시간대 정보를 나타냄
datetime.timedelta 두 날짜 혹은 시간 사이의 기간을 표현

datetime.date 클래스

datetime.date클래스는 일반적으로 사용되는 년, , 일로 표기되는 그레고리안 달력의 날짜를 표현함

생성자 : datetime.date(year, month, day)

숫자로 년, , 일을 입력받아서 date객체를 생성

- year : 1 ~ 9999

- month : 1 ~ 12

- day : 1 ~ 해당월의 마지막 날짜

>>> import datetime
>>> D=datetime.date(2013,2,18)
>>> D
datetime.date(2013, 2, 18)
>>> print(D)
2013-02-18
>>> D=datetime.date(2013,2,31) #해당월의 최대일수를 넘으면 ValueError발생
Traceback (most recent call last):
  File "<pyshell#194>", line 1, in <module>
    D=datetime.date(2013,2,31)
ValueError: day is out of range for month

datetime.date클래스 속성

속성 내용
year (읽기전용)
month (읽기전용)
day (읽기전용)
max date객체의 최댓값
(9999,12,31)
min date객체의 최솟값
(1,1,1)
>>> import datetime
>>> D=datetime.date(2013,2,18)
>>> D.year #년
2013
>>> D.month #월
2
>>> D.day #일
18
>>> D.max #date객체의 최댓값
datetime.date(9999, 12, 31)
>>> D.min #date객체의 최솟값
datetime.date(1, 1, 1)

today()

현재 시스템의 오늘 날짜 date객체를 반환

>>> import datetime
>>> datetime.date.today()
datetime.date(2013, 3, 29)

replace(year, month, day)

입력된 인자로 변경된 date객체를 반환, 원본객체는 변경되지 않음

변경하려는 속성만 명시적으로 전달할수 있음

>>> import datetime
>>> a=datetime.date.today()
>>> a
datetime.date(2013, 3, 29)
>>> b=a.replace(day=1) #a객체에서 day만 변경
>>> a
datetime.date(2013, 3, 29) #원본은 변경되지 않음
>>> b
datetime.date(2013, 3, 1)

weekday()

요일을 정수로 변환하여 반환

:0, :1, :2, :3, :4, :5, :6

>>> import datetime
>>> a=datetime.date.today()
>>> a.weekday()
4

isoformat()

date객체의 정보를 "YYYY-MM-DD"형태의 문자열로 반환

>>> import datetime
>>> D=datetime.date.today()
>>> D.isoformat()
'2013-03-29'

strftime(format)

지정된 포맷에 맞춰 datetime.date객체의 정보를 문자열로 반환

지시자 내용
%y 연도를 축약하여 표시('13')
%Y 연도를 축약하지 않고 표시('2013')
%b 축약된 월이름('Mar')
%B 축약되지 않은 월 이름('March')
%m 숫자로 표현한 월(01~12)
%d (01~31)
%H 24시를 기준 시(00~23)
%I(아이) 12시를 기준 시(01~12)
%M (00~59)
%S (00~61)
%p 오전(AM)/오후(PM) 표시 ('AM')
%a 축약된 요일 이름('Fri')
%A 축약되지 않은 요일이름('Friday')
%w 요일을 숫자로 표시
(:0, :1, :2, :3, :4, :5, :6)
%j 1 1일부터 누적된 날짜(001~366)

microsecond = %f

time모듈의 strftime메서드와 형식지시자가 같음

>>> import datetime
>>> D=datetime.date(2013,2,18)
>>> D.strftime('%Y %m %d')
'2013 02 18'
>>> D.strftime('%y/%m/%d %H:%M:%S') #시, 분, 초에 대한 정보는 없기때문에 '0'으로 반환됨
'13/02/18 00:00:00'

 

datetime.time클래스

time클래스는 시, , 초와 같은 시간을 표현함

생성자 : datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]])

숫자로 시, , , 마이크로초, 시간대정보(Time Zone)을 입력받아서 time객체를 생성하며, 각 인자는 생략하거나 명시적으로 지정할수 있다.

- hour : 0 ~ 23

- minute : 0 ~ 59

- second : 0 ~ 59

- microsecond : 0 ~ 999999

>>> import datetime
>>> datetime.time(23) #시간만 입력
datetime.time(23, 0)
>>> datetime.time(23,15,45,2341) #시, 분, 초 마이크로초 입력
datetime.time(23, 15, 45, 2341)
>>> datetime.time(hour=23,second=5) #인자지정하여 입력
datetime.time(23, 0, 5)
>>> datetime.time(25) #인자허용값을 벗어난경우
Traceback (most recent call last):
  File "<pyshell#42>", line 1, in <module>
    time(25)
ValueError: hour must be in 0..23

datetime.time클래스 속성

속성 내용
hour (읽기전용)
minute (읽기전용)
second (읽기전용)
microsecond 마이크로초(읽기전용)
max time객체가 표현할수 있는 최댓값
(0,0,0,0)
min time객체가 표현할수 있는 최솟값
(23,59,59,999999)
>>> import datetime
>>> T=datetime.time(23,30,15,2904)
>>> T.hour #시
23
>>> T.minute #분
30
>>> T.second #초
15
>>> T.microsecond #마이크로초
2904
>>> T.max #time객체의 최댓값
datetime.time(23, 59, 59, 999999)
>>> T.min #time객체의 최솟값
datetime.time(0, 0)

isoformat()

time객체의 값을 "HH:MM:SS.mmmmmm'형식이나

'HH:MM:SS'형식(micro초가 없는경우)의 문자열을 반환

>>> import datetime
>>> T=datetime.time(23,30,15,3759)
>>> T.isoformat()
'23:30:15.003759'

strftime(format)

지정된 포맷에 맞춰 datetime.time객체의 정보를 문자열로 반환

지시자 내용
%y 연도를 축약하여 표시('13')
%Y 연도를 축약하지 않고 표시('2013')
%b 축약된 월이름('Mar')
%B 축약되지 않은 월 이름('March')
%m 숫자로 표현한 월(01~12)
%d (01~31)
%H 24시를 기준 시(00~23)
%I(아이) 12시를 기준 시(01~12)
%M (00~59)
%S (00~61)
%p 오전(AM)/오후(PM) 표시 ('AM')
%a 축약된 요일 이름('Fri')
%A 축약되지 않은 요일이름('Friday')
%w 요일을 숫자로 표시
(:0, :1, :2, :3, :4, :5, :6)
%j 1 1일부터 누적된 날짜(001~366)

time모듈의 strftime메서드와 형식지시자가 같음

>>> import datetime
>>> T=datetime.time(23,30,15,3759)
>>> T.strftime('%Y %m %d %H:%M:%S:')
'1900 01 01 23:30:15:'

datetime.datetime 클래스

datetime클래스는 date클래스와 time클래스의 조합으로 이루어져 있다.

생성자 : datetime.datetime(yesr, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])

숫자로 각 인자를 받아서 datetime객체를 생성하며, , , 일은 생략이 불가하다.

명시적으로 인자를 지정하여 입력할수 있고, 생략된 인자는 0으로 초기화된다.

- year : 1 ~ 9999

- month : 1 ~ 12

- day : 1 ~ 해당월의 마지막 날짜

- hour : 0 ~ 23

- minute : 0 ~ 59

- second : 0 ~ 59

- microsecond : 0 ~ 999999

>>> import datetime
>>> datetime.datetime(2013,2,18) #년, 월, 일만 입력
datetime.datetime(2013, 2, 18, 0, 0)
>>> datetime.datetime(2013,2,hour=23,second=30,day=18) #명시적으로 인자를 지정
datetime.datetime(2013, 2, 18, 23, 0, 30)
>>> datetime.datetime(2013) #월,일인자가 생략되어 Error발생
Traceback (most recent call last):
  File "<pyshell#89>", line 1, in <module>
    datetime(2013)
TypeError: Required argument 'month' (pos 2) not found

datetime.datetime클래스 속성

속성 내용
year (읽기전용)
month (읽기전용)
day (읽기전용)
hour (읽기전용)
minute (읽기전용)
second (읽기전용)
microsecond 마이크로초(읽기전용)
max datetime객체가 표현할수 있는 최댓값
(9999,12,31,23,59,59,999999)
min datetime객체가 표현할수 있는 최솟값
(1,1,1)

datetime.datetime객체를 생성하는 클래스메서드

>today()

현재 LST 기준의datatime객체를 생성

>>> import datetime
>>> datetime.datetime.today()
datetime.datetime(2013, 3, 29, 4, 30, 17, 967000)

now([tz])

현재 LST기준의 datetime객체를 생성

시간대 정보가 입력되지 않으면 플랫폼의 시간대를 그대로 사용

>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2013, 3, 29, 4, 33, 3, 498000)

utcnow()

UTC기준의datetime객체를 생성

>>> import datetime
>>> datetime.datetime.utcnow()
datetime.datetime(2013, 3, 28, 19, 36, 38, 170000)

fromtimestamp(timestamp[,tz])

타임스탬프를 지방 기준의 datetime객체를 생성

>>> import datetime,time
>>> datetime.datetime.fromtimestamp(time.time())
datetime.datetime(2013, 3, 29, 4, 43, 48, 201000)

utcfromtimestamp(timestamp)

타임스탬프를 UTC기준의 datetime객체를 생성

>>> import datetime,time
>>> datetime.datetime.utcfromtimestamp(time.time())
datetime.datetime(2013, 3, 28, 19, 44, 46, 358000)

strptime(date_string,format)

시간을 표현한 사용자가 정의한 형식문자열을 이용하여 datetime객체를 생성

지시자 내용
%y 연도를 축약하여 표시('13')
%Y 연도를 축약하지 않고 표시('2013')
%b 축약된 월이름('Mar')
%B 축약되지 않은 월 이름('March')
%m 숫자로 표현한 월(01~12)
%d (01~31)
%H 24시를 기준 시(00~23)
%I(아이) 12시를 기준 시(01~12)
%M (00~59)
%S (00~61)
%p 오전(AM)/오후(PM) 표시 ('AM')
%a 축약된 요일 이름('Fri')
%A 축약되지 않은 요일이름('Friday')
%w 요일을 숫자로 표시
(:0, :1, :2, :3, :4, :5, :6)
%j 1 1일부터 누적된 날짜(001~366)

time모듈의 strftime메서드와 형식지시자가 같음

>>> import datetime,time
>>> timestring=time.ctime(1234567890)
>>> timestring
'Sat Feb 14 08:31:30 2009'
>>> datetime.datetime.strptime(timestring,"%a %b %d %H:%M:%S %Y")
datetime.datetime(2009, 2, 14, 8, 31, 30)

date()

원본객체의 년, , 일 정보를 가지고 있는 date객체를 반환

>>> import datetime
>>> DT=datetime.datetime(2013,2,18,22,30,15)
>>> D=DT.date()
>>> D
datetime.date(2013, 2, 18)

time()

원본객체의 시, , , 마이크로초를 가지고 있는 time객체를 반환

>>> import datetime
>>> DT=datetime.datetime(2013,2,18,22,30,15)
>>> T=DT.time()
>>> T
datetime.time(22, 30, 15)

replace()

입력된 값으로 변경된 datetime객체를 반환, 원본객체는 변경되지 않음

>>> import datetime
>>> DT=datetime.datetime(2013,2,18,22,30,15)
>>> DT_1=DT.replace(year=1987)
>>> DT
datetime.datetime(2013, 2, 18, 22, 30, 15)
>>> DT_1
datetime.datetime(1987, 2, 18, 22, 30, 15)

isoformat()

datetime객체를 'YYYY-MM-DDTHH:MM:SS.mmmmmm'형식으로 변환하여 문자열로 반환

마이크로초가 0인경우 '.mmmmmm'부분은 생략됨

>>> import datetime
>>> DT=datetime.datetime.today()
>>> DT.isoformat()
'2013-03-29T07:57:58.014000'
>>> DT.replace(microsecond=0).isoformat() #마이크로초가 0인경우
'2013-03-29T07:57:58'

strftime(format)

지정된 포맷형식에 맞추어 datetime.datetime객체를 문자열로 반환

지시자 내용
%y 연도를 축약하여 표시('13')
%Y 연도를 축약하지 않고 표시('2013')
%b 축약된 월이름('Mar')
%B 축약되지 않은 월 이름('March')
%m 숫자로 표현한 월(01~12)
%d (01~31)
%H 24시를 기준 시(00~23)
%I(아이) 12시를 기준 시(01~12)
%M (00~59)
%S (00~61)
%p 오전(AM)/오후(PM) 표시 ('AM')
%a 축약된 요일 이름('Fri')
%A 축약되지 않은 요일이름('Friday')
%w 요일을 숫자로 표시
(:0, :1, :2, :3, :4, :5, :6)
%j 1 1일부터 누적된 날짜(001~366)

time모듈의 strftime메서드와 형식지시자가 같음

>>> import datetime
>>> DT=datetime.datetime.today()
>>> DT.strftime('%Y-%m-%d %H:%M:%S %a')
'2013-03-29 08:04:55 Fri'

datetime.timedelta

datetime.timedelta클래스는 두 날짜 혹은 시간 사이의 기간을 표현한다.

인자는 양수인경우 현시점으로부터 이후를 나타내며, 음수인경우 현시점 이전을 나타낸다.

생성자 : datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]]])

>>> import datetime
>>> datetime.timedelta(days=-3) #3일 이전
datetime.timedelta(-3)
>>> datetime.timedelta(hours=7) #7시간 이후
datetime.timedelta(0, 25200)
>>> datetime.timedelta(weeks=2,days=3,hours=-3,minutes=30)
datetime.timedelta(16, 77400)
>>> datetime.timedelta(minutes=3,milliseconds=-20,microseconds=400)
datetime.timedelta(0, 179, 980400)

생성되는 timedelta객체의 값을 확인해보면 생성자에 전달된 값과 다른것을 알수 있다.

그 이유는 동일한 기간을 표현하는 방식이 다양하게 표현(1weeks 7days는 동일함)될수 있기 대문에, 입력된 값을 가지고 timedelta객체에서 정규화과정을 거쳐 유일한 표현방식으로 변경하기 때문이다.

정규화 결과 timedelta객체 저장되는 값은 아래와 같다.

- days : -999999999 ~ 999999999

- seconds : 0 ~ 86399(24시간을 초로 환산하면 86400)

- microseconds : 0 ~ 999999

그렇기 때문에 timedelta객체를 이용하여 표현할수 있는 가장 작은 값으 정규화과정을 거치면 아래와 같다.

>>> datetime.timedelta(microseconds=-1) #현재 이전으로 가장 작은값
datetime.timedelta(-1, 86399, 999999)
>>> datetime.timedelta(microseconds=1) #현재 이후로 가장 작은값
datetime.timedelta(0, 0, 1)

시간, 날짜의 연산

생성된 timedelta클래스객체를 이용하여 아래의 연산을 수행할수 있다.

연산결과로는 모두 timedelta객체가 반환된다.

- timedelta_3 = timedelta_1 + timedelta_2

- timedelta_3 = timedelta_1 - timedelta_2

- timedelta_3 = timedelta_1 * int = int * timedelta_1

- timedelta_2 = timedelta_1 // int

- abs(timedelta)

>>> from datetime import timedelta
>>> td_1 = timedelta(hours=7) #현재로부터 7시간 이후
>>> td_2 = timedelta(days=-3) #현재로부터 3일 이전
>>> td_1 + td_2 #두 timedelta의 합
datetime.timedelta(-3, 25200) #7시간 = 25200초
>>> td_1 - td_2 #두 timedelta의 차
datetime.timedelta(3, 25200)
>>> td_1 * 4 #timedelta와 정수의 곱
datetime.timedelta(1, 14400) #28시간 = 1일4시간 = 1일14400초
>>> td_1 // 3 #25200초 // 3
datetime.timedelta(0, 8400)
>>> abs(td_2) #기간의 절대값
datetime.timedelta(3)

비교 연산

>>> from datetime import timedelta
>>> td_1 = timedelta(hours=7)
>>> td_2 = timedelta(days=-3)
>>> td_1 > td_2
True
>>> td_1 < td_2
False
>>> td_1 = timedelta(hours=24) #24시간 = 86400초
>>> td_2 = timedelta(seconds=86400)
>>> td_1 == td_2
True

생성된 timedelta객체를 이용하여 date, datetime객체를 변경할수 있다. 지원하는 연산은 아래와 같으며, 각 객체간의 비교연산도 가능하다.

- date_2 = date_1 + timedelta

- date_2 = date_1 - timedelta

- timedelta = date_2 - date_1

- datetime_2 = datetime_1 + timedelta

- datetime_2 = datetime_1 - timedelta

- timedelta = datetime_1 - datetime_2

>>> from datetime import timedelta, date
>>> d = date.today()
>>> d
datetime.date(2013, 3, 29)
>>> td=timedelta(days=3) #timedelta를 3일로 설정
>>> d + td #오늘로부터 3일 후
datetime.date(2013, 4, 1)
>>> d - td #오늘로부터 3일 전
datetime.date(2013, 3, 26)

 date객체 사이의 기간(timedelta)을 구하기 위해서는 아래와 같이 '-'연산으로 측정가능하며, date객체간의 비교연산도 가능하다.

>>> from datetime import timedelta, date
>>> d = date.today()
>>> d2 = d.replace(day=20)
>>> d2
datetime.date(2013, 3, 20)
>>> dt = d - d2
>>> dt
datetime.timedelta(9)
>>> d2 > d
False

아래는datetime객체와 관련된 연산의 예제이다

date객체가 지원하는 모든연산이 가능하다.

>>> import datetime
>>> dt=datetime.datetime.today()
>>> dt
datetime.datetime(2013, 4, 1, 23, 41, 52, 154000)
>>> td=datetime.timedelta(days=2,hours=2) #2일 2시간
>>> dt + td #datetime객체에서 timedelta(2일 2시간)을 더함
datetime.datetime(2013, 4, 4, 1, 41, 52, 154000)
>>> dt - td #datetime객체에서 timedelta(2일 2시간)을 뺌
datetime.datetime(2013, 3, 30, 21, 41, 52, 154000)
>>> dt2 = dt.replace(month=1, day=4, hour=7) #dt 객체의 값중 월, 일, 시간을 변경
>>> dt2
datetime.datetime(2013, 1, 4, 7, 41, 52, 154000)
>>> dt- dt2 #datetime객체간의 기간
datetime.timedelta(87, 57600)
>>> dt > dt2 #비교연산
True

참고

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=dudwo567890&logNo=130165166038

 

Python,module datetime [날짜시간]

-. datetime모듈내의 클래스 클래스 내용 datetime.date 일반적으로 사용되는 그레고리안 달력(Gregorian ...

blog.naver.com

jira lib 설치

pip install jira

Python 로직

from jira import JIRA

jira_server = 'https://jira.atlassian.com'
jira_Account = 'Username'
jira_Password = 'StrongPassword'
options = {'server':jira_server}
auth_jira = JIRA(options, basic_auth=(jira_Account, jira_Password))

jira_project = 'TEST_PROJECT'
jira_title = '[Test] Jira Page Create by Python'
jira_issue_type = 'Task'
jira_desc = 'Jira Page Create Test !'

jira_labels = 'labels_test'
jira_assignee = 'Username'

# Jira Create
new_issue = auth_jira.create_issue(project=jira_project, summary=jira_title, description=jira_desc, issuetype={'name': jira_issue_type}, labels=[jira_labels], assignee={'name': jira_assignee})

# Jira Status Change
auth_jira.transition_issue(new_issue, "Done")

# Jira Web Link Create
link_title = 'Test URL Link..'
link_url = 'https://testURL.co.kr'

param = {"url":link_url,"title":link_title}
auth_jira.add_simple_link(new_issue, param)

jira_server : 접속 jira 주소를 입력

Jira_Account : Jira 접속 계정

Jira_Password : Jira 접속 비밀번호

 

jira_project : 생성할 Jira 프로젝트명

jira_title : jira 제목

jira_issue_type : jira 이슈 타입

jira_desc : jira 상세 정보

jira_labels : labels 정보, 리스트 형식으로 1개 이상 등록 가능

jira_assignee : jira 할당자

 

link_title : 웹 링크명

link_url : 웹 링크 실제 주소

참고자료

https://jira.readthedocs.io/en/master/examples.html#authentication

 

2. Examples — jira-python 3.0.2.dev21+geb80088 documentation

Attachments let user add files to issues. First you’ll need an issue to which the attachment will be uploaded. Next, you’ll need file itself, that is going to be attachment. File could be file-like object or string, representing path on local machine.

jira.readthedocs.io

 


to Top