0

以前の同僚からプログラムを入手しましたが、今はそれを維持する必要があります。この Python スクリプトは、Jira インスタンスに特定の jql (API で) を要求します。返されるのは、検索条件に一致するすべての問題のリストです。しかし、現在は機能していません。サーバー ( Ubuntu ) とローカルの Windows PC で Json エラー メッセージが表示されます。注:約1年間は実行されませんでしたが、当時は機能していました。

スクリプトは次のようになります。

import json
import subprocess

jiraSerachUrl = "https://ourJiraInstance.net/rest/api/2/search?jql=key%20=%20%22TEST-123%22"
jiraResponse = subprocess.Popen(["curl","-l","-s","-u", "jiraUser"+":"+"jiraUserPassword", "-X", "GET", jiraSerachUrl ],stdout=subprocess.PIPE,shell=True).communicate()[0]
## shell=True only added for Windows Instance
print(type(jiraResponse))
##print =  <class 'bytes'>
print(jiraResponse)
## print = b''
jiraJsonResponse = json.loads(jiraResponse.decode('utf-8'))
print(jiraJsonResponse)

jql/jira 検索アドレスは次を返します (短縮された回答、タスクのすべてのフィールドが返されます)。

{"expand":"names,schema","startAt":0,"maxResults":50,"total":1,"issues": [{"expand":"operations,versionedRepresentations,editmeta,changelog,transitions, renderFields", "id":"145936","self":" https://ourJiraInstance.net/rest/api/2/issue/145936 ","キー":"TEST-123","フィールド":{ "親": ...

Windows PC のエラーは次のとおりです。

トレースバック (最新の呼び出しが最後): ファイル "C:\Users\User\Desktop\test.py"、10 行目、jiraJsonResponse = json.loads(jiraResponse.decode('utf-8')) ファイル "C:\ Users\User\AppData\Local\Programs\Python\Python35-32\lib\json__init__.py"、319 行目、ロードの return _default_decoder.decode(s) File "C:\Users\User\AppData\Local\Programs\ Python\Python35-32\lib\json\decoder.py"、339 行目、デコード obj、end = self.raw_decode(s, idx=_w(s, 0).end()) ファイル "C:\Users\ User\AppData\Local\Programs\Python\Python35-32\lib\json\decoder.py", line 357, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError:期待値: 行 1 列 1 (文字 0)

これは、Ubuntu サーバーでのエラーです (同じスクリプトを実行しています)。

トレースバック (最新の呼び出しが最後): ファイル "searchJira.py"、33 行目、jiraJsonResponse = json.loads(jiraResponse) ファイル "/usr/lib/python2.7/json/ init .py"、338 行目、ロードreturn _default_decoder.decode(s) File "/usr/lib/python2.7/json/decoder.py", line 366, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end ()) ファイル "/usr/lib/python2.7/json/decoder.py"、384 行目、raw_decode で ValueError("No JSON オブジェクトをデコードできませんでした") ValueError: No JSON オブジェクトをデコードできませんでした

これまでのところ、Json の読み込みを simpleJson に変更しようとしましたが、結果は同じでした。Json がデコードする形式 (例: unicode ) を変更しても効果がありませんでした。

4

1 に答える 1