JIRA API
JIRA
https://www.atlassian.com/software/jira
The best software teams ship early and often.
Jira Software is built for every member of your software team to plan,
track, and release great software.
REST API
search with jql
https://docs.atlassian.com/software/jira/docs/api/REST/8.12.2/#api/2/search-search
Search
GET /rest/api/2/search
Searches for issues using JQL.
Sorting the
jqlparameter is a full JQL expression, and includes anORDER BYclause.The
fieldsparam (which can be specified multiple times) gives a comma-separated list of fields to include in the response. This can be used to retrieve a subset of fields. A particular field can be excluded by prefixing it with a minus.
Request
query parameters
parameter type description jqlstring a JQL query string
startAtint the index of the first issue to return (0-based)
maxResultsint the maximum number of issues to return (defaults to 50). The maximum allowable value is dictated by the Jira property 'jira.search.views.default.max'. If you specify a value that is higher than this number, your search results will be truncated.
validateQueryboolean Default: true
whether to validate the JQL query
fieldsstring the list of fields to return for each issue. By default, all navigable fields are returned.
expandstring A comma-separated list of the parameters to expand.
Responses
- Status 200 - application/json
Returns a JSON representation of the search results.Example
{ "expand": "names,schema", "startAt": 0, "maxResults": 50, "total": 1, "issues": [ { "expand": "", "id": "10001", "self": "http://www.example.com/jira/rest/api/2/issue/10001", "key": "HSP-1" } ] }Schema
- Status 400
Returned if there is a problem with the JQL query.
Issue API
https://docs.atlassian.com/software/jira/docs/api/REST/8.12.2/#api/2/issue
api/2/issueExpand all methods
Create issue
POST /rest/api/2/issueCreate issues
POST /rest/api/2/issue/bulkGet issue
GET /rest/api/2/issue/{issueIdOrKey}Delete issue
DELETE /rest/api/2/issue/{issueIdOrKey}Edit issue
PUT /rest/api/2/issue/{issueIdOrKey}Archive issue
PUT /rest/api/2/issue/{issueIdOrKey}/archiveAssign
PUT /rest/api/2/issue/{issueIdOrKey}/assigneeGet comments
GET /rest/api/2/issue/{issueIdOrKey}/commentAdd comment
POST /rest/api/2/issue/{issueIdOrKey}/commentUpdate comment
PUT /rest/api/2/issue/{issueIdOrKey}/comment/{id}Delete comment
DELETE /rest/api/2/issue/{issueIdOrKey}/comment/{id}Get comment
GET /rest/api/2/issue/{issueIdOrKey}/comment/{id}Get edit issue meta
GET /rest/api/2/issue/{issueIdOrKey}/editmetaNotify
POST /rest/api/2/issue/{issueIdOrKey}/notifyGet remote issue links
GET /rest/api/2/issue/{issueIdOrKey}/remotelinkCreate or update remote issue link
POST /rest/api/2/issue/{issueIdOrKey}/remotelinkDelete remote issue link by global id
DELETE /rest/api/2/issue/{issueIdOrKey}/remotelinkGet remote issue link by id
GET /rest/api/2/issue/{issueIdOrKey}/remotelink/{linkId}Update remote issue link
PUT /rest/api/2/issue/{issueIdOrKey}/remotelink/{linkId}Delete remote issue link by id
DELETE /rest/api/2/issue/{issueIdOrKey}/remotelink/{linkId}Restore issue
PUT /rest/api/2/issue/{issueIdOrKey}/restoreGet transitions
GET /rest/api/2/issue/{issueIdOrKey}/transitionsDo transition
POST /rest/api/2/issue/{issueIdOrKey}/transitionsRemove vote
DELETE /rest/api/2/issue/{issueIdOrKey}/votesAdd vote
POST /rest/api/2/issue/{issueIdOrKey}/votesGet votes
GET /rest/api/2/issue/{issueIdOrKey}/votesGet issue watchers
GET /rest/api/2/issue/{issueIdOrKey}/watchersAdd watcher
POST /rest/api/2/issue/{issueIdOrKey}/watchersRemove watcher
DELETE /rest/api/2/issue/{issueIdOrKey}/watchersGet issue worklog
GET /rest/api/2/issue/{issueIdOrKey}/worklogAdd worklog
POST /rest/api/2/issue/{issueIdOrKey}/worklogGet worklog
GET /rest/api/2/issue/{issueIdOrKey}/worklog/{id}Update worklog
PUT /rest/api/2/issue/{issueIdOrKey}/worklog/{id}Delete worklog
DELETE /rest/api/2/issue/{issueIdOrKey}/worklog/{id}Archive issues
POST /rest/api/2/issue/archiveGet create issue meta deprecated
GET /rest/api/2/issue/createmetaGet create issue meta project issue types
GET /rest/api/2/issue/createmeta/{projectIdOrKey}/issuetypesGet create issue meta fields
GET /rest/api/2/issue/createmeta/{projectIdOrKey}/issuetypes/{issueTypeId}Get issue picker resource
GET /rest/api/2/issue/picker
PYTHON LIBRARY
https://jira.readthedocs.io/en/master/installation.html
The easiest (and best) way to install jira-python is through pip:
$ pip install jira
https://jira.readthedocs.io/en/master/examples.html
# This script shows how to use the client in anonymous mode # against jira.atlassian.com. from jira import JIRA import re # By default, the client will connect to a Jira instance started from the Atlassian Plugin SDK # (see https://developer.atlassian.com/display/DOCS/Installing+the+Atlassian+Plugin+SDK for details). # Override this with the options parameter. options = {"server": "https://jira.atlassian.com"} jira = JIRA(options) # Get all projects viewable by anonymous users. projects = jira.projects() # Sort available project keys, then return the second, third, and fourth keys. keys = sorted([project.key for project in projects])[2:5] # Get an issue. issue = jira.issue("JRA-1330") # Find all comments made by Atlassians on this issue. atl_comments = [ comment for comment in issue.fields.comment.comments if re.search(r"@atlassian.com$", comment.author.emailAddress) ] # Add a comment to the issue. jira.add_comment(issue, "Comment text") # Change the issue's summary and description. issue.update( summary="I'm different!", description="Changed the summary to be different." ) # Change the issue without sending updates issue.update(notify=False, description="Quiet summary update.") # You can update the entire labels field like this issue.update(fields={"labels": ["AAA", "BBB"]}) # Or modify the List of existing labels. The new label is unicode with no # spaces issue.fields.labels.append(u"new_text") issue.update(fields={"labels": issue.fields.labels}) # Send the issue away for good. issue.delete() # Linking a remote jira issue (needs applinks to be configured to work) issue = jira.issue("JRA-1330") issue2 = jira.issue("XX-23") # could also be another instance jira.add_remote_link(issue, issue2)

浙公网安备 33010602011771号