LoginSignup
4
4

More than 5 years have passed since last update.

JIRAでREST APIを利用する(例としてユーザ登録)

Posted at

業務の絡みで調べたので記載。

目的

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))

参考資料

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4