Jiraは完全なRESTfulAPIを提供します。APIインターフェイスを直接要求したくない場合は、PythonJiraライブラリを使用してJiraを操作できます。
JiraPythonドキュメント
インストール方法
pip install jira
認証
Jiraのアクセスは許可されています。Jiraプロジェクトにアクセスするときは、最初に認証する必要があります。JiraPythonライブラリには、次の3つの認証方法があります。
次のコードでは、認証にCookieを使用しています。
form jira import JIRA
jira = JIRA( 'http://jira。***。com/'、auth =( 'ユーザー名'、 'ログインパスワード')
返されたjiraオブジェクトはJiraで動作できます。主な操作は次のとおりです。
事業
jira.projects():すべてのプロジェクトのリストを表示する
jira.project( "プロジェクトのキー"):単一のプロジェクトを表示する
プロジェクトオブジェクトの主な属性とメソッドは次のとおりです。
例
print(jira.projects())#アクセス許可のあるすべてのプロジェクトのリストを印刷します
project = jira.project( 'プロジェクトのキー')
print(project.key, project.name, project.lead)
発行(発行)
問題はJiraの中核であり、Jiraのタスク、ユーザーストーリー、およびバグは本質的に問題です。
単一の問題オブジェクトは、jira.issue(「問題のキー」)から取得できます。問題の主な属性とメソッドは次のとおりです。
フィールドの構成(フィールド)
一般的な問題のフィールドの属性は、固定属性とカスタム属性に分けられます。カスタム属性の形式は、通常、customfield_10012と同様です。一般的に使用される質問のフィールドは次のとおりです。
例は次のとおりです。
issue = jira.issue(‘JRA-1330’)
print(issue.key, issue.fields.summary, issue.fields.status)
フォロワー/コメント/添付ファイル
例は次のとおりです。
issue = jira.issue('JRA-1330')print(jiaa.watchers(issue)) #すべてのフォロワー
jira.add_watcher(issue,'username') #フォロワーを追加する
print(jira.comments(issue)) #すべてのコメント
comment = jira.comment(issue,'10234') #コメント
jira.add_comment(issue,'new comment') #コメントを追加
comment.update(body='update comment') #コメントを更新
comment.delete() #このコメントを削除する
print(issue.fields.attachment) #質問の添付
jira.add_attachment(issue=issue, attachment='/some/path/attachment.txt') #添付ファイルを追加する
問題の作成/割り当て/変換
例は次のとおりです。
# 質問を作成する
issue_dict ={'project':{'id':123},'summary':'New issue from jira-python','description':'Look into this one','issuetype':{'name':'Bug'},}
new_issue = jira.create_issue(fields=issue_dict)
# 質問をまとめて作成する
issue_list =[{'project':{'id':123},'summary':'First issue of many','description':'Look into this one','issuetype':{'name':'Bug'},},{'project':{'key':'FOO'},'summary':'Second issue','description':'Another one','issuetype':{'name':'Bug'},},{'project':{'name':'Bar'},'summary':'Last issue','description':'Final issue of batch.','issuetype':{'name':'Bug'},}]
issues = jira.create_issues(field_list=issue_list)
# 配布の問題
jira.assign_issue(issue,'newassignee')
# 変換の問題
jira.transition_issue(issue,'5', assignee={'name':'pm_user'}, resolution={'id':'3'})
検索する
Jiraの検索は非常に強力で、JQL(Jira Query Language)と呼ばれる特別な検索言語のセットを備えています。JiraのPythonライブラリは、JQL構文に基づいて検索され、検索された質問のリストを返します。
使用ステートメントは
jira.search_issues( 'JQLステートメント')
デフォルトの最大結果数は1000ではなく、maxResultsパラメーターを使用して構成できます。このパラメーターが-1の場合、数に制限はなく、すべての検索結果が返されます。
jira.search_issues('project=PROJ and assignee = currentUser()', maxResults=-1)
以上が本稿の内容ですので、皆様のご勉強に役立てていただければ幸いです。
Recommended Posts