I am trying to use add_worklog() with a particular startitme. No matter what , In all the formats, the JIRA responds with a 500 internal error.
j='JIRA-314'
dateString="2016-01-27T03:31:45.000"
jira.add_worklog(j,'4h',None,None,None,None,None,dateString,None)
I tried passing the datetime object also. still same error. Can someone comment about this. the documentation has no example of specific start date. I
dt1 = datetime(2016,1, 27, 16, 30, tzinfo=None)
dt1.strftime("%Y/%m/%dT%H:%M:%S.000%z")
jira.add_worklog(j,'4h',None,None,None,None,None,dt,None)
Error seen is pasted below.
File "C:\Users\rramachandran\AppData\Local\Programs\Python\Python35-32\lib\site-packages\jira\resilientsession.py", line 45, in raise_on_error
r.status_code, error, r.url, request=request, response=r, **kwargs)
jira.exceptions.JIRAError: JiraError HTTP 500
text: Internal server error
url: <edited out>
response headers = {'Server': 'Apache-Coyote/1.1', 'Transfer-Encoding': 'chunked', 'X-Seraph-LoginReason': 'OK', 'Content-Type': 'application/json;charset=UTF-8', 'Cache-Control': 'no-cache, no-store, no-transform', 'X-AUSERNAME': 'rramachandran', 'Date': 'Tue, 15 Mar 2016 08:26:06 GMT', 'X-AREQUESTID': '266x2278785x2', 'Connection': 'close', 'X-ASESSIONID': '1r9n0ie'}
response text = {"errorMessages":["Internal server error"],"errors":{}}
It works fine if the pass the value None. But then the work will be logged only on the current date.
jira.add_worklog(j,'4h',None,None,None,None,None,None,None)
Thanks Ronnie,
I did not want to hardcode the +0000 in my copy of client.py. Instead I solved this problem via installing the tzlocal package:
Install the tzlocal module using pip install tzlocal into your virtualenv.
Import it:
from tzlocal import get_localzone from datetime import datetime
then in code before you call jira.add_worklog, localize your date:
tz = get_localzone() started_date = tz.localize(started_date)
Then pass started_date to the started argument of jira.add_worklog().
References:
Hi Rahul,
I'm facing similar issue. I solved it by adding a small fix in the client.py code of the python jira module.
client.py (line 1222)
--------------------------
if started is not None: # based on REST Browser it needs: "2014-06-03T08:21:01.273+0000"
data['started'] = started.strftime("%Y-%m-%dT%H:%M:%S.000%z") + "+0000"
Kind Regards,
Ronnie
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.