2015-08-20 59 views
0

我正在尝试使用pycurl更改JIRA中的受让人。我的代码正在等待**** HTTP/1.1 100继续****。我究竟做错了什么?谢谢你的帮助。我附上了我的代码片段。 另外我不想使用JIRA Python库。Pycurl PUT请求到JIRA REST API等待100继续

def assign(self, key, name): 

    data = json.dumps({"fields":{"assignee":{"name":name}}}) 
    c= pycurl.Curl() 
    c.setopt(pycurl.VERBOSE, 1) 
    c.setopt(pycurl.URL, "http://xxx/rest/api/2/issue/"+ key) 
    c.setopt(pycurl.HTTPHEADER, ['Content-Type: application/json', 'Accept: application/json']) 
    c.setopt(pycurl.USERPWD, "****") 
    c.setopt(pycurl.PUT, 1) 
    c.setopt(pycurl.POSTFIELDS,data) 
    c.perform() 
+0

你想达到什么目的?如何重现你的问题? –

+0

我想要在JIRA中将票分配给谁。要重现此问题,您需要访问JIRA。我认为在发送数据方面存在一些问题。这里的数据就是名字。对于eg.Fred – HighonH

回答

2

得到了代码工作。

def assign(self, key, name): 
    self._startCurl()   
    self.c.setopt(pycurl.URL, "http://xxx/rest/api/2/issue/"+ key) 
    self.c.setopt(pycurl.HTTPHEADER, ['Content-Type: application/json', 'Accept: application/json']) 
    self.c.setopt(pycurl.USERPWD, "fred:fred") 
    self.c.setopt(pycurl.CUSTOMREQUEST, "PUT") 
    data = json.dumps({"fields":{"assignee":{"name":name}}}) 
    self.c.setopt(pycurl.POSTFIELDS,data)   
    self.c.perform() 
    self.c.close()