4

Pythonを使用してREST API (バージョン 2) を介してJIRA の問題解決済みまたはクローズ済みとしてマークする方法は?

http://docs.atlassian.com/jira/REST/latest/#id199544でドキュメントを見つけましたが、次のようなさまざまなエラーがありました。

  • HTTP エラー 415: サポートされていないメディア タイプ
  • HTTP エラー 400
4

1 に答える 1

6

長い間検索した後、私は解決策を見つけました。これは、Git/Gerrit フックを作成して私のようなことを行うことに興味がある他の人のためにここに投稿しています。

最初http://example.com/rest/api/2/issue/<ISSUE>/transitions?expand=transitions.fieldsにブラウザーで Web サイトと問題番号を開き、トランジション ID を見つけます。

それが1000だとすると:

import urllib
import urllib2
import base64
import json

key = 'JIRA-123'
comment = "It's done!"
username = 'username'
password = 'password'

# See http://docs.atlassian.com/jira/REST/latest/#id199544
url = 'http://example.com/rest/api/2/issue/%s/transitions' % key
auth = base64.encodestring('%s:%s' % (username, password)).replace('\n', '')
data = json.dumps({
    'transition': {
        'id': 1000    # Resolved (for my setup)
    },
    'update': {
        'comment': [
            {
                'add': {
                    'body': comment
                }
            }
        ]
    },
})
request = urllib2.Request(url, data, {
    'Authorization': 'Basic %s' % auth,
    'Content-Type': 'application/json',
})
print urllib2.urlopen(request).read()

コメントを追加したくない場合は、コメント セクションを完全に省略できます。

于 2012-09-19T16:45:33.683 に答える