---
title: "createIssue"
canonical: "https://support.appfire.com/space/PSJ/15486180/createIssue"
format: markdown
---
> Macro (aura-html)


|  |  |  |  |
| --- | --- | --- | --- |
| **Syntax** | createIssue(projectKey, parentIssueKey, issueType, summary[, priority, description, components, due date, estimate, security_level, field_mappings]) | **Package** |  |
| **Alias** |  | **Pkg Usage** |  |

## Description

> Macro (excerpt)
> 
> Creates an issue based on the provided arguments.

Creates an issue based on the provided arguments.

## Parameters

| Parameter name | Type | Required | Description |
| --- | --- | --- | --- |
| projectKey | String | Yes | Key of the project, where the issue will be created, as it is saved in the Administration part. |
| parentIssueKey | String | Yes | Key of the parent issue. Though the parameter is required, it can take an empty value to specify that the issue is not a sub-task, but a regular issue. |
| issueType | String | Yes | Type of the issue that will be created. |
| summary or issueSummary | String | Yes | Summary of the issue that will be created. |
| priority | String | No | Priority. |
| description | String | No | Description of the issue that will be created. |
| components | array of strings | No | Components of the issue that will be created. |
| due date | Date | No | Due date of the issue that will be created. |
| estimate | interval | No | Original estimate of the issue that will be created. |
| security level | String | No | Security level of the issue that will be created. |
| custom fields mappings/field mappings (since version 3.0.2) | array of strings | No | Mappings of the custom field of the issue that will be created.Starting with version 3.0.2 the mappings of the custom and system fields of the issue will be created. |

## Return Type

**String**

The key of the created issue

## Examples

### Example 1

```
string issue_priority;//Possible values: "Major", "Critical" etc.
string issue_description;
string[] issue_components;
string issue_security_level;
string[] custom_fields_mapping;

issue_priority = "Critical";
issue_description = "Description of the issue";
issue_components = components; //an array containing all the components of the current project
issue_security_level = "Administrator";
custom_fields_mapping = "STDUP|fmanaila|STDGP|jira-users";
string k = createIssue(
            "PROJECT",
            "PRJ-300",
            "Sub-task",
            "Summary of the sub task" ,
            issue_priority,
            issue_description,
            issue_components,
            currentDate() + "30d",
            "1h 30m",
            issue_security_level,
            custom_fields_mapping
           );
print ("On the project " + project + ", issue " + k + "is created.");
```

Result: On the project PROJECT, issue PRJ-300 is created. Issue details are as declared above.

### Example 2

```
string issue_priority;//Possible values: "Major", "Critical" etc.
string issue_description;
string issue_security_level;

issue_priority = "Critical";
issue_description = "Description of the issue";
issue_security_level = "Administrator";
string k = createIssue(
            "PROJECT",
            "", // passing in empty to create a regular issue rather than subtask
            "Bug",
            "Summary of the sub task" ,
            issue_priority,
            issue_description,
            {}, // no components
            currentDate() + "30d",
            "1h 30m",
            issue_security_level,
            {} // and no custom field mappings
           );
print ("On the project " + project + ", issue " + k + "is created.");
```

Will create a Bug with no components and no special custom field values (all defaults).

### Example 3

```
string issue_priority;//Possible values: "Major", "Critical" etc.
string issue_description;
string[] issue_components;
string issue_security_level;
string[] custom_fields_mapping;

issue_priority = "Critical";
issue_description = "Description of the issue";
issue_components = components; //an array containing all the components of the current project
issue_security_level = "Administrator";
custom_fields_mapping = "STDUP|fmanaila|STDGP|jira-users";
string k = createIssue(
            "PROJECT",
            "PRJ-300",
            "Sub-task",
            "Summary of the sub task" ,
            issue_priority,
            issue_description,
            issue_components,
            currentDate() + "30d",
            "1h 30m",
            issue_security_level,
            custom_fields_mapping
           );
print ("On the project " + project + ", issue " + k + "is created.");
```

Will create an Improvement with no components and the assignee set for user with the username "someUserName".


### Example 4

```
JFieldValue[] cfMappings;
JFieldValue cfValues;
cfValues.fieldName = "my_multi_field";
for(int i=0; i<3; ++i) {
    string tempLabel = "my label " + i;
    string tempVal = "my value " + i;

    cfValues.values[i*2] = tempLabel;
    cfValues.values[i*2 + 1] = tempVal;
}
cfMappings += cfValues;
createIssue("JSD", "", "Task", "summaryyy", "", "", "", "", "", "", cfMappings);
print ("On the project " + project + ", issue " + k + "is created.");
```

Will create a Task, on the ‘JSD’ project, and will fill the ‘my_multi_field’ with 3 values (“my label 0”, “my label 1” and “my label 2”).

This is useful, for example if you have a field that allows multiple values to be selected (E.G. Power Custom Fields' - “PCF - Multi Select“.

Optionally, for Power Custom Fields, you can set the option’s value. If you don’t want the option’s value set, you can just use simple strings instead of the JFieldValue structure.


## See also

> Macro (contentbylabel)