業務の絡みで調べたので記載。
目的
JIRAでREST APIの利用方法の例として、
ユーザ登録するための手順について説明します。
前提
- jiraのバージョンは7.1.8
- jiraはhttpsで公開
HTTPで公開しているとうまくいかないかも。 (未確認)
あと、Pythonを使っているので以下の条件も必要です。
- Python 3.5.2
- Requestsモジュールを利用
概要
特定のユーザをPythonコードからJIRAのREST APIを叩いて登録する。
簡単な説明
基本的にはドキュメント記載のパスに対して、指定されたHTTPメソッドと認証情報を渡すことで操作は可能です。今回はサンプルとしてユーザの登録APIを叩いています。
なお、以下のREST APIを叩くには以下の条件を満たす必要があります。
- ユーザはBasic認証で認証する
- 上記ユーザが実施できる操作のみREST APIを実行できます。
- つまり、JIRAのREST APIでユーザ登録を実行するにはjira-administratorグループに所属している必要があります。
ユーザ登録APIの使用
リクエスト先パス
/rest/api/2/user
メソッドにはPOSTを利用します。
リクエストボディ
パラメータ | 説明 |
---|---|
name | ユーザID |
emailAddress | (有効な)メールアドレス |
password | 初期パスワード。未指定時はランダム (今回は使用なし) |
displayName | 画面上に表示する名前 |
applicationKeys | 所属させるアプリケーション(リストで記述) |
リクエストボディサンプル
{
"name": "test_taro",
"emailAddress": "test_taro@example.com",
"displayName": "テスト太郎",
"applicationKeys":
"jira-software",
],
}
サンプルコード
サンプルコード
import requests
from requests import RequestException
# リクエスト先ホスト
TARGET_HOST = "atlassian.example.com"
CONTEXT = "/jira"
USER_CREATE_PATH="/rest/api/2/user"
request_body = {
"name": "test_taro",
"emailAddress": "test_taro@example.com",
"displayName": "テスト太郎",
"applicationKeys":
"jira-software",
],
}
request_path = "https://"+TARGET_HOST+CONTEXT+USER_CREATE_PATH
try:
response = requests.post(request_path, auth=('jira_admin_user','hogehoge'),json=request_body)
except RequestException as err:
print(str(err))
print(str(response))
参考資料
- Requestモジュールドキュメント
- 公式ドキュメント