@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update various Asana odds-and-ends for "gid" API changes

Summary:
Ref T13453. Some of the Asana integrations also need API updates.

Depends on D20899.

Test Plan:
- Viewed "asana.workspace-id" in Config, got a sensible GID list.
- Created a revision, saw the associated Asana task get assigned.
- Pasted an Asana link I could view into a revision description, saw it Doorkeeper in the metadata.

Maniphest Tasks: T13453

Differential Revision: https://secure.phabricator.com/D20900

+13 -7
+5 -2
src/applications/doorkeeper/bridge/DoorkeeperBridgeAsana.php
··· 123 123 } 124 124 125 125 public function fillObjectFromData(DoorkeeperExternalObject $obj, $result) { 126 - $id = $result['id']; 127 - $uri = "https://app.asana.com/0/{$id}/{$id}"; 126 + $gid = $result['gid']; 127 + $uri = urisprintf( 128 + 'https://app.asana.com/0/%s/%s', 129 + $gid, 130 + $gid); 128 131 $obj->setObjectURI($uri); 129 132 } 130 133
+4 -1
src/applications/doorkeeper/option/PhabricatorAsanaConfigOptions.php
··· 102 102 pht('Workspace Name')); 103 103 $out[] = '| ------------ | -------------- |'; 104 104 foreach ($workspaces as $workspace) { 105 - $out[] = sprintf('| `%s` | `%s` |', $workspace['id'], $workspace['name']); 105 + $out[] = sprintf( 106 + '| `%s` | `%s` |', 107 + $workspace['gid'], 108 + $workspace['name']); 106 109 } 107 110 108 111 $out = implode("\n", $out);
+4 -4
src/applications/doorkeeper/worker/DoorkeeperAsanaFeedWorker.php
··· 358 358 'POST', 359 359 $subtask_data + array( 360 360 'assignee' => $phid_aid_map[$user_phid], 361 - 'completed' => $is_completed, 361 + 'completed' => (int)$is_completed, 362 362 'parent' => $parent_ref->getObjectID(), 363 363 )); 364 364 ··· 393 393 'PUT', 394 394 $subtask_data + array( 395 395 'assignee' => $phid_aid_map[$user_phid], 396 - 'completed' => $is_completed, 396 + 'completed' => (int)$is_completed, 397 397 )); 398 398 } 399 399 ··· 484 484 return array( 485 485 'name' => $title, 486 486 'notes' => $notes, 487 - 'completed' => $is_completed, 487 + 'completed' => (int)$is_completed, 488 488 ); 489 489 } 490 490 ··· 632 632 ->setApplicationType(DoorkeeperBridgeAsana::APPTYPE_ASANA) 633 633 ->setApplicationDomain(DoorkeeperBridgeAsana::APPDOMAIN_ASANA) 634 634 ->setObjectType($type) 635 - ->setObjectID($result['id']) 635 + ->setObjectID($result['gid']) 636 636 ->setIsVisible(true); 637 637 638 638 $xobj = $ref->newExternalObject();