Skip to end of banner
Go to start of banner

Update Portfolio Parent Link using REST API (Process)

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

This script is completely out of date and is no longer relevant. This script predates the existence of the HTTP routines which allow SIL to make REST calls directly.

Also, now the portfolio parent field is directly supported.

We are leaving this article in place as a reference.

Some fields just can't be set using the regular Jira REST API, the Portfolio Parent Link is one of those fields. Fortunately, you can easily create a script that uses the Power Scripts REST Service to do the job when the Jira API can not.

To start, we need to the script that will run when called by the REST Service. This script is actually very generic, any custom field can be set using a simple script like this:

string field = argv[0];
string value = argv[1];
%field% = value;

This is an example Curl script that calls the Power Scripts REST Service to run the script.

curl -X POST -u admin:admin http://localhost:8080/rest/keplerrominfo/refapp/latest/async-script/runScript \
  -H 'Content-Type: application/json' \
  -d '{"source":{
        "type": "FILE",
        "code": "updateCustomField.sil"
    },
   "properties": [{
        "key": "sil.issue.key",
        "value": "TP-123"
    }],
   "args": ["customfield_12345", "PORT-456"]}'

To customize this curl script you need to do the following:

  1. update the username and password with a valid user account. This is set in the beginning after the -u parameter.

  2. Update the Jira base URL. The address format is <your_base_url>/rest/keplerrominfo/refapp/latest/async-script/runScript.

  3. Make sure the name and path of the script are correct. This is set in the "code" field in the JSON data. In this example, the script is called "updateCustomField.sil".

  4. Update the key of the issue that will be updated. This is set in the "value" field in the JSON data. In this example, the script is called "TP-123".

  5. Update the custom field ID of the Parent Link field or the name of the SIL alias was set up previously. This is passed in the "args" field array in the JSON data. In this example, the ID is "customfield_12345".

  6. Update the key that the issue should be linked to (the parent). This is the second value in the args array. In this example, the parent link is "PORT-456".

  • No labels