Skip to end of banner
Go to start of banner

Using the createIssue() Routine

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 2 Next »

Problem

The createIssue() routine takes the most arguments of any SIL routine and the easiest to create syntax errors. The examples here are intended to make the process of creating a script using createIssue() as easy as possible.

Solution - The Easy Way

When testing a script with createIssue(), start with the least amount of arguments.

string newIssueKey = createIssue(
    "DEMO", 
    "", 
    "Task", 
    "Summary goes here"
);
 
if (isNotNull(newIssueKey)){
    runnerLog("Issue " + newIssueKey + " was created.");
} else {
    runnerLog("An issue was not created");
}

Adding Custom Field Information After Issue Creation

After you have created the issue, then you can add values to custom fields as you would normally. See the "Variable Resolution" documentation page on how to set custom fields.

%newIssueKey%.#{custom field name here} = "string value goes here";

Custom Field Mapping

While the method above tends to be easier to implement, doing everything at once is easier to read. 

One of the trickiest createIssue() arguments (and most prone to error) is the custom field mapping. Keep in mind that the custom field mapping argument is intended to accept key/value pairs such as the following example. Let's say I have a custom field named "textField" and another with the id of "1234". You can set those values using the following:

string [] custom_fields_mapping = "textField|text value here|customfield_1234|jira-users";

If you wish to pass an array value to a custom field, pass it using the curly braces to denote an array.

string [] custom_fields_mapping = {"checkbox", {"released", "accepted"}};
 
 
string newIssueKey = createIssue(    
    "DEMO",                 // project key    
    "",                     // parent key    
    "Task",                 // issuetype    
    "Summary goes here",    // summary   
 
    "",                     // priority    
    "",                     // description    
    "",                     // components    
    "",                     // due date    
    "",                     // estimate
    "",                     // security level  
    custom_fields_mapping   // custom fields mapping    
    );

I find it helps to place each argument on a separate line with the comment for each one to keep each argument straight.

createIssue() in the Cloud

The arguments for the createIssue() routine are exactly the same, except there is no argument for the due date.

Additional Help

Need help implementing this script? Talk to me directly to me by clicking on the bot on this page.

Filter by label

There are no items with the selected labels at this time.

  • No labels