0

次のコードを使用して JIRA の問題を更新していますが、エラーを診断できません。私が得ているエラーは次のとおりです。

HTTP ステータス 415 - サポートされていないメディア タイプ タイプ ステータス レポート メッセージ サポートされていないメディア タイプ

私が書いたコードは次のとおりです。

$resource_array['api_name'] = 'issue/SPC-60';
$resource_array['fields'] = array (
'summary' => 'CLONE - Testing label stuff',
'assignee' => 
array (
  'emailAddress' => 'avinashk.dubey@gmail.com',
),
'customfield_10649' => 
array (
  'id' => '10668',
),
'customfield_10616' => 'This is observation'
);

$data = putJiraAPI($resource_array);
print_r($data);
////////////////////////////////////////////
function putJiraAPI($resource_array)
{
    $api_name = $resource_array['api_name'];
    unset($resource_array['api_name']);
    $result = put_to($api_name, $resource_array);
    if(is_array($result))
    {
            return $result;
    }
    else 
    {
     return "error while getting data using ".BASE_URL.API_URL.$resource_string;
    }
}

function put_to($api_name, $resource_array) 
{
    $jdata = json_encode($resource_array);
    print_r($jdata);
    $ch = curl_init();
    curl_setopt_array($ch, array(
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_URL => BASE_URL . API_URL . $api_name,
    CURLOPT_USERPWD => USER_NAME . ':' . PASSWORD,
    CURLOPT_POSTFIELDS => $jdata,
    CURLOPT_HTTPHECURLOPT_HTTPHEADER => array(
        'Content-Type: application/json'
        ),
    CURLOPT_RETURNTRANSFER => true
        ));

    echo BASE_URL . API_URL . $api_name;

    $result = curl_exec($ch);
    curl_close($ch);
    return json_decode($result,true);
}
4

1 に答える 1

0

実際、私はここで間違っていました:

CURLOPT_HTTPHECURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
    ), 

そのはず:

CURLOPT_HTTPHEADER => array('Content-type: application/json'),
于 2013-07-16T06:35:27.620 に答える