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/