getCreateIssueMeta method

Future<IssueCreateMetadata> getCreateIssueMeta({
  1. List<String>? projectIds,
  2. List<String>? projectKeys,
  3. List<String>? issuetypeIds,
  4. List<String>? issuetypeNames,
  5. String? expand,
})

Returns details of projects, issue types within projects, and, when requested, the create screen fields for each issue type for the user. Use the information to populate the requests in Create issue and Create issues.

The request can be restricted to specific projects or issue types using the query parameters. The response will contain information for the valid projects, issue types, or project and issue type combinations requested. Note that invalid project, issue type, or project and issue type combinations do not generate errors.

This operation can be accessed anonymously.

Permissions required: Create issues project permission in the requested projects.

Implementation

Future<IssueCreateMetadata> getCreateIssueMeta(
    {List<String>? projectIds,
    List<String>? projectKeys,
    List<String>? issuetypeIds,
    List<String>? issuetypeNames,
    String? expand}) async {
  return IssueCreateMetadata.fromJson(await _client.send(
    'get',
    'rest/api/3/issue/createmeta',
    queryParameters: {
      if (projectIds != null)
        'projectIds': projectIds.map((e) => e).join(','),
      if (projectKeys != null)
        'projectKeys': projectKeys.map((e) => e).join(','),
      if (issuetypeIds != null)
        'issuetypeIds': issuetypeIds.map((e) => e).join(','),
      if (issuetypeNames != null)
        'issuetypeNames': issuetypeNames.map((e) => e).join(','),
      if (expand != null) 'expand': expand,
    },
  ));
}