Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

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

目的

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

参考資料

RyoMa_0923
インフラエンジニア? 記事の内容、およびそのなかで述べられている見解は個人のものであり、所属組織とは関係ありません。また、記事内容の正しさは必ずしも保証されるものではありません。
https://note.com/ryoma_0923
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away