0

私はここに新しいです。これと同じ質問ですが、答えが得られなかったので再度投稿します: how to create a ticket in rt using python-rtkit

CookieAuthenticatorチケットの作成または読み取りの両方を試みましBasicAuthenticatorたが、それでも同じエラーが発生します。

`RT/3.8.13 401 Credentials required` 

URL http://ticket.corp.kk.net/REST/1.0/ticket/214560?user=user&pass=passをブラウザーに直接ロードすると、ブラウザーでチケットのコンテンツを取得します。

以下のように、Cookie を使用して 1 つのチケット コンテンツを取得するコマンドを試してみましたが、wgetうまくいきました。

  1. Cookie 値をcoookie.txtファイルに手動で保存します。

    RT_SID_kk.net.80=5a1c1eb207c4e2ef5af726e98d751a08
    
  2. 次のコマンドを実行します。

    wget -O ticketContent.txt --keep-session-cookies --save-cookies cookies.txt 'http://ticket.corp.kk.net/REST/1.0/ticket/220680/show?format=l&user=user&pass=pass'
    

チケットの内容は に適切に登録されticketContent.txtており、Cookie を使用した認証が機能していることを示しています。

CookieAuthenticationしかし、まだPython スクリプトで rtkit を通過できません。

私はこの問題に2日間苦労してきました。誰かが私を助けてくれれば幸いです。ありがとうございました。

4

1 に答える 1

1

この問題の解決策は見つかりませんでしたが、python Requests ライブラリを使用して RT でチケットを作成することに成功しました。

  1. Requests ライブラリをインストールします。http://docs.python-requests.org/en/latest/user/install/#install
  2. RTで新しいチケットを作成する

    #!/usr/bin/python -u
    import requests,logging
    
    logging.basicConfig(level=logging.DEBUG)
    post_data = """
    id: ticket/new
    Queue: myqueue
    Subject: Test Ticket creation in RT with Python
    Text: Wow ticket is created :-D . 
    """
    payload = {'user': 'user', 'pass': 'password','content':post_data}
    ticket_creation_reusult = requests.post("http://ticket.corp.kk.net/rt3/REST/1.0/ticket/new", payload)
    
    logging.debug(ticket_creation_reusult.text)
    

出力は次のとおりです。

INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1):  ticket.corp.kk.net
DEBUG:requests.packages.urllib3.connectionpool:"POST /rt3/REST/1.0/ticket/new     HTTP/1.1" 200 None
DEBUG:root:RT/3.8.13 200 Ok
# Ticket 221173 created.

あなたが私と同じ問題を抱えているなら、これがあなたを助けることを願っています. :-)

于 2014-10-18T18:27:59.457 に答える