2016-07-10 22 views
1

Windowsマシンのpowershellでcurlコマンドを使用しています。私は私のローカルにインストールしたJIRAで問題を作成しようとしています。私は次のように試みたが、それは私のエラーをスローする。誰かが私に何が欠けているのか、それをどう修正するのかを教えてもらえますか?CURL to JIRA

PS C:\Users\raji> **curl -D- -u raji:raji -X POST --data $parse.json -H  
"Content-Type: application/json" http://localhost:8080/rest/api/2/issue** 

*curl: (6) Could not resolve host: Content-Type 
HTTP/1.1 415 Unsupported Media Type 

Server: Apache-Coyote/1.1 
X-AREQUESTID: 770x749x1 
X-ASEN: SEN-L8183526 
Set-Cookie: JSESSIONID=D0B4391C94413FDDB1291C419F3E1360; Path=/; HttpOnly 
X-Seraph-LoginReason: OK 
Set-Cookie: atlassian.xsrf.token=B3EL-GHY4-P1TP-IMD0|d3d735e0a6566f8a97f99c96e80042551def3192|lin; Path=/ 
X-ASESSIONID: 1v4terf 
X-AUSERNAME: raji 
X-Content-Type-Options: nosniff 
Content-Type: text/html;charset=UTF-8 
Content-Length: 0 
Date: Sun, 10 Jul 2016 07:20:36 GMT 
* 

私はこのエラーを取得、次の試してください。

PS C:\Users\raji> **curl -D- -u raji:raji -X POST --data @parse.json -H 
"Content-Type: application/json" http://localhost:8080/rest/api/2/issue** 

*At line:1 char:38 
+ curl -D- -u raji:raji -X POST --data @parse.json -H "Content-Type: ap ... 
+          ~~~~~~ 
The splatting operator '@' cannot be used to reference variables in an expression. '@parse' can be used only as an argument to a command. To reference variables in an expression use '$parse'. 
+ CategoryInfo   : ParserError: (:) [], ParentContainsErrorRecordException 
+ FullyQualifiedErrorId : SplattingNotPermitted* 

を、したがって、私は、ファイル名に@$ instaedを試してみました。

このよう
{ 
    "fields": { 
     "project": 
     { 
      "key": "Demo" 
     }, 
     "summary": "REST ye merry gentlemen", 
     "description": "Creating of an issue using project keys and issue type names using the REST API", 
     "issuetype": { 
      "name": "Bug" 
     } 
    } 
} 

が、私もparse.jsonファイルにスラッシュ(/)を使用してみましたWindowsマシンである(いくつかの記事でのこぎり/エラーを削除します)が、その:

"parse.json"ファイルには、以下の内容を持っていますまた助けになりませんでした。誰かが私にこれを修正する方法を教えてもらえますか?

+1

私はまた、エラー出力に以下が記載されていることに気づい: のContent-Type:text/htmlの;のcharsetは= UTF-8 のContent-Length: 「のContent-Type:私は、コンテンツの種類を記載しているcurlコマンドで0 を:application/json " – Raji

答えて

1
最初のケースで

curl -D- -u raji:raji -X POST --data $parse.json -H "Content-Type: application/json" http://localhost:8080/rest/api/2/issue 

$parse存在しない変数$parseの属性jsonとして$parse.json、変数としてのPowerShellによって解釈されるので、実行されるコマンドは

curl -D- -u raji:raji -X POST --data -H "Content-Type: application/json" http://localhost:8080/rest/api/2/issue 

あろうデータは-Hであり、コンテンツタイプヘッダーはアクセスするURLとして解釈されます。それが必要今

curl -D- -u raji:raji -X POST --data "@parse.json" -H "Content-Type: application/json" http://localhost:8080/rest/api/2/issue 

:あなたは(カールではなくPowerShellのでinterpertedれる)リテラル@をしたい場合はPowerShellで@は、splat operatorとして解釈される第2のケースで

は、単に文字列を引用しますファイル parse.jsonの内容をデータとして使用してください。

+0

ありがとう、トンマタ。あなたの説明は私のエラーとあなたが提供した修正を理解するのを助けてくれました。私はJIRAで問題を作成することができます。 curl -D- -u raji:raji -X POST - データ "@ parse.json" -H "Content-Type:application/json" http:// localhost:8080/rest/api/2/issue – Raji