Enhanced Issue Properties - REST API
This document provides REST API details and python groovy examples
Get Issue Properties
GET http://localhost:8080/rest/issueproperties/1.0/property/list/?issueKey={issueKey}
GET http://localhost:8080/rest/issueproperties/1.0/property/one/?issueKey={issueKey}&propertyId={propertyId}
Query Parameters:
- issueKey (String) - Jira Issue Key
- propertyId (Number) - Property ID
Response: [Status: 200]
$ curl -u username -XGET "http://localhost:8080/rest/issueproperties/1.0/property/list/?issueKey=DT-1"
Add Issue Properties
POST http://localhost:8080/rest/issueproperties/1.0/property/add
Required Schema Fields:
- issueKey (String) - Jira Issue Key
- propertyKey (String)
- propertyValue (String)
- wiki (Boolean)
- mask (Boolean)
Response: [Status: 200]
$ curl -u"user:pass" -XPOST -H "Content-Type: application/json" --data '{"issueKey":"DT-1", \ "propertyKey":"confidential.agreement.receive.date", "propertyValue":"2017-05-02"}' \ http://localhost:8080/rest/issueproperties/1.0/property/add {"property":5,"message":"[Info] Added Issue Property."} $
Update Issue Properties
POST http://localhost:8080/rest/issueproperties/1.0/property/update
Required Schema Fields:
- issueKey (String) - Jira Issue Key
- propertyKey (String)
- propertyValue (String)
- wiki (Boolean)
- mask (Boolean)
Response: [Status: 200]
$ curl -u"user:pass" -XPOST -H "Content-Type: application/json" --data '{"issueKey":"DT-1", \ "propertyKey":"issue.security", "propertyValue":"xxxxxxx"}' \ http://localhost:8080/rest/issueproperties/1.0/property/update {"property":5,"message":"[Info] Updated Issue Property."} $
Note. Update creates property if not exists.
Force Update Properties
POST http://localhost:8080/rest/issueproperties/1.0/property/update/force
Note. This API helps to rename property key.
Required Schema Fields:
- issueKey (String) - Jira Issue Key
- propertyId (Number) - Property ID
- propertyKey (String)
- propertyValue (String)
- wiki (Boolean)
- mask (Boolean)
Response: [Status: 200]
$ curl -u"user:pass" -XPOST -H "Content-Type: application/json" --data '{"issueKey":"DT-1", \ "propertyId":"5", "propertyKey":"issue.security", "propertyValue":"xxxxxxx"}' \ http://localhost:8080/rest/issueproperties/1.0/property/update {"property":5,"message":"[Info] Updated Issue Property."} $
Bulk Update Properties
POST http://localhost:8080/rest/issueproperties/1.0/property/update/bulk
Required Schema Fields in Array:
- issueKey (String) - Jira Issue Key
- propertyKey (String)
- propertyValue (String)
- mask (Boolean)
Response: [Status: 200]
$ curl -u"user:pass" -XPOST -H "Content-Type: application/json" --data '[{"issueKey":"DT-1", \ "propertyKey":"issue.infox", "propertyValue":"123"}, {"issueKey":"DT-1", \ "propertyKey":"issue.infoy", "propertyValue":"456"}]' \ http://localhost:8080/rest/issueproperties/1.0/property/update {"property":2,"message":"[Info] Updated Issue Properties."} $
Note. Bulk Update creates property if not exists.
Clone Properties
POST http://localhost:8080/rest/issueproperties/1.0/property/clone/?fromIssueKey={fromIssueKey}&toIssueKey={toIssueKey}
Required Parameters:
- fromIssueKey (String) - Jira Issue Key
- toIssueKey (String) - Jira Issue Key
Response: [Status: 200]
Move Properties
POST http://localhost:8080/rest/issueproperties/1.0/property/move/?fromIssueKey={fromIssueKey}&toIssueKey={toIssueKey}
Required Parameters:
- fromIssueKey (String) - Jira Issue Key
- toIssueKey (String) - Jira Issue Key
Response: [Status: 200]
Delete Properties
http://localhost:8080/rest/issueproperties/1.0/property/remove/?issueKey={issueKey}&propertyId={propertyId}
http://localhost:8080/rest/issueproperties/1.0/property/remove/bulk/issue/{issueKey}
curl -u"user:pass" -XDELETE http://localhost:8080/rest/issueproperties/1.0/property/remove/issue/DT-1/5
Groovy Examples
https://bitbucket.org/scmenthusiast/scmenthusiast-utilities/src/master/issue-properties/groovy/
Python Examples
https://bitbucket.org/scmenthusiast/scmenthusiast-utilities/src/master/issue-properties/python/