Jira Connector Reference¶
The following operations allow you to work with the Jira Connector. Click an operation name to see parameter details and samples on how to use it.
init
The init operation configures the connection parameters used to establish a connection to the Jira server.
Parameter Name | Description | Required |
---|---|---|
username | The username of the user. | Yes |
password | The password of the user. | Yes |
uri | The instance URI of Jira account. | Yes |
blocking | This property helps the connector perform blocking invocations to Jira. | Yes |
Sample configuration
<jira.init>
<username>{$ctx:username}</username>
<password>{$ctx:password}</password>
<uri>{$ctx:uri}</uri>
<blocking>{$ctx:blocking}</blocking>
</jira.init>
Sample request
The following sample REST request can be handled by the init operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"blocking":"false"
}
getDashboards
This operation returns a JSON representation of the list of dashboards, including their names, IDs, and more.
Parameter Name | Description | Required |
---|---|---|
maxResults | The maximum number of dashboards to return, up to 1000 (default is 50). | Yes |
startAt | The index of the first dashboard to return (0-based). Must be 0 or a multiple of maxResults. | Yes |
filter | An optional filter that is applied to the list of dashboards. | Yes |
Sample configuration
<jira.getDashboards>
<maxResults>{$ctx:maxResults}</maxResults>
<filter>{$ctx:filter}</filter>
<startAt>{$ctx:startAt}</startAt>
</jira.getDashboards>
Sample request
The following is a sample REST/JSON request that can be handled by the getDashboards operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"maxResults":"50",
"filter":"favourite"
}
Sample response
Given below is a sample response for the getDashboards operation.
{
"startAt": 0,
"maxResults": 50,
"total": 1,
"dashboards": [
{
"id": "10100",
"name": "test",
"self": "http://localhost:8080/rest/api/2/dashboard/10100",
"view": "http://localhost:8080/secure/Dashboard.jspa?selectPageId=10100"
}
]
}
getDashboardById
This operation returns a JSON representation of the dashboard details, including its name, ID, and more.
Parameter Name | Description | Required |
---|---|---|
id | Identifies the dashboard that you want to get. | Yes |
Sample configuration
<jira.getDashboardById>
<id>{$ctx:id}</id>
</jira.getDashboardById>
Sample request
The following is a sample REST/JSON request that can be handled by the getDashboardById
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"id":"10100"
}
Sample response
Given below is a sample response for the getDashboardById
operation.
{
"id": "10100",
"name": "test",
"self": "http://localhost:8080/rest/api/2/dashboard/10100",
"view": "http://localhost:8080/secure/Dashboard.jspa?selectPageId=10100"
}
getFilterById
To get information about a specific filter, use getFilterById
and specify the filter ID. This operation returns a JSON representation of the filter information, including the name, ID, search URL, and more.
Parameter Name | Description | Required |
---|---|---|
filterId | Identifies the filter that you want to get. | Yes |
expand | The parameters to expand. | Yes |
Sample configuration
<jira.getFilterById>
<filterId>{$ctx:filterId}</filterId>
<expand>{$ctx:expand}</expand>
</jira.getFilterById>
Sample request
The following is a sample REST/JSON request that can be handled by the getFilterById
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"filterId":"10100"
}
Sample response
Given below is a sample response for the getFilterById
operation.
{
"self": "http://localhost:8080/rest/api/2/filter/10100",
"id": "10100",
"name": "All Open Bugs",
"description": "Lists all open bugs",
"owner": {
"self": "http://localhost:8080/rest/api/2/user?username=admin",
"key": "admin",
"name": "admin",
"avatarUrls": {
"48x48": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=48",
"24x24": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=24",
"16x16": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=16",
"32x32": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=32"
},
"displayName": "[email protected]",
"active": true
},
"jql": "type = Bug AND resolution is EMPTY",
"viewUrl": "http://localhost:8080/issues/?filter=10100",
"searchUrl": "http://localhost:8080/rest/api/2/search?jql=type+%3D+Bug+AND+resolution+is+EMPTY",
"favourite": true,
"sharePermissions": [],
"editable": true,
"sharedUsers": {
"size": 0,
"items": [],
"max-results": 1000,
"start-index": 0,
"end-index": 0
},
"subscriptions": {
"size": 0,
"items": [],
"max-results": 1000,
"start-index": 0,
"end-index": 0
}
}
getFavouriteFilters
To get the favorite filters of the current user, use getFavouriteFilter
. This operation returns a JSON representation of the filters, including their names, IDs, search URLs, and more.
Parameter Name | Description | Required |
---|---|---|
expand | The parameters to expand. | Yes |
Sample configuration
<jira.getFavouriteFilters>
<expand>{$ctx:expand}</expand>
</jira.getFavouriteFilters>
Sample request
The following is a sample REST/JSON request that can be handled by the getFavouriteFilters
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080"
}
Sample response
Given below is a sample response for the getFavouriteFilters
operation.
[
{
"self": "http://localhost:8080/rest/api/2/filter/10100",
"id": "10100",
"name": "All Open Bugs",
"description": "Lists all open bugs",
"owner": {
"self": "http://localhost:8080/rest/api/2/user?username=admin",
"key": "admin",
"name": "admin",
"avatarUrls": {
"48x48": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=48",
"24x24": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=24",
"16x16": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=16",
"32x32": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=32"
},
"displayName": "[email protected]",
"active": true
},
"jql": "type = Bug AND resolution is EMPTY",
"viewUrl": "http://localhost:8080/issues/?filter=10100",
"searchUrl": "http://localhost:8080/rest/api/2/search?jql=type+%3D+Bug+AND+resolution+is+EMPTY",
"favourite": true,
"sharePermissions": [],
"editable": true,
"sharedUsers": {
"size": 0,
"items": [],
"max-results": 1000,
"start-index": 0,
"end-index": 0
},
"subscriptions": {
"size": 0,
"items": [],
"max-results": 1000,
"start-index": 0,
"end-index": 0
}
}
]
createFilter
To create a new filter, use createFilter
and attach the JSON representation of the filter as the payload of the request.
Parameter Name | Description | Required |
---|---|---|
filterName | The name of the filter. | Yes |
description | The description of the filter. | Yes |
jqlType | The jql type of the filter. | Yes |
favourite | Specify whether the filter is a favourite. | Yes |
Sample configuration
<jira.createFilter>
<filterName>{$ctx:filterName}</filterName>
<description>{$ctx:description}</description>
<jqlType>{$ctx:jqlType}</jqlType>
<favourite>{$ctx:favourite}</favourite>
</jira.createFilter>
Sample request
The following is a sample REST/JSON request that can be handled by the createFilter
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"filterName":"All Open Bugs",
"description":"Lists all open bugs",
"jqlType":"Bug and resolution is empty",
"favourite":"true"
}
Sample response
Given below is a sample response for the createFilter
operation.
{
"self": "http://localhost:8080/rest/api/2/filter/10100",
"id": "10100",
"name": "All Open Bugs",
"description": "Lists all open bugs",
"owner": {
"self": "http://localhost:8080/rest/api/2/user?username=admin",
"key": "admin",
"name": "admin",
"avatarUrls": {
"48x48": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=48",
"24x24": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=24",
"16x16": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=16",
"32x32": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=32"
},
"displayName": "[email protected]",
"active": true
},
"jql": "type = Bug AND resolution is EMPTY",
"viewUrl": "http://localhost:8080/issues/?filter=10100",
"searchUrl": "http://localhost:8080/rest/api/2/search?jql=type+%3D+Bug+AND+resolution+is+EMPTY",
"favourite": true,
"sharePermissions": [],
"editable": true,
"sharedUsers": {
"size": 0,
"items": [],
"max-results": 1000,
"start-index": 0,
"end-index": 0
},
"subscriptions": {
"size": 0,
"items": [],
"max-results": 1000,
"start-index": 0,
"end-index": 0
}
}
updateFilterById
To update an existing filter, use updateFilterById
with the filter ID.
Parameter Name | Description | Required |
---|---|---|
filterId | The id of the filter. | Yes |
filterName | The name of the filter. | Yes |
description | The description of the filter. | Yes |
jqlType | The jql type of the filter. | Yes |
favourite | Specify whether the filter is a favourite. | Yes |
expand | The parameters to expand. | Yes |
Sample configuration
<jira.updateFilterById>
<filterId>{$ctx:filterId}</filterId>
<filterName>{$ctx:filterName}</filterName>
<description>{$ctx:description}</description>
<jqlType>{$ctx:jqlType}</jqlType>
<favourite>{$ctx:favourite}</favourite>
</jira.updateFilterById>
Sample request
The following is a sample REST/JSON request that can be handled by the updateFilterById
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"filterName":"All Bugs",
"description":"Lists all bugs",
"jqlType":"Bug and resolution is empty",
"favourite":"true",
"filterId":"10101"
}
Sample response
Given below is a sample response for the updateFilterById
operation.
{
"self": "http://localhost:8080/rest/api/2/filter/10101",
"id": "10101",
"name": "All Bugs",
"description": "Lists all bugs",
"owner": {
"self": "http://localhost:8080/rest/api/2/user?username=admin",
"key": "admin",
"name": "admin",
"avatarUrls": {
"48x48": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=48",
"24x24": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=24",
"16x16": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=16",
"32x32": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=32"
},
"displayName": "[email protected]",
"active": true
},
"jql": "type = Bug AND resolution is EMPTY",
"viewUrl": "http://localhost:8080/issues/?filter=10101",
"searchUrl": "http://localhost:8080/rest/api/2/search?jql=type+%3D+Bug+AND+resolution+is+EMPTY",
"favourite": true,
"sharePermissions": [],
"editable": true,
"sharedUsers": {
"size": 0,
"items": [],
"max-results": 1000,
"start-index": 0,
"end-index": 0
},
"subscriptions": {
"size": 0,
"items": [],
"max-results": 1000,
"start-index": 0,
"end-index": 0
}
}
deleteFilter
To delete a filter, use deleteFilter
and specify the filter ID.
Parameter Name | Description | Required |
---|---|---|
filterId | Identifies the filter that you want to delete. | Yes |
Sample configuration
<jira.deleteFilter>
<filterId>{$ctx:filterId}</filterId>
</jira.deleteFilter>
Sample request
The following is a sample REST/JSON request that can be handled by the deleteFilter
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"https://testcon.atlassian.net",
"filterId":"10101"
}
Sample response
For the successful response, you will get 204 No Content status code without any body.
getGroup
This operation returns a JSON representation of the list of groups, including their names, IDs, and more.
Parameter Name | Description | Required |
---|---|---|
groupName | The name of the group that you want to get. | Yes |
expand | The parameters to expand. | Yes |
Sample configuration
<jira.getGroup>
<groupName>{$ctx:groupName}</groupName>
<expand>{$ctx:expand}</expand>
</jira.getGroup>
Sample request
The following is a sample REST/JSON request that can be handled by the getGroup
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"groupName":"jira-administrators",
"expand":"users"
}
Sample response
Given below is a sample response for the getGroup
operation.
{
"name": "jira-administrators",
"self": "http://localhost:8080/rest/api/2/group?groupname=jira-administrators",
"users": {
"size": 1,
"items": [],
"max-results": 50,
"start-index": 0,
"end-index": 0
},
"expand": "users"
}
listGroupPicker
This operation retrieves groups with substrings matching a given query.
Parameter Name | Description | Required |
---|---|---|
query | The query to match groups against. | Yes |
exclude | Exclude from the result. | Yes |
maxResults | The max results to return. | Yes |
Sample configuration
<jira.listGroupPicker>
<query>{$ctx:query}</query>
<exclude>{$ctx:exclude}</exclude>
<maxResults>{$ctx:maxResults}</maxResults>
</jira.listGroupPicker>
Sample request
The following is a sample REST/JSON request that can be handled by the listGroupPicker
operation.
{
"uri": "http://localhost:8080",
"username": "admin",
"password": "1qaz2wsx@",
"query": "administrators",
"exclude": "system-administrators",
"maxResults": "2"
}
Sample response
Given below is a sample response for the listGroupPicker
operation.
{
"header": "Showing 1 of 1 matching groups",
"total": 1,
"groups": [
{
"name": "jira-administrators",
"html": "<b>jira-administrators</b>",
"labels": [
{
"text": "Admin",
"title": "Users added to this group will be given administrative access",
"type": "ADMIN"
},
{
"text": "Jira Software",
"title": "Users added to this group will be given access to <strong>Jira Software</strong>",
"type": "SINGLE"
}
]
}
]
}
listGroupUserPicker
This operation retrieves a list of users and groups matching a query.
Parameter Name | Description | Required |
---|---|---|
query | A string used to search. This can be username, name, or email address. | Yes |
maxResults | The maximum number of users to return. | Yes |
isShowAvatar | The boolean value to show avatar. | Yes |
Sample configuration
<jira.listGroupUserPicker>
<query>{$ctx:query}</query>
<maxResults>{$ctx:maxResults}</maxResults>
<isShowAvatar>{$ctx:isShowAvatar}</isShowAvatar>
</jira.listGroupUserPicker>
Sample request
The following is a sample REST/JSON request that can be handled by the listGroupUserPicker
operation.
{
"uri": "http://localhost:8080",
"username": "admin",
"password": "1qaz2wsx@",
"query": "admin",
"maxResults": "1",
"isShowAvatar": "true"
}
Sample response
Given below is a sample response for the listGroupUserPicker
operation.
{
"users": {
"users": [],
"total": 0,
"header": "Showing 0 of 0 matching users"
},
"groups": {
"header": "Showing 1 of 1 matching groups",
"total": 1,
"groups": [
{
"name": "jira-administrators",
"html": "jira-<b>admin</b>istrators",
"labels": [
{
"text": "Admin",
"title": "Users added to this group will be given administrative access.",
"type": "ADMIN"
},
{
"text": "Jira Software",
"title": "Users added to this group will be given access to <strong>Jira Software</strong>.",
"type": "SINGLE"
}
]
}
]
}
}
getIssue
To get an existing issue, use getIssue
and specify the issue ID.
Parameter Name | Description | Required |
---|---|---|
issueIdOrKey | Identifies the issue to retrieve. This can be an issue ID, or an issue key. | Yes |
fields | The list of fields to return for the issue. | Yes |
expand | The parameters to expand. | Yes |
Sample configuration
<jira.getIssue>
<issueIdOrKey>{$ctx:issueIdOrKey}</issueIdOrKey>
<fields>{$ctx:fields}</fields>
<expand>{$ctx:expand}</expand>
</jira.getIssue>
Sample request
The following is a sample REST/JSON request that can be handled by the getIssue
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"issueIdOrKey":"EX-1"
}
Sample response
Given below is a sample response for the getIssue
operation.
{
"id": "10002",
"self": "http://localhost:8080/jira/rest/api/2/issue/10002",
"key": "EX-1",
"fields": {
"sub-tasks": [],
"timetracking": {
"originalEstimate": "10m",
"remainingEstimate": "3m",
"timeSpent": "6m",
"originalEstimateSeconds": 600,
"remainingEstimateSeconds": 200,
"timeSpentSeconds": 400
},
"project": {
"self": "http://localhost:8080/jira/rest/api/2/project/EX",
"id": "10000",
"key": "EX",
"name": "Example",
"avatarUrls": {
"24x24": "http://localhost:8080/jira/secure/projectavatar?size=small&pid=10000",
"16x16": "http://localhost:8080/jira/secure/projectavatar?size=xsmall&pid=10000",
"32x32": "http://localhost:8080/jira/secure/projectavatar?size=medium&pid=10000",
"48x48": "http://localhost:8080/jira/secure/projectavatar?size=large&pid=10000"
}
},
"updated": 1,
"description": "example bug report",
"issuelinks": [
{
"id": "10001",
"type": {
"id": "10000",
"name": "Dependent",
"inward": "depends on",
"outward": "is depended by"
},
"outwardIssue": {
"id": "10004L",
"key": "PRJ-2",
"self": "http://localhost:8080/jira/rest/api/2/issue/PRJ-2",
"fields": {
"status": {
"iconUrl": "http://localhost:8080/jira//images/icons/statuses/open.png",
"name": "Open"
}
}
}
}
],
"attachment": [],
"watcher": {
"self": "http://localhost:8080/jira/rest/api/2/issue/EX-1/watchers",
"isWatching": false,
"watchCount": 1,
"watchers": []
},
"comment": [],
"worklog": []
}
}
createIssue
To create a new issue (or task), use createIssue
and set the following properties.
Parameter Name | Description | Required |
---|---|---|
projectKey | The key (unique identifier) of the project in which you are creating the issue. | Yes |
issueFields | Fields of the issue. | Yes |
Sample configuration
<jira.createIssue>
<projectKey>{$ctx:projectKey}</projectKey>
<issueFields>{$ctx:issueFields}</issueFields>
</jira.createIssue>
Sample request
The following is a sample REST/JSON request that can be handled by the createIssue
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"issueFields":{
"fields": {
"project":{
"key": "TEST1"
},
"summary": "Hello",
"description": "test issue",
"issuetype": {
"id": "10000"
}
}
}
}
Sample response
Given below is a sample response for the createIssue
operation.
{
"id": "10000",
"key": "TEST1",
"self": "http://localhost:8080/jira/rest/api/2/issue/10000"
}
updateIssue
To update an issue, use updateIssue
and specify the issue ID.
Parameter Name | Description | Required |
---|---|---|
issueIdOrKey | The key (unique identifier) of the issue. | Yes |
issueFields | Fields of the issue. | Yes |
Sample configuration
<jira.updateIssue>
<issueIdOrKey>{$ctx:issueIdOrKey}</issueIdOrKey>
<issueFields>{$ctx:issueFields}</issueFields>
</jira.updateIssue>
Sample request
The following is a sample REST/JSON request that can be handled by the updateIssue
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"issueIdOrKey":"TEST-6",
"issueFields":{
"update":{
"summary":[
{
"set":"Bug in business logic"
}
],
"labels":[
{
"add":"triaged"
},
{
"remove":"blocker"
}
]
}
}
}
Sample response
200 will be returned if it updated the issue succesfully.
updateIssueAssignee
To assign an issue to another user, use updateIssueAssignee
and specify the issue ID.
Parameter Name | Description | Required |
---|---|---|
issueIdOrKey | Identifies the issue to update. This can be an issue ID or an issue key. | Yes |
name | The username of the user. | Yes |
Sample configuration
<jira.updateIssueAssignee>
<name>{$ctx:name}</name>
<issueIdOrKey>{$ctx:issueIdOrKey}</issueIdOrKey>
</jira.updateIssueAssignee>
Sample request
The following is a sample request that can be handled by the updateIssueAssignee
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"name":"admin",
"issueIdOrKey":"TEST-2"
}
Sample response
Returned 204 if the issue is successfully assigned.
getTransitions
To get a list of the possible transitions the current user can perform for an issue, use getTransitions
and specify the issue ID.
Parameter Name | Description | Required |
---|---|---|
issueIdOrKey | Identifies the issue to update. This can be an issue ID or an issue key. | Yes |
expand | The parameters to expand. | Yes |
Sample configuration
<jira.getTransitions>
<issueIdOrKey>{$ctx:issueIdOrKey}</issueIdOrKey>
<expand>{$ctx:expand}</expand>
</jira.getTransitions>
Sample request
The following is a sample REST/JSON request that can be handled by the getTransitions
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"issueIdOrKey":"TEST-2"
}
Sample response
Given below is a sample response for the getTransitions
operation.
{
"transitions": [
{
"id": "2",
"name": "Close Issue",
"to": {
"self": "http://localhost:8080/jira/rest/api/2.0/status/10000",
"description": "The issue is currently being worked on.",
"iconUrl": "http://localhost:8080/jira/images/icons/progress.gif",
"name": "In Progress",
"id": "10000",
"statusCategory": {
"self": "http://localhost:8080/jira/rest/api/2.0/statuscategory/1",
"id": 1,
"key": "in-flight",
"colorName": "yellow"
}
},
"fields": {...},
{
"id": "711",
"name": "QA Review",
"to": {
"self": "http://localhost:8080/jira/rest/api/2.0/status/5",
"description": "The issue is closed.",
"iconUrl": "http://localhost:8080/jira/images/icons/closed.gif",
"name": "Closed",
"id": "5",
"statusCategory": {
"self": "http://localhost:8080/jira/rest/api/2.0/statuscategory/9",
"id": 9,
"key": "completed",
"colorName": "green"
}
},
"fields": {
...
}
}
]
}
doTransition
To perform a transition on an issue, use doTransition
. Specify the issue ID and include the transition ID along with any other updates you want to make. Use the following properties:
Parameter Name | Description | Required |
---|---|---|
issueIdOrKey | Identifies the issue to update. This can be an issue ID, or an issue key. | Yes |
issueFields | Fields of the issue. | Yes |
Sample configuration
<jira.doTransition>
<issueIdOrKey>{$ctx:issueIdOrKey}</issueIdOrKey>
<issueFields>{$ctx:issueFields}</issueFields>
</jira.doTransition>
Sample request
The following is a sample request that can be handled by the doTransitions
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"issueIdOrKey":"TEST-2"
"issueFields":{
"update": {
"comment": [
{
"add": {
"body": "Bug has been fixed."
}
}
]
},
"transition": {
"id": "11"
}
}
}
Sample response
Returned 204 if the transition was successful.
getComments
To get the comments for an issue, use getComments
with the issue ID.
Parameter Name | Description | Required |
---|---|---|
issueIdOrKey | Identifies the issue that has the comments. This can be an issue ID, or an issue key. | Yes |
expand | The parameters to expand. | Yes |
Sample configuration
<jira.getComments>
<issueIdOrKey>{$ctx:issueIdOrKey}</issueIdOrKey>
<expand>{$ctx:expand}</expand>
</jira.getComments>
Sample request
The following is a sample request that can be handled by the getComments
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"issueIdOrKey":"TEST-2"
}
Sample response
Given below is a sample response for the getComments operation.
{
"startAt": 0,
"maxResults": 1,
"total": 1,
"comments": [
{
"self": "http://localhost:8080/jira/rest/api/2/issue/10010/comment/10000",
"id": "10000",
"author": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"displayName": "Fred F. User",
"active": false
},
"body": "Testing.",
"updateAuthor": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"displayName": "Fred F. User",
"active": false
},
"created": "2013-08-23T16:57:35.982+0200",
"updated": "2013-08-23T16:57:35.983+0200",
"visibility": {
"type": "role",
"value": "Administrators"
}
}
]
}
postComment
To post a comment to an issue, use postComment
with the following properties.
Parameter Name | Description | Required |
---|---|---|
issueIdOrKey | Identifies the issue to which you are adding this comment. This can be an issue ID or an issue key. | Yes |
Comment | The text to post as the comment. | Yes |
visibleRole | User role that can view the comment. | Yes |
expand | The parameters to expand. | Yes |
Sample configuration
<jira.postComment>
<issueIdOrKey>{$ctx:issueIdOrKey}</issueIdOrKey>
<comment>{$ctx:comment}</comment>
<visibleRole>{$ctx:visibleRole}</visibleRole>
<expand>{$ctx:expand}</expand>
</jira.postComment>
Sample request
The following is a sample request that can be handled by the postComment
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"issueIdOrKey":"TEST-1",
"comment":"Waiting to hear back from the legal department.",
"visibleRole":"Administrators"
}
Sample response
Given below is a sample response for the postComment
operation.
{
"self": "http://localhost:8080/jira/rest/api/2/issue/10010/comment/10000",
"id": "10000",
"author": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"displayName": "Fred F. User",
"active": false
},
"body": "Testing issue",
"updateAuthor": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"displayName": "Fred F. User",
"active": false
},
"created": "2013-08-23T16:57:35.982+0200",
"updated": "2013-08-23T16:57:35.983+0200",
"visibility": {
"type": "role",
"value": "Administrators"
}
}
updateComment
To update an existing comment, use the updateComment
operation.
Parameter Name | Description | Required |
---|---|---|
issueIdOrKey | Identifies the issue with the comments you want to update. This can be an issue ID, or an issue key. If the issue cannot be found via an exact match, Jira will also look for the issue in a case-insensitive way, or by looking to see if the issue was moved. | Yes |
commentId | Identifies the comment you are updating. | Yes |
comment | A string containing the comment to be posted. | Yes |
visibleRole | A String containing the visible role. | Yes |
expand | The parameters to expand. The 'renderedBody' optional parameter provides the body rendered in HTML. | Yes |
Sample configuration
<jira.updateComment>
<commentId>{$ctx:commentId}</commentId>
<issueIdOrKey>{$ctx:issueIdOrKey}</issueIdOrKey>
<comment>{$ctx:comment}</comment>
<visibleRole>{$ctx:visibleRole}</visibleRole>
</jira.updateComment>
Sample request
The following is a sample request that can be handled by the updateComment
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"issueIdOrKey":"TEST-1",
"commentId":"10000",
"comment":"is this a bug?",
"visibleRole":"Administrators"
}
Sample response
Given below is a sample response for the updateComment operation.
{
"self": "http://localhost:8080/jira/rest/api/2/issue/10010/comment/10000",
"id": "10000",
"author": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"displayName": "Fred F. User",
"active": false
},
"body": "Testing.",
"updateAuthor": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"displayName": "Fred F. User",
"active": false
},
"created": "2013-08-23T16:57:35.982+0200",
"updated": "2013-08-23T16:57:35.983+0200",
"visibility": {
"type": "role",
"value": "Administrators"
}
}
deleteComment
To delete an existing comment, use deleteComment
.
Parameter Name | Description | Required |
---|---|---|
issueIdOrKey | Identifies the issue with the comments that you want to delete. This can be an issue ID or an issue key. | Yes |
commentId | Identifies the comment you are deleting. | Yes |
Sample configuration
<jira.deleteComment>
<issueIdOrKey>{$ctx:issueIdOrKey}</issueIdOrKey>
<commentId>{$ctx:commentId}</commentId>
</jira.deleteComment>
Sample request
The following is a sample request that can be handled by the deleteComment
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"issueIdOrKey":"TEST-2",
"commentId":"10000"
}
Sample response
Returned 204 if delete is successful.
addAttachmentToIssueId
To add one or more attachments to an issue, use addAttachmentToIssueId
with the issue ID.
Parameter Name | Description | Required |
---|---|---|
issueIdOrKey | Identifies the issue to which you are adding attachments. This can be an issue ID or an issue key. | Yes |
Info
Multipart/form-data cannot be processed inside the server. Therefore, the Micro Integrator/ESB should be in a content-unaware status. To achieve this, configure a pass-through proxy, build the message from the client end, and then send it to the proxy.
Sample configuration
<jira.addAttachmentToIssueId>
<issueIdOrKey>{$url:issueIdOrKey}</issueIdOrKey>
</jira.addAttachmentToIssueId>
Sample response
Given below is a sample response to the addAttachmentToIssueId
operation.
[
{
"self": "http://localhost:8080/jira/rest/api/2.0/attachments/10000",
"filename": "picture.jpg",
"author": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"24x24": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"16x16": "http://localhost:8080/jira/secure/useravatar?size=xsmall&ownerId=fred",
"32x32": "http://localhost:8080/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
},
"created": "2013-08-23T16:57:35.977+0200",
"size": 23123,
"mimeType": "image/jpeg",
"content": "http://localhost:8080/jira/attachments/10000",
"thumbnail": "http://localhost:8080/jira/secure/thumbnail/10000"
}
]
getIssuePriorities
To get the priorities available for issues, use getIssuePriorities
. This operation returns detailed information about each priority, including its name, ID, and more.
Sample configuration
<jira.getIssuePriorities/>
Sample request
The following is a sample request that can be handled by the getIssuePriorities
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080"
}
Sample response
Given below is a sample response for the getIssuePriorities operation.
[
{
"self": "http://localhost:8080/jira/rest/api/2/priority/3",
"statusColor": "#009900",
"description": "Major loss of function.",
"iconUrl": "http://localhost:8080/jira/images/icons/priorities/major.png",
"name": "Major"
}
]
getIssuePriorityById
To get information on a specific priority, use getIssuePriorityById
and specify the priority ID.
Parameter Name | Description | Required |
---|---|---|
issuePriorityId | Identifies the priority for retrieving information. | Yes |
Sample configuration
<jira.getIssuePriorityById>
<issuePriorityId>{$ctx:issuePriorityId}</issuePriorityId>
</jira.getIssuePriorityById>
Sample request
The following is a sample request that can be handled by the getIssuePriorityById
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"issuePriorityId":"3"
}
Sample response
Given below is a sample response for the getIssuePriorityById
operation.
{
"self": "http://localhost:8080/jira/rest/api/2/priority/3",
"statusColor": "#009900",
"description": "Major loss of function.",
"iconUrl": "http://localhost:8080/jira/images/icons/priorities/major.png",
"name": "Major"
}
getIssueTypes
To get the types of issues available in this Jira instance, use getIssueTypes
. This operation returns detailed information about each issue type, including its name, ID, and more.
Sample configuration
<jira.getIssueTypes/>
Sample request
The following is a sample request that can be handled by the getIssueTypes
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080"
}
Sample response
Given below is a sample response for the getIssueTypes
operation.
[
{
"self": "http://localhost:8080/jira/rest/api/2.0/issueType/3",
"id": "3",
"description": "A task that needs to be done.",
"iconUrl": "http://localhost:8080/jira/images/icons/issuetypes/task.png",
"name": "Task",
"subtask": false
}
]
getIssueTypeById
To get information on a specific issue type, use getIssueTypeById
with the type ID.
Parameter Name | Description | Required |
---|---|---|
issueTypeId | Identifies the issue type to filter the issues that you want to get. | Yes |
Sample configuration
<jira.getIssueTypeById>
<issueTypeId>{$ctx:issueTypeId}</issueTypeId>
</jira.getIssueTypeById>
Sample request
The following is a sample request that can be handled by the getIssueTypeById
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"issueTypeId":"3"
}
Sample response
Given below is a sample response for the getIssueTypeById
operation.
{
"self": "http://localhost:8080/jira/rest/api/2.0/issueType/3",
"id": "3",
"description": "A task that needs to be done.",
"iconUrl": "http://localhost:8080/jira/images/icons/issuetypes/task.png",
"name": "Task",
"subtask": false
}
getVotesForIssue
To get the votes for a specific issue, use getVotesForIssue
with the issue ID. This operation returns a JSON representation of the vote information including the number of votes and more.
Parameter Name | Description | Required |
---|---|---|
issueIdOrKey | Identifies the issue with the votes that you want to get. This can be an issue ID or an issue key. | Yes |
Sample configuration
<jira.getVotesForIssue>
<issueIdOrKey>{$ctx:issueIdOrKey}</issueIdOrKey>
</jira.getVotesForIssue>
Sample request
The following is a sample request that can be handled by the getVotesForIssue
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"issueIdOrKey":"TEST-1"
}
Sample response
Given below is a sample response for the getVotesForIssue
operation.
{
"self": "http://localhost:8080/jira/rest/api/issue/TEST-1/votes",
"votes": 24,
"hasVoted": true,
"voters": [
{
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"24x24": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"16x16": "http://localhost:8080/jira/secure/useravatar?size=xsmall&ownerId=fred",
"32x32": "http://localhost:8080/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
}
]
}
createBulkIssue
This operation creates many issues in one bulk operation.
Parameter Name | Description | Required |
---|---|---|
issueUpdates | The array of objects containing the issue details. | Yes |
Sample configuration
<jira.createBulkIssue>
<issueUpdates>{$ctx:issueUpdates}</issueUpdates>
</jira.createBulkIssue>
Sample request
The following is a sample request that can be handled by the createBulkIssue
operation.
{
"uri": "http://localhost:8080",
"username": "admin",
"password": "1qaz2wsx@",
"issueUpdates": [
{
"update": {},
"fields": {
"project": {
"id": "10000"
},
"summary": "something's very wrong",
"issuetype": {
"id": "10000"
}
}
}
]
}
Sample response
Given below is a sample response for the createBulkIssue operation.
{
"issues": [
{
"id": "10000",
"key": "TST-24",
"self": "http://localhost:8080/jira/rest/api/2/issue/10000"
},
{..}
],
"errors": []
}
assignIssueToUser
This operation assigns an issue to a user.
Parameter Name | Description | Required |
---|---|---|
issueIdOrKey | A string containing an issue key. | Yes |
name | The name of the assignee. | Yes |
Sample configuration
<jira.assignIssueToUser>
<name>{$ctx:name}</name>
<issueIdOrKey>{$ctx:issueIdOrKey}</issueIdOrKey>
</jira.assignIssueToUser>
Sample request
The following is a sample request that can be handled by the assignIssueToUser
operation.
{
"uri": "https://connector.atlassian.net",
"username": "admin",
"password": "1qaz2wsx@",
"name": "vrajenthiran",
"issueIdOrKey": "WSO2CON-4"
}
Sample response
Returned 204 if the issue is successfully assigned.
getCommentById
This operation retrieves all comments for an issue.
Parameter Name | Description | Required |
---|---|---|
commentId | The unique identifier of the comment. | Yes |
expand | The parameters to expand. The optional 'renderedBody' flag provides the body rendered in HTML. | Yes |
issueIdOrKey | A string containing the issue ID or key to which the comment belongs. | Yes |
Sample configuration
<jira.getCommentById>
<commentId>{$ctx:commentId}</commentId>
<expand>{$ctx:expand}</expand>
<issueIdOrKey>{$ctx:issueIdOrKey}</issueIdOrKey>
</jira.getCommentById>
Sample request
The following is a sample request that can be handled by the getCommentById
operation.
{
"uri": "http://localhost:8080",
"username": "admin",
"password": "1qaz2wsx@",
"commentId" : "10000",
"issueIdOrKey":"TESTPM1-3"
}
Sample response
Given below is a sample response for the getCommentById
operation.
{
"startAt": 0,
"maxResults": 1,
"total": 1,
"comments": [
{
"self": "http://localhost:8080/jira/rest/api/2/issue/10010/comment/10000",
"id": "10000",
"author": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"displayName": "Fred F. User",
"active": false
},
"body": "Testing.",
"updateAuthor": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"displayName": "Fred F. User",
"active": false
},
"created": "2013-08-23T16:57:35.982+0200",
"updated": "2013-08-23T16:57:35.983+0200",
"visibility": {
"type": "role",
"value": "Administrators"
}
}
]
}
sendNotification
This operation sends a notification (email) to the list or recipients defined in the request.
Parameter Name | Description | Required |
---|---|---|
subject | The subject of the notification. | Yes |
issueIdOrKey | A string containing the issue ID or key to which the comment will be added. | Yes |
textBody | The text body of the notification. | Yes |
htmlBody | The HTML body of the notification. | Yes |
toReporter | The boolean flag to indicate whether to notify the reporter. | Yes |
toAssignee | The boolean flag to indicate whether to notify the assignee. | Yes |
toWatchers | The boolean flag to indicate whether to notify the watchers. | Yes |
toVoters | The boolean flag to indicate whether to notify the voters. | Yes |
toUsers | The boolean flag to indicate whether to notify the users. | Yes |
toGroups | The array of notification groups to be notified. | Yes |
restrictGroups | The Array of notification groups to be restricted. | Yes |
restrictPermissions | The array of restricted permissions for the notification. | Yes |
Sample configuration
<jira.sendNotification>
<subject>{$ctx:subject}</subject>
<issueIdOrKey>{$ctx:issueIdOrKey}</issueIdOrKey>
<textBody>{$ctx:textBody}</textBody>
<htmlBody>{$ctx:htmlBody}</htmlBody>
<toReporter>{$ctx:toReporter}</toReporter>
<toAssignee>{$ctx:toAssignee}</toAssignee>
<toWatchers>{$ctx:toWatchers}</toWatchers>
<toVoters>{$ctx:toVoters}</toVoters>
<toUsers>{$ctx:toUsers}</toUsers>
<toGroups>{$ctx:toGroups}</toGroups>
<restrictGroups>{$ctx:restrictGroups}</restrictGroups>
<restrictPermissions>{$ctx:restrictPermissions}</restrictPermissions>
</jira.sendNotification>
Sample request
The following is a sample request that can be handled by the sendNotification
operation.
{
"uri": "http://localhost:8080",
"username": "admin",
"password": "1qaz2wsx@",
"issueIdOrKey" : "TESTPM1-3",
"subject" : "notification subject",
"textBody":"The text body",
"htmlBody":"Lorem ipsum <strong>dolor</strong> sit amet, consectetur adipiscing elit. Pellentesque eget",
"toReporter":"false",
"toAssignee":"false",
"toWatchers":"true",
"toVoters":"true",
"toUsers":[
{
"name": "vrajenthiran",
"active": false
}
],
"toGroups":[
{
"name": "notification-group",
"self": "http://localhost:8080/jira/rest/api/2/group?groupname=notification-group"
}
],
"restrictPermissions":[
{
"id": "10",
"key": "BROWSE"
}
], "restrictGroups": [
{
"name": "notification-group",
"self": "http://localhost:8080/jira/rest/api/2/group?groupname=notification-group"
}
]
}
Sample response
Returned 204 if adding to the mail queue was successful.
addVotesForIssue
This operation casts your vote in favour of an issue.
Parameter Name | Description | Required |
---|---|---|
issueId | The ID of the issues to which you are casting the votes. | Yes |
Sample configuration
<jira.addVotesForIssue>
<issueId>{$ctx:issueId}</issueId>
</jira.addVotesForIssue>
Sample request
The following is a sample request that can be handled by the addVotesForIssue
operation.
{
"uri": "https://testappmahesh.atlassian.net",
"username": "testapp.mahesh2",
"password": "1qaz2wsx@",
"issueId":"TP-1"
}
Sample response
Returned 204 if adding to the mail queue was successful.
getWatchersForIssue
This operation retrieves the list of watchers for the issue with the given key.
Parameter Name | Description | Required |
---|---|---|
issueId | The string containing an issue key. | Yes |
Sample configuration
<jira.getWatchersForIssue>
<issueId>{$ctx:issueId}</issueId>
</jira.getWatchersForIssue>
Sample request
Following is a sample request that can be handled by the getWatchersForIssue
operation.
{
"uri":"http://localhost:8080",
"username":"admin",
"password":"1qaz2wsx@",
"issueId":"EX-1"
}
Sample response
Given below is a sample response for the getWatchersForIssue
operation.
{
"self": "http://localhost:8080/jira/rest/api/2/issue/EX-1/watchers",
"isWatching": false,
"watchCount": 1,
"watchers": [
{
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"24x24": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"16x16": "http://localhost:8080/jira/secure/useravatar?size=xsmall&ownerId=fred",
"32x32": "http://localhost:8080/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
}
]
}
removeUserFromWatcherList
This operation removes a user from an issue's watcher list.
Parameter Name | Description | Required |
---|---|---|
name | String containing the name of the user to remove. | Yes |
issueId | String containing an issue key. | Yes |
Sample configuration
<jira.removeUserFromWatcherList>
<name>{$ctx:name}</name>
<issueId>{$ctx:issueId}</issueId>
</jira.removeUserFromWatcherList>
Sample request
The following is a sample request that can be handled by the removeUserFromWatcherList
operation.
{
"uri":"https://connector.atlassian.net",
"username":"admin",
"password":"1qaz2wsx@",
"issueId":"TESTPM1-3",
"name" : "rasika"
}
Sample response
Returned 204 if the watcher was removed successfully.
getProject
To get information about a specific project, use getProject
with the project key. This operation returns a JSON representation of the entire project, including name, ID, components, and more.
Parameter Name | Description | Required |
---|---|---|
projectIdOrKey | The Identifier of the project that you want to get. | Yes |
expand | The parameters to expand. | Yes |
Sample configuration
<jira.getProject>
<projectIdOrKey>{$ctx:projectIdOrKey}</projectIdOrKey>
<expand>{$ctx:expand}</expand>
</jira.getProject>
Sample request
The following is a sample request that can be handled by the getProject
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"projectIdOrKey":"EX"
}
Sample response
Given below is a sample response for the getProject
operation.
{
"self": "http://localhost:8080/jira/rest/api/2/project/EX",
"id": "10000",
"key": "EX",
"description": "This project was created as an example for REST.",
"lead": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"24x24": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"16x16": "http://localhost:8080/jira/secure/useravatar?size=xsmall&ownerId=fred",
"32x32": "http://localhost:8080/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
},
"components": [
{
"self": "http://localhost:8080/jira/rest/api/2/component/10000",
"id": "10000",
"name": "Component 1",
"description": "This is a JIRA component",
"lead": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"24x24": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"16x16": "http://localhost:8080/jira/secure/useravatar?size=xsmall&ownerId=fred",
"32x32": "http://localhost:8080/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
},
"assigneeType": "PROJECT_LEAD",
"assignee": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"24x24": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"16x16": "http://localhost:8080/jira/secure/useravatar?size=xsmall&ownerId=fred",
"32x32": "http://localhost:8080/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
},
"realAssigneeType": "PROJECT_LEAD",
"realAssignee": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"24x24": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"16x16": "http://localhost:8080/jira/secure/useravatar?size=xsmall&ownerId=fred",
"32x32": "http://localhost:8080/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
},
"isAssigneeTypeValid": false
}
],
..
}
getAvatarsForProject
To get the avatars available for a specific project, use getAvatarsForProject
with the project key. This operation returns a JSON representation of the avatars, including their name, ID, and whether the avatar is currently selected for the project.
Parameter Name | Description | Required |
---|---|---|
projectIdOrKey | The identifier of the project that you want to get. | Yes |
Sample configuration
<jira.getAvatarsForProject>
<projectIdOrKey>{$ctx:projectIdOrKey}</projectIdOrKey>
</jira.getAvatarsForProject>
Sample request
The following is a sample request that can be handled by the getAvatarsForProject
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"projectIdOrKey":"TEST"
}
Sample response
Given below is a sample response for the getAvatarsForProject
operation.
{
"system": [
{
"id": "1000",
"owner": "fred",
"isSystemAvatar": true,
"isSelected": true,
"selected": true
}
],
"custom": [
{
"id": "1010",
"owner": "andrew",
"isSystemAvatar": false,
"isSelected": false,
"selected": false
}
]
}
deleteAvatarForProject
To delete an avatar from a project, use deleteAvatarForProject
with the project key and avatar ID.
Parameter Name | Description | Required |
---|---|---|
projectIdOrKey | The identifier of the project that you want to get. | Yes |
avatarId | Identifies the avatar to delete. | Yes |
Sample configuration
<jira.deleteAvatarForProject>
<projectIdOrKey>{$ctx:projectIdOrKey}</projectIdOrKey>
<avatarId>{$ctx:avatarId}</avatarId>
</jira.deleteAvatarForProject>
Sample request
The following is a sample request that can be handled by the deleteAvatarForProject
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"projectIdOrKey":"TEST",
"avatarId":"10412"
}
Sample response
204 will returned if the avatar is successfully deleted.
getComponentsOfProject
To get the components of a specific project, use getComponentsOfProject
with the project key. This operation returns a JSON representation of the components, including their name, ID, and avatars.
Parameter Name | Description | Required |
---|---|---|
projectIdOrKey | The identifier of the project that you want to get. | Yes |
Sample configuration
<jira.getComponentsOfProject>
<projectIdOrKey>{$ctx:projectIdOrKey}</projectIdOrKey>
</jira.getComponentsOfProject>
Sample request
The following is a sample request that can be handled by the getComponentsOfProject
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"projectIdOrKey":"TEST"
}
Sample response
Given below is a sample response for the getComponentsOfProject
operation.
[
{
"self": "http://localhost:8080/jira/rest/api/2/component/10000",
"id": "10000",
"name": "Component 1",
"description": "This is a JIRA component",
"lead": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"24x24": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"16x16": "http://localhost:8080/jira/secure/useravatar?size=xsmall&ownerId=fred",
"32x32": "http://localhost:8080/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
},
"assigneeType": "PROJECT_LEAD",
"assignee": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"24x24": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"16x16": "http://localhost:8080/jira/secure/useravatar?size=xsmall&ownerId=fred",
"32x32": "http://localhost:8080/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
},
"realAssigneeType": "PROJECT_LEAD",
"realAssignee": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"24x24": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"16x16": "http://localhost:8080/jira/secure/useravatar?size=xsmall&ownerId=fred",
"32x32": "http://localhost:8080/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
},
"isAssigneeTypeValid": false
},
...
]
getStatusesOfProject
To get the statuses of a specific project, use getStatusesOfProject
with the project key. This operation returns a JSON representation of each issue type in the project along with the status values.
Parameter Name | Description | Required |
---|---|---|
projectIdOrKey | The identifier of the project that you want to get. | Yes |
Sample configuration
<jira.getStatusesOfProject>
<projectIdOrKey>{$ctx:projectIdOrKey}</projectIdOrKey>
</jira.getStatusesOfProject>
Sample request
The following is a sample request that can be handled by the getStatusesOfProject
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"projectIdOrKey":"TEST"
}
Sample response
Given below is a sample response for the getStatusesOfProject
operation.
[
{
"self": "http://localhost:8090/jira/rest/api/2.0/issueType/3",
"id": "3",
"name": "Task",
"subtask": false,
"statuses": [
{
"self": "http://localhost:8090/jira/rest/api/2.0/status/10000",
"description": "The issue is currently being worked on.",
"iconUrl": "http://localhost:8090/jira/images/icons/progress.gif",
"name": "In Progress",
"id": "10000"
},
{
"self": "http://localhost:8090/jira/rest/api/2.0/status/5",
"description": "The issue is closed.",
"iconUrl": "http://localhost:8090/jira/images/icons/closed.gif",
"name": "Closed",
"id": "5"
}
]
}
]
getVersionsOfProject
To get the versions of a specific project, use getVersionsOfProject
with the project key. This operation returns a JSON representation of the list of versions in the project.
Parameter Name | Description | Required |
---|---|---|
projectIdOrKey | The identifier of the project that you want to get. | Yes |
Sample configuration
<jira.getVersionsOfProject>
<projectIdOrKey>{$ctx:projectIdOrKey}</projectIdOrKey>
</jira.getVersionsOfProject>
Sample request
The following is a sample request that can be handled by the getVersionsOfProject
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"projectIdOrKey":"TEST"
}
Sample response
Given below is a sample response for the getVersionsOfProject
operation.
[
{
"self": "http://localhost:8080/jira/rest/api/2/version/10000",
"id": "10000",
"description": "An excellent version",
"name": "New Version 1",
"archived": false,
"released": true,
"releaseDate": "2010-07-06",
"overdue": true,
"userReleaseDate": "6/Jul/2010",
"projectId": 10000
},
{
"self": "http://localhost:8080/jira/rest/api/2/version/10010",
"id": "10010",
"description": "Minor Bugfix version",
"name": "Next Version",
"archived": false,
"released": false,
"overdue": false,
"projectId": 10000
}
]
getRolesOfProject
To get the roles of a specific project, use getRolesOfProject
with the project key. This operation returns a JSON representation of the list of roles in the project, including each role's name and a link to more details.
Parameter Name | Description | Required |
---|---|---|
projectIdOrKey | The Identifier of the project that you want to get. | Yes |
Sample configuration
<jira.getRolesOfProject>
<projectIdOrKey>{$ctx:projectIdOrKey}</projectIdOrKey>
</jira.getRolesOfProject>
Sample request
Following is a sample request that can be handled by the getRolesOfProject
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"projectIdOrKey":"TEST"
}
Sample response
Given below is a sample response for the getRolesOfProject
operation.
{
"Users": "http://localhost:8080/jira/rest/api/2/project/MKY/role/10001",
"Administrators": "http://localhost:8080/jira/rest/api/2/project/MKY/role/10002",
"Developers": "http://localhost:8080/jira/rest/api/2/project/MKY/role/10000"
}
getRolesByIdOfProject
To get information about a specific role, use getRolesByIdOfProject
with the project key and role ID. This operation returns a JSON representation of the role, including its name, ID, actors, and more.
Parameter Name | Description | Required |
---|---|---|
projectIdOrKey | The identifier of the project that you want to get. | Yes |
roleId | Identifies the role for which you want to get information. | Yes |
Sample configuration
<jira.getRolesByIdOfProject>
<projectIdOrKey>{$ctx:projectIdOrKey}</projectIdOrKey>
<roleId>{$ctx:roleId}</roleId>
</jira.getRolesByIdOfProject>
Sample request
The following is a sample request that can be handled by the getRolesByIdOfProject
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"projectIdOrKey":"TEST",
"roleId":"10360"
}
Sample response
Given below is a sample response for the getRolesByIdOfProject
operation.
{
"self": "http://localhost:8080/jira/rest/api/2/project/MKY/role/10360",
"name": "Developers",
"id": 10360,
"description": "A project role that represents developers in a project",
"actors": [
{
"id": 10240,
"displayName": "jira-developers",
"type": "atlassian-group-role-actor",
"name": "jira-developers"
}
]
}
getUserAssignableProjects
To get a list of users (that match the search string) that can be assigned to all projects, use getUserAssignableProjects
.
Parameter Name | Description | Required |
---|---|---|
projectKeys | The comma-separated list of projects for which you are searching for assinees. | Yes |
usernameForSearch | The username for search. | Yes |
maxResults | The maximum number of users to return. | Yes |
startAt | The index of the first user to return. | Yes |
Sample configuration
<jira.getUserAssignableProjects>
<projectKeys>{$ctx:projectKeys}</projectKeys>
<usernameForSearch>{$ctx:usernameForSearch}</usernameForSearch>
<maxResults>{$ctx:maxResults}</maxResults>
<startAt>{$ctx:startAt}</startAt>
</jira.getUserAssignableProjects>
Sample request
The following is a sample request that can be handled by the getUserAssignableProjects
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"projectKeys":"TEST",
"usernameForSearch":"fred"
}
Sample response
Given below is a sample response for the getUserAssignableProjects
operation.
[
{
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"24x24": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"16x16": "http://localhost:8080/jira/secure/useravatar?size=xsmall&ownerId=fred",
"32x32": "http://localhost:8080/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
}
..
]
setActorsToRoleOfProject
To assign one or more users to a specific role in a project, use setActorsToRoleOfProject
with the project key and role ID. You need to specify the users in the payload. You can specify individual users or groups.
Parameter Name | Description | Required |
---|---|---|
projectIdOrKey | The identifier of the project to which users should be asssigned. | Yes |
roleId | Identifies the user role to which users should be assigned. | Yes |
roles | The users who you want to assign. | Yes |
Sample configuration
<jira.setActorsToRoleOfProject>
<projectIdOrKey>{$ctx:projectIdOrKey}</projectIdOrKey>
<roleId>{$ctx:roleId}</roleId>
<roles>{$ctx:roles}</roles>
</jira.setActorsToRoleOfProject>
Sample request
The following is a sample request that can be handled by the setActorsToRoleOfProject
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"projectIdOrKey":"TEST",
"projectKey":"JAF",
"roleId":"10360",
"roles":{"user" :["James"]}
}
Sample response
Given below is a sample response for the setActorsToRoleOfProject
operation.
{
"self": "http://localhost:8080/jira/rest/api/2/project/MKY/role/10360",
"name": "Developers",
"id": 10360,
"description": "A project role that represents developers in a project",
"actors": [
...
]
}
searchJira
To get an existing issue, use searchJira
with the JQL query.
Parameter Name | Description | Required |
---|---|---|
query | The JQL expression to use for finding issues. The query must include an ORDER BY clause. For more information, see the Jira documentation. | Yes |
maxResults | The maximum number of issues to return, up to 1000 (default is 50). | Optional |
startAt | The 0-based index of the first issue to return (default is 0). | Optional |
fields | Specifies a comma-separated list of fields to be included in the response. | Yes |
validateQuery | Specify whether to validate the JQL query. | Yes |
expand | A comma-separated list of parameters to expand. | Yes |
Sample configuration
<jira.C>
<query>{$ctx:query}</query>
<maxResults>{$ctx:maxResults}</maxResults>
<startAt>{$ctx:startAt}</startAt>
<fields>{$ctx:fields}</fields>
<validateQuery>{$ctx:validateQuery}</validateQuery>
<expand>{$ctx:expand}</expand>
</jira.searchJira>
Sample request
The following is a sample REST/JSON request that can be handled by the searchJira
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"query":"text~\"issue2\""
}
Sample response
Given below is a sample response for the searchJira
operation.
{
"expand": "names,schema",
"startAt": 0,
"maxResults": 50,
"total": 1,
"issues": [
{
"expand": "",
"id": "10001",
"self": "http://localhost:8080/jira/rest/api/2/issue/10001",
"key": "HSP-1"
}
]
}
getUser
To get information about a specified user, use getUser
and specify the username.
Parameter Name | Description | Required |
---|---|---|
usernameFilter | Identifies the user whose information you want to get. | Yes |
key | The user key. | Yes |
Sample configuration
<jira.getUser>
<usernameFilter>{$ctx:usernameFilter}</usernameFilter>
<key>{$ctx:key}</key>
</jira.getUser>
Sample request
The following is a sample REST/JSON request that can be handled by the getUser
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"usernameFilter":"fred"
}
Sample response
Given below is a sample response for the getUser
operation.
{
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"emailAddress": "[email protected]",
"avatarUrls": {
"24x24": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"16x16": "http://localhost:8080/jira/secure/useravatar?size=xsmall&ownerId=fred",
"32x32": "http://localhost:8080/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": true,
"timeZone": "Australia/Sydney",
"groups": {
"size": 3,
"items": []
}
}
getUserPermissions
To get information on the current user's permissions, use getUserPermissions
. You can optionally provide a specific context for which you want to get permissions (projectKey, projectId, issueKey, or issueId).
Parameter Name | Description | Required |
---|---|---|
projectKey/projectId | Identifies the project for which you want to determine the current user's permissions. | Yes |
issueKey/issueId | Identifies the issue for which you want to determine the current user's permissions. | Yes |
Sample configuration
<jira.getUserPermissions>
<projectKey>{$ctx:projectKey}</projectKey>
<projectId>{$ctx:projectId}</projectId>
<issueKey>{$ctx:issueKey}</issueKey>
<issueId>{$ctx:issueId}</issueId>
</jira.getUserPermissions>
Sample request
The following is a sample REST/JSON request that can be handled by the getUserPermissions
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"projectKey":"TEST"
}
Sample response
Given below is a sample response for the getUserPermissions
operation.
{
"permissions": {
"EDIT_ISSUE": {
"id": "12",
"key": "EDIT_ISSUE",
"name": "Edit Issues",
"description": "Ability to edit issues.",
"havePermission": true
}
}
}
searchUser
To search for users whose username, name, or email address match a search string, use searchUser
with a search string.
Parameter Name | Description | Required |
---|---|---|
usernameForSearch | The search string used to search the username, name, or email address. | Yes |
startAt | The 0-based index of the first user to return (default is 0). | Optional |
maxResults | The maximum number of users to return, up to 1000 (default is 50). | Optional |
includeActive | Whether to return active users (default is true). | Optional |
includeInactive | Whether to return inactive users (default is false). | Optional |
Sample configuration
<jira.searchUser>
<usernameForSearch>{$ctx:usernameForSearch}</usernameForSearch>
<startAt>{$ctx:startAt}</startAt>
<maxResults>{$ctx:maxResults}</maxResults>
<includeActive>{$ctx:includeActive}</includeActive>
<includeInactive>{$ctx:includeInactive}</includeInactive>
</jira.searchUser>
Sample request
The following is a sample REST/JSON request that can be handled by the searchUser
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"usernameForSearch":"fred"
}
Sample response
Given below is a sample response for the searchUser
operation.
[
{
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"24x24": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"16x16": "http://localhost:8080/jira/secure/useravatar?size=xsmall&ownerId=fred",
"32x32": "http://localhost:8080/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
}
]
searchIssueViewableUsers
To search for users whose username, name, or email address match a search string and have permission to view the specified issue or project, use searchIssueViewableUsers
. You need to specify the search string and issue key or project key.
Parameter Name | Description | Required |
---|---|---|
username | The search string used to search the username, name, or email address. | Yes |
issueKey | Identifies the issue that users must have permission to view. This issue will be included in the results. | Yes |
projectKey | If you want to search for users who can browse a project instead of a specific issue, specify projectKey instead of issueKey. | Yes |
startAt | The 0-based index of the first user to return (default is 0). | Optional |
maxResults | The maximum number of users to return, up to 1000 (default is 50). | Optional |
Sample configuration
<jira.searchIssueViewableUsers>
<usernameForSearch>{$ctx:usernameForSearch}</usernameForSearch>
<issueKey>{$ctx:issueKey}</issueKey>
<projectKey>{$ctx:projectKey}</projectKey>
<startAt>{$ctx:startAt}</startAt>
<maxResults>{$ctx:maxResults}</maxResults>
</jira.searchIssueViewableUsers>
Sample request
The following is a sample REST/JSON request that can be handled by the searchIssueViewableUsers operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"usernameForSearch":"fred",
"projectKey":"TEST"
}
Sample response
Given below is a sample response for the searchIssueViewableUsers
operation.
[
{
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"24x24": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"16x16": "http://localhost:8080/jira/secure/useravatar?size=xsmall&ownerId=fred",
"32x32": "http://localhost:8080/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
}
]
searchAssignableUser
To search for users whose username, name, or email address match a search string and can be assigned to a specific issue, use searchAssignableUser
. You specify the search string and either the project key (if you are getting users for a new issue you are creating) or the issue key (if you are getting users for an existing issue you are editing).
Parameter Name | Description | Required |
---|---|---|
usernameForSearch | The search string used to search the username, name, or email address. | Yes |
issueKey | Identifies the issue that users must have permission to view. This issue will be included in the results. | Yes |
project | Identifies the project in which you are creating a new issue and want to get a list of users who can be assigned to it. | Yes |
issueKey | Identifies the issue you are editing so that you can get a list of users who can be assigned to it. | Yes |
startAt | The 0-based index of the first user to return (default is 0). | Optional |
maxResults | The maximum number of users to return, up to 1000 (default is 50). | Optional |
actionDescriptorId | The id of the workflow action. | Optional |
Sample configuration
<jira.searchAssignableUser>
<usernameForSearch>{$ctx:usernameForSearch}</usernameForSearch>
<project>{$ctx:project}</project>
<issueKey>{$ctx:issueKey}</issueKey>
<startAt>{$ctx:startAt}</startAt>
<maxResults>{$ctx:maxResults}</maxResults>
<actionDescriptorId>{$ctx:actionDescriptorId}</actionDescriptorId>
</jira.searchAssignableUser>
Sample request
The following is a sample REST/JSON request that can be handled by the searchAssignableUser
operation.
{
"username":"admin",
"password":"jira@jaffna",
"uri":"http://localhost:8080",
"projectKey":"TEST"
}
Sample response
Given below is a sample response for the searchAssignableUser
operation.
{
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"emailAddress": "[email protected]",
"avatarUrls": {
"24x24": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"16x16": "http://localhost:8080/jira/secure/useravatar?size=xsmall&ownerId=fred",
"32x32": "http://localhost:8080/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": true,
"timeZone": "Australia/Sydney",
"groups": {
"size": 3,
"items": []
}
}
getAttachmentById
This operation retrieves the metadata for an attachment, including the URL of the actual attached file.
Parameter Name | Description | Required |
---|---|---|
attachmentId | The ID to view the meta data of the attachment. | Yes |
Sample configuration
<jira.getAttachmentById>
<attachmentId>{$ctx:attachmentId}</attachmentId>
</jira.getAttachmentById>
Sample request
Following is a sample REST/JSON request that can be handled by the getAttachmentById
operation.
{
"uri": "http://localhost:8080",
"username": "admin",
"password": "1qaz2wsx@",
"attachmentId": "10000"
}
Sample response
Given below is a sample response for the getAttachmentById
operation.
{
"self": "http://localhost:8080/rest/api/2/attachment/10000",
"filename": "31714367_1982813478396639_3541297709187072000_n.jpg",
"author": {
"self": "http://localhost:8080/rest/api/2/user?username=admin",
"key": "admin",
"name": "admin",
"avatarUrls": {
"48x48": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=48",
"24x24": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=24",
"16x16": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=16",
"32x32": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=32"
},
"displayName": "[email protected]",
"active": true
},
"created": "2018-12-09T22:59:08.690+0530",
"size": 45364,
"mimeType": "image/jpeg",
"properties": {},
"content": "http://localhost:8080/secure/attachment/10000/31714367_1982813478396639_3541297709187072000_n.jpg",
"thumbnail": "http://localhost:8080/secure/thumbnail/10000/_thumb_10000.png"
}
getAttachmentContent
This operation retrieves the content of an attachment.
Parameter Name | Description | Required |
---|---|---|
attachmentUrl | The URI of the attached file. | Yes |
fileType | Type of the attachment. | Yes |
Sample configuration
<jira.getAttachmentContent>
<attachmentUrl>{$ctx:attachmentUrl}</attachmentUrl>
<fileType>{$ctx:fileType}</fileType>
</jira.getAttachmentContent>
Sample request
The following is a sample REST/JSON request that can be handled by the getAttachmentContent operation.
{
"uri": "http://localhost:8080",
"username": "admin",
"password": "1qaz2wsx@",
"attachmentUrl": "http://localhost:8080/secure/attachment/10000/31714367_1982813478396639_3541297709187072000_n.jpg",
"fileType":"image/jpg"
}
Sample response
You will get 200 response code with the attached image as a response.
createComponent
The createComponent
operation creates a component.
Parameter Name | Description | Required |
---|---|---|
name | The name of the component. | Yes |
project | The key of the project to which the component should be belong. | Yes |
description | The description for the component. | Yes |
leadUserName | The key of the lead user name. | Yes |
assigneeType | The type of the assignee. | Yes |
isAssigneeTypeValid | A boolean, which specifies whether or not the assignee type is valid. | Yes |
Sample configuration
<jira.createComponent>
<name>{$ctx:name}</name>
<project>{$ctx:project}</project>
<description>{$ctx:description}</description>
<leadUserName>{$ctx:leadUserName}</leadUserName>
<assigneeType>{$ctx:assigneeType}</assigneeType>
<isAssigneeTypeValid>{$ctx:isAssigneeTypeValid}</isAssigneeTypeValid>
</jira.createComponent>
Sample request
The following is a sample REST/JSON request that can be handled by the createComponent
operation.
{
"uri": "http://localhost:8080",
"username": "admin",
"password": "1qaz2wsx@",
"name": "testing component1",
"project": "TESTPM1",
"description": "test description",
"leadUserName": "admin",
"assigneeType": "PROJECT_LEAD",
"isAssigneeTypeValid": "false"
}
Sample response
Given below is a sample response for the createComponent
operation.
{
"self": "http://localhost:8080/jira/rest/api/2/component/10000",
"id": "10000",
"name": "Component 1",
"description": "This is a JIRA component",
"lead": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"16x16": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
},
"assigneeType": "PROJECT_LEAD",
"assignee": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"16x16": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
},
"realAssigneeType": "PROJECT_LEAD",
"realAssignee": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"16x16": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
},
"isAssigneeTypeValid": false
}
getComponent
The getComponent
operation retrieves a project component.
Parameter Name | Description | Required |
---|---|---|
componentId | The unique identifier for a particular component. | Yes |
Sample configuration
<jira.getComponent>
<componentId>{$ctx:componentId}</componentId>
</jira.getComponent>
Sample request
The following is a sample REST/JSON request that can be handled by the getComponent
operation.
{
"uri": "http://localhost:8080",
"username": "admin",
"password": "1qaz2wsx@",
"componentId": "10000"
}
Sample response
Given below is a sample response for the getComponent
operation.
{
"self": "http://localhost:8080/jira/rest/api/2/component/10000",
"id": "10000",
"name": "Component 1",
"description": "This is a JIRA component",
"lead": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"16x16": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
},
"assigneeType": "PROJECT_LEAD",
"assignee": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"16x16": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
},
"realAssigneeType": "PROJECT_LEAD",
"realAssignee": {
"self": "http://localhost:8080/jira/rest/api/2/user?username=fred",
"name": "fred",
"avatarUrls": {
"16x16": "http://localhost:8080/jira/secure/useravatar?size=small&ownerId=fred",
"48x48": "http://localhost:8080/jira/secure/useravatar?size=large&ownerId=fred"
},
"displayName": "Fred F. User",
"active": false
},
"isAssigneeTypeValid": false
}
updateComponent
The updateComponent
operation modifies a component.
Parameter Name | Description | Required |
---|---|---|
componentId | The unique identifier for a particular component. | Yes |
name | The name of the component. | Yes |
description | The description for the component. | Yes |
leadUserName | The key of the lead username. | Yes |
assigneeType | The type of the assignee. | Yes |
isAssigneeTypeValid | A boolean, which specifies whether or not the assignee type is valid. | Yes |
Sample configuration
<jira.updateComponent>
<componentId>{$ctx:componentId}</componentId>
<name>{$ctx:name}</name>
<description>{$ctx:description}</description>
<leadUserName>{$ctx:leadUserName}</leadUserName>
<assigneeType>{$ctx:assigneeType}</assigneeType>
<isAssigneeTypeValid>{$ctx:isAssigneeTypeValid}</isAssigneeTypeValid>
</jira.updateComponent>
Sample request
The following is a sample REST/JSON request that can be handled by the updateComponent
operation.
{
"uri": "http://localhost:8080",
"username": "admin",
"password": "1qaz2wsx@",
"componentId": "10000",
"name": "testing component1",
"description": "test description",
"leadUserName": "admin",
"assigneeType": "PROJECT_LEAD",
"isAssigneeTypeValid": "false"
}
Sample response
Given below is a sample response for the updateComponent
operation.
{
"self": "http://localhost:8080/rest/api/2/component/10000",
"id": "10000",
"name": "testing component1",
"description": "test description",
"lead": {
"self": "http://localhost:8080/rest/api/2/user?username=admin",
"key": "admin",
"name": "admin",
"avatarUrls": {
"48x48": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=48",
"24x24": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=24",
"16x16": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=16",
"32x32": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=32"
},
"displayName": "[email protected]",
"active": true
},
"assigneeType": "PROJECT_LEAD",
"assignee": {
"self": "http://localhost:8080/rest/api/2/user?username=admin",
"key": "admin",
"name": "admin",
"avatarUrls": {
"48x48": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=48",
"24x24": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=24",
"16x16": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=16",
"32x32": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=32"
},
"displayName": "[email protected]",
"active": true
},
"realAssigneeType": "PROJECT_LEAD",
"realAssignee": {
"self": "http://localhost:8080/rest/api/2/user?username=admin",
"key": "admin",
"name": "admin",
"avatarUrls": {
"48x48": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=48",
"24x24": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=24",
"16x16": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=16",
"32x32": "https://www.gravatar.com/avatar/9f2ee74106e4d9afc58bb796a0895908?d=mm&s=32"
},
"displayName": "[email protected]",
"active": true
},
"isAssigneeTypeValid": true,
"project": "KANA",
"projectId": 10000
}
countComponentRelatedIssues
The countComponentRelatedIssues
operation retrieves counts of issues related to this component.
Parameter Name | Description | Required |
---|---|---|
componentId | The unique identifier for a particular component. | Yes |
Sample configuration
<jira.countComponentRelatedIssues>
<componentId>{$ctx:componentId}</componentId>
</jira.countComponentRelatedIssues>
Sample request
The following is a sample REST/JSON request that can be handled by the countComponentRelatedIssues
operation.
{
"uri": "http://localhost:8080",
"username": "admin",
"password": "1qaz2wsx@",
"componentId": "10000"
}
Sample response
Given below is a sample response for the searchIssueViewableUsers
operation.
{
"self": "http://localhost:8080/jira/rest/api/2/component/10000",
"issueCount": 23
}
createIssueLink
The createIssueLink
operation creates an issue link between two issues.
Parameter Name | Description | Required |
---|---|---|
typeName | Name of the issue type. | Yes |
inwardIssueKey | Key of the inward issue. | Yes |
outwardIssueKey | Key of the outward issue. | Yes |
commentBody | Body of the comment. | Yes |
commentVisibility | Visibility of the comment. | Yes |
Sample configuration
<jira.createIssueLink>
<typeName>{$ctx:typeName}</typeName>
<inwardIssueKey>{$ctx:inwardIssueKey}</inwardIssueKey>
<outwardIssueKey>{$ctx:outwardIssueKey}</outwardIssueKey>
<commentBody>{$ctx:commentBody}</commentBody>
<commentVisibility>{$ctx:commentVisibility}</commentVisibility>
</jira.createIssueLink>
Sample request
The following is a sample REST/JSON request that can be handled by the createIssueLink
operation.
{
"uri": "http://localhost:8080",
"username": "admin",
"password": "1qaz2wsx@",
"typeName": "Duplicate",
"inwardIssueKey": "TESTPM1-1",
"outwardIssueKey": "TESTPM1-2",
"commentBody": "Linked related issue!",
"commentVisibility": {
"type": "group",
"value": "jira-users"
}
}
Sample response
As a successful response, you will get 201 status code without any response body.
getIssueLinkById
The getIssueLinkById
operation retrieves an issue link with the specified ID.
Parameter Name | Description | Required |
---|---|---|
linkId | The issue link ID. | Yes |
Sample configuration
<jira.getIssueLinkById>
<linkId>{$ctx:linkId}</linkId>
</jira.getIssueLinkById>
Sample request
The following is a sample REST/JSON request that can be handled by the getIssueLinkById
operation.
{
"uri": "http://localhost:8080",
"username": "admin",
"password": "1qaz2wsx@",
"linkId": "10000"
}
Sample response
Given below is a sample response for the getIssueLinkById
operation.
{
"id": "10000",
"self": "http://localhost:8080/rest/api/2/issueLink/10000",
"type": {
"id": "10002",
"name": "Duplicate",
"inward": "is duplicated by",
"outward": "duplicates",
"self": "http://localhost:8080/rest/api/2/issueLinkType/10002"
},
"inwardIssue": {
"id": "10002",
"key": "KANA-3",
"self": "http://localhost:8080/rest/api/2/issue/10002",
"fields": {
"summary": "New task",
"status": {
"self": "http://localhost:8080/rest/api/2/status/10000",
"description": "",
"iconUrl": "http://localhost:8080/",
"name": "To Do",
"id": "10000",
"statusCategory": {
"self": "http://localhost:8080/rest/api/2/statuscategory/2",
"id": 2,
"key": "new",
"colorName": "blue-gray",
"name": "To Do"
}
},
"priority": {
"self": "http://localhost:8080/rest/api/2/priority/3",
"iconUrl": "http://localhost:8080/images/icons/priorities/medium.svg",
"name": "Medium",
"id": "3"
},
"issuetype": {
"self": "http://localhost:8080/rest/api/2/issuetype/10003",
"id": "10003",
"description": "A task that needs to be done.",
"iconUrl": "http://localhost:8080/secure/viewavatar?size=xsmall&avatarId=10318&avatarType=issuetype",
"name": "Task",
"subtask": false,
"avatarId": 10318
}
}
},
"outwardIssue": {
"id": "10001",
"key": "KANA-2",
"self": "http://localhost:8080/rest/api/2/issue/10001",
"fields": {
"summary": "Framework IMplementation",
"status": {
"self": "http://localhost:8080/rest/api/2/status/10000",
"description": "",
"iconUrl": "http://localhost:8080/",
"name": "To Do",
"id": "10000",
"statusCategory": {
"self": "http://localhost:8080/rest/api/2/statuscategory/2",
"id": 2,
"key": "new",
"colorName": "blue-gray",
"name": "To Do"
}
},
"priority": {
"self": "http://localhost:8080/rest/api/2/priority/3",
"iconUrl": "http://localhost:8080/images/icons/priorities/medium.svg",
"name": "Medium",
"id": "3"
},
"issuetype": {
"self": "http://localhost:8080/rest/api/2/issuetype/10003",
"id": "10003",
"description": "A task that needs to be done.",
"iconUrl": "http://localhost:8080/secure/viewavatar?size=xsmall&avatarId=10318&avatarType=issuetype",
"name": "Task",
"subtask": false,
"avatarId": 10318
}
}
}
}
Sample configuration in a scenario¶
The following is a sample proxy service that illustrates how to connect to the Jira connector and use the getDashboardById operation to get dashboard details. You can use this sample as a template for using other operations in this category.
Sample Proxy
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="getDashboardById"
transports="https http"
startOnLoad="true"
trace="disable">
<description/>
<target>
<inSequence>
<property name="username" expression="json-eval($.username)"/>
<property name="password" expression="json-eval($.password)"/>
<property name="uri" expression="json-eval($.uri)"/>
<property name="id" expression="json-eval($.id)"/>
<jira.init>
<username>{$ctx:username}</username>
<password>{$ctx:password}</password>
<uri>{$ctx:uri}</uri>
</jira.init>
<jira.getDashboardById>
<id>{$ctx:id}</id>
</jira.getDashboardById>
<log level="full"/>
<respond/>
</inSequence>
<outSequence/>
<faultSequence/>
</target>
</proxy>
Note: For more information on how this works in an actual scenario, see Jira Connector Example.