Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Ruby写入JIRA6API(错误415)_Ruby_Api_Http_Rest_Jira - Fatal编程技术网

通过Ruby写入JIRA6API(错误415)

通过Ruby写入JIRA6API(错误415),ruby,api,http,rest,jira,Ruby,Api,Http,Rest,Jira,我对ruby很陌生。老实说,这是我第一次尝试使用http连接编写ruby脚本。我一度迷路了。通过POST向Jira6发送数据。这是我使用的代码 #如果问题_id.count!=0对问题进行转换 如果问题编号>0 发布| id.每个do | id| transition_data='{“transition”:{“id”:“666”}' Net::HTTP.start(jira_域,jira_端口)do|HTTP| ap jira_transition+id+jira_transition_查询

我对ruby很陌生。老实说,这是我第一次尝试使用http连接编写ruby脚本。我一度迷路了。通过POST向Jira6发送数据。这是我使用的代码

#如果问题_id.count!=0对问题进行转换
如果问题编号>0
发布| id.每个do | id|
transition_data='{“transition”:{“id”:“666”}'
Net::HTTP.start(jira_域,jira_端口)do|HTTP|
ap jira_transition+id+jira_transition_查询
request=Net::HTTP::Post.new(jira\u transition+id+jira\u transition\u查询)
request.basic_auth jira_用户,jira_通行证
请求[“内容类型”]=“应用程序/json”
ap转换数据
set_form_data('data'=>'{“transition”:{“id”:“841”}');
response=http.request(请求)
ap响应代码
ap反应
结束
结束
结束
测试此选项会导致以下错误:

#错误。
当我试着用同样的方法处理卷曲时,效果很好

curl -D- -u external_user:external_pass -X POST --data '{"transition": {"id": "841"}}' -H "Content-Type: application/json" http://jira.demo.com:80/rest/api/2/issue/17399/transitions\?expand\=transitions.fields
只是为了确保我不会得到与谷歌群组相同的垃圾答案: 是,我在成功尝试后重置了问题:-) 是,转换ID 841正确:-)

有人能告诉我正确的方向吗?如何将数据发送到Jira6 REST-API?我认为这是一个边际误差,但我不承认。
多谢各位

我建议您试试我遇到的相同问题。由于某些原因,您不能使用“请求[“内容类型”]=“应用程序/json”。必须创建新的标头变量,然后将其作为第二个参数传递给Post.new。然后使用request.body包含更新参数

if issue_id.count > 0
    issue_id.each do |id|
        transition_data = '{"transition": {"id": "666"}}'

        Net::HTTP.start(jira_domain, jira_port) do |http|
            ap jira_transition + id + jira_transition_query
            header = {'Content-Type': 'application/json'}
            request = Net::HTTP::Post.new(jira_transition + id + jira_transition_query, header)
            request.basic_auth jira_user, jira_pass
            #request["Content-Type"] = "application/json"
            ap transition_data
            #request.set_form_data('data' => '{"transition": {"id": "841"}}');
            params = {transistion: {id: 841}}
            request.body = params.to_json

            response = http.request(request)

            ap response.code
            ap response
        end
    end
end

吉拉的红宝石坏了。每次我尝试这个,我都会得到一些源于包的complie错误。编译错误并不一定意味着gem坏了。我已经成功地使用了。可能会发布一些错误以进行故障排除。