Hi,
My code call a Jira API to get create issue metadata of a project and issuetype. My code works but I would like only “required” fields. I don’t know how do that.
I read the forge example forge-feedback-collector that uses the filter
function to return issueType is not “sub-task”.
const fetchIssueTypes = async () => {
const response = await api.asApp().requestJira(route`/rest/api/2/issuetype`);
const issueTypes = await response.json();
return issueTypes.filter(issueType => !issueType.subtask);
};
So, I am trying to reuse the filter
function to achieve my goal to return only fields with attribute required: true
// Get list of required fields to create an issue
const fetchIssueRequiredFields = async (projectId: string, issueType: string) => {
let toUseProjectId = "10000";
if (projectId && projectId.length > 0) {
toUseProjectId = projectId
}
let toUseIssueType = "10000";
if (issueType && issueType.length > 0) {
toUseIssueType = issueType
}
const response = await api.asUser().requestJira(route`/rest/api/3/issue/createmeta?projectIds=${toUseProjectId}&issuetypeIds=${toUseIssueType}&expand=projects.issuetypes.fields`, {
headers: {
'Accept': 'application/json'
}
});
if (!response.ok) {
return "Error to get Jira issue type list" + response.statusText;
}
//Here how to use filter
// const requiredFields = response.projects.issuetypes.fields.filter(requiredField => required = true)");/
// return await requiredFields;
return await response.json();
};
Each time i use filter
function, forge return error: .filter is not a function
thx for your help