INNER CODE UNIT · TypeScript
findPRTask
duckduckgo/Android · .github/actions/pr-asana-sync/src/main.ts:84
async function findPRTask(
customFields: PRFields
): Promise<asana.resources.Tasks.Type | null> {
// Let's first try to search using PR URL
const payload = context.payload as PullRequestEvent
const prURL = payload.pull_request.html_url
const prTasks = await client.tasks.searchInWorkspace(ASANA_WORKSPACE_ID, {
[`custom_fields.${customFields.url.gid}.value`]: prURL,
// eslint-disable-next-line camelcase
opt_fields: 'name,parent,completed'
})
if (prTasks.data.length > 0) {
info(`Found PR task using searchInWorkspace: ${prTasks.data[0].gid}`)
return prTasks.data[0]
} else {
// searchInWorkspace can fail for recently created Asana tasks. Let's look
// at 100 most recent tasks in destination project