Commit Graph

704 Commits

Author SHA1 Message Date
jbirddog 70c121f1a0 Add get_secret script (#94) 2023-01-05 16:15:20 -05:00
jasquat 499a9562c3 basic support to find a process instance by id w/ burnettk 2023-01-05 14:59:59 -05:00
jasquat 5afffe276a pyl w/ burnettk 2023-01-05 10:53:51 -05:00
Elizabeth Esswein 34b78baa65 Merge branch 'main' into feature/process-nav-improvements 2023-01-05 10:46:52 -05:00
jasquat 1d1b2e7e85 fixed issue displaying task data for call activities called multiple times in a diagram w/ burnettk 2023-01-05 10:38:29 -05:00
Elizabeth Esswein cb8c9258c7 Merge branch 'main' into feature/process-nav-improvements 2023-01-05 10:27:31 -05:00
burnettk 168acda238 add a bit more debugging info 2023-01-04 23:09:13 -05:00
jasquat 6648bee586 pyl 2023-01-04 16:15:15 -05:00
jasquat ee650e6039 added ability to filter process instances by process initiator 2023-01-04 16:11:52 -05:00
jasquat 63a0007238 pyl w/ burnettk 2023-01-04 13:18:05 -05:00
jasquat e915b83177 added process group display name to model search and cache the groups to avoid extra lookups w/ burnettk 2023-01-04 13:12:36 -05:00
jasquat abacdf96e6 merged in main and resolved conflicts 2023-01-04 11:56:33 -05:00
jbirddog 06d9913ceb Helper function to support reaping process instances (#91) 2023-01-03 22:07:41 -05:00
jasquat 59842a301c pyl w/ burnettk 2023-01-03 17:29:55 -05:00
jasquat 2c4ae424a4 added new page to create process models using english text w/ burnettk 2023-01-03 17:26:01 -05:00
jasquat df462e0dd0 added method to create process models based on english string w/ burnettk 2023-01-03 16:39:32 -05:00
burnettk 09e012674a upgrade black, give it the preview flag, and let it rip on long strings 2022-12-30 23:08:00 -05:00
burnettk 3c395ca368 configure metadata extration paths appropriately 2022-12-30 22:49:35 -05:00
burnettk 56b469e92e actually create process model 2022-12-30 19:51:17 -05:00
jasquat cfaf2d9c6d added basis of api to create process models from text w/ burnettk 2022-12-30 16:30:52 -05:00
Elizabeth Esswein 17e1d8ba26 reformat file 2022-12-30 15:40:46 -05:00
Elizabeth Esswein 9ad3801d13 remove reset tasks from human task table 2022-12-30 15:17:35 -05:00
jasquat 840d2f0937 added all users to waiting for column on task list tables w/ burnettk 2022-12-30 12:30:23 -05:00
Elizabeth Esswein 79d90050c8 fix method overwritten by merge 2022-12-30 12:30:07 -05:00
Elizabeth Esswein 01277ef7c3 Merge branch 'main' into feature/process-nav-improvements 2022-12-30 11:41:08 -05:00
jasquat 76c3f13630 ensure we get logs for both db and backend with docker compose w/ burnettk 2022-12-30 10:06:52 -05:00
jasquat 05e90c7c40 remove unused task method 2022-12-30 09:24:56 -05:00
jasquat 4b328df7c5 allow tests to determine what paginated entity id to use to determine a table has loaded 2022-12-30 09:13:03 -05:00
Elizabeth Esswein d0751235b9 create spiff steps for manual navigation 2022-12-30 01:45:49 -05:00
burnettk d1e911950d Merge remote-tracking branch 'origin/main' into feature/process_api_blueprint_refactor 2022-12-29 20:41:50 -05:00
Elizabeth Esswein 25a91b1d45 Merge pull request #78 from sartography/feature/process-navigation
Feature/process navigation
2022-12-29 20:00:27 -05:00
burnettk a763c54d64 move helpers where they belong 2022-12-29 18:43:19 -05:00
burnettk 7a4519b177 run ./bin/run_pyl 2022-12-29 18:26:43 -05:00
burnettk ff18aa77bc new service tasks controller 2022-12-29 18:23:45 -05:00
burnettk 3695ab7ded move status to health controller 2022-12-29 18:12:41 -05:00
Elizabeth Esswein 9ae1de7627 fix test 2022-12-29 17:51:43 -05:00
burnettk 8cfd3290e9 move helpers where they belong 2022-12-29 17:36:46 -05:00
Elizabeth Esswein 72100e6d92 allow option to complete single tasks with or without execution 2022-12-29 17:21:17 -05:00
burnettk 2ff73ae0e3 get tests passing 2022-12-29 17:13:44 -05:00
jasquat 6f1510c4f3 moved some more apis w/ burnettk 2022-12-29 16:04:59 -05:00
jasquat 1c3da92f81 moved more api methods to own controllers w/ burnettk 2022-12-29 15:45:34 -05:00
Elizabeth Esswein 0edb890470 add endpoint to reset process to earlier step 2022-12-29 15:26:29 -05:00
jasquat 05417039fe moved process groups, models, and instances api methods to own controller files w/ burnettk 2022-12-29 15:24:39 -05:00
burnettk acc57410d9 fix bug with opening call activities when processes conflict with dmn files 2022-12-29 14:33:30 -05:00
Elizabeth Esswein d4faa160be fix show previous spiff steps 2022-12-29 13:55:19 -05:00
Dan d4c1055077 Minor fix to SpiffWorkflow library 2022-12-29 13:51:23 -05:00
Dan 1f09592b4d Don't freak out if git is not yet setup in the working directory. 2022-12-29 13:49:41 -05:00
Elizabeth Esswein f24d751450 Merge branch 'main' into feature/process-navigation 2022-12-29 12:09:47 -05:00
jbirddog 0aaf503c3f Make list available to script tasks (#86) 2022-12-28 17:04:47 -05:00
jasquat 08050b038a save the process instance even if it fails to run all the way w/ burnettk 2022-12-28 14:37:04 -05:00
jasquat b62d9f8867 delete human tasks when process instance is deleted w/ burnettk 2022-12-28 14:02:39 -05:00
jasquat bca74bc43b fixed some cypress tests and fixed issue where an invalid date caused the page to constantly reload w/ burnettk 2022-12-28 12:27:37 -05:00
jasquat b97395d5d8 do not delete groups that were just added w/ burnettk 2022-12-27 16:44:58 -05:00
jasquat 79e21882d4 update flask-bpmn w/ burnettk 2022-12-27 16:16:53 -05:00
jasquat 3e26226514 some cypress tests w/ burnettk 2022-12-27 15:42:22 -05:00
jasquat d9d6cb4006 update flask-bpmn w/ burnettk 2022-12-27 13:55:02 -05:00
jasquat 7f4c5befff log api errors when sending to sentry w/ burnettk 2022-12-27 13:52:48 -05:00
jasquat 45eb61f974 give read access to process-data for all permission macro w/ burnettk 2022-12-27 11:56:09 -05:00
jasquat 866346f47b added ability to view data objects from the process instance show page w/ burnettk 2022-12-27 11:45:42 -05:00
burnettk 90f578460a dev permissions copied from terraform deployed and terraform deployed now tiny, minor fixes 2022-12-23 23:39:48 -05:00
burnettk c4c373aa03 link to correct instances page, fix fin users, ignore coverage files 2022-12-23 20:18:08 -05:00
burnettk 804d3c1052 trim down granted permissions to just the ones that exist in the API, improve output of permissions 2022-12-23 16:49:15 -05:00
burnettk 5f14a3cbbb use spiffworkflow.org for admin and other minor permissions tweaks 2022-12-23 12:25:18 -05:00
burnettk c108cd2bf1 fix flask bpmn poetry lock and change admin email to spiffworkflow.org 2022-12-23 12:18:15 -05:00
burnettk e9d1ae45e7 fix qa1 and add script to get perms 2022-12-22 21:29:12 -05:00
burnettk 5a73ba20c1 lint and regen schema 2022-12-22 21:15:10 -05:00
burnettk 28da20978a 50 is not long enough to store our keycloak urls 2022-12-22 21:10:43 -05:00
burnettk c09ae8f9cb add qa1 env 2022-12-22 17:21:45 -05:00
jasquat 1dd32da9e4 added test to check only privileged users can call refresh_permissions w/ burnettk 2022-12-22 17:12:21 -05:00
jasquat 46dbb5e187 updated permission yamls to have email addresses and look more the same w/ burnettk 2022-12-22 16:55:19 -05:00
jasquat 197a823220 pyl passes w/ burnettk 2022-12-22 16:42:52 -05:00
jasquat 9234af5e34 removed scripts for permissions since that code has been mostly moved and superseded by refresh_permissions w/ burnettk 2022-12-22 16:19:21 -05:00
jasquat aa6b46e807 added script to refresh permissions w/ burnettk 2022-12-22 16:14:52 -05:00
jasquat ff61026ff5 pyl w/ burnettk 2022-12-22 12:32:26 -05:00
jasquat a855df858b added script to get all permissions for the confirmation page when adding permissions from a process model w/ burnettk 2022-12-22 12:20:34 -05:00
jasquat 5522100bfc added test to for permission to process group w/ burnettk 2022-12-22 10:46:40 -05:00
jasquat ed2a744502 fixed slashes to colons in permission macros w/ burnettk 2022-12-22 10:34:19 -05:00
jasquat 99839a3e1b pyl 2022-12-22 09:59:55 -05:00
jasquat 1f6f20a734 added ALL macro for easier use with admin groups and some failure test cases 2022-12-22 09:57:13 -05:00
jasquat 2519c9f952 added remaining tests for current permission macros 2022-12-22 09:29:31 -05:00
jasquat 22c894c70c added test for perm macros w/ burnettk 2022-12-21 17:38:56 -05:00
jasquat 2f2dc6f98c added method to add permissions based on macros w/ burnettk 2022-12-21 17:14:11 -05:00
jasquat db3bbc7603 Merge remote-tracking branch 'origin/main' into feature/bpmn_user_permissions 2022-12-21 13:51:53 -05:00
jasquat f7eca09b19 minor tweak to test bpmn w/ burnettk 2022-12-21 13:51:49 -05:00
Dan 2912c5fed3 Merge branch 'main' of github.com:sartography/spiff-arena into main 2022-12-21 12:53:03 -05:00
Dan 5fa00f9524 Do not require a Git Repository to start a process. 2022-12-21 12:52:56 -05:00
jasquat 84bf70e2f2 do not force permissions to use the v1.0 path prefix but it can be used if desired w/ burnettk 2022-12-21 12:13:33 -05:00
jasquat 74eccab994 pyl w/ burnettk 2022-12-21 11:42:45 -05:00
jasquat 1c72850245 default requiring permissions to run a script to True w/ burnettk 2022-12-21 11:39:12 -05:00
jasquat da603ffef7 added permission to run privileged scripts w/ burnettk 2022-12-21 11:24:38 -05:00
Dan Funk f9182d19ef Merge pull request #79 from sartography/feature/better_unit_tests
A little cleanup around the Script Unit Tests - so that it's easier to show this feature off
2022-12-21 11:09:26 -05:00
jasquat 00ba65d12a Merge remote-tracking branch 'origin/main' into feature/bpmn_user_permissions 2022-12-20 17:00:58 -05:00
jasquat 3e4ab0145e pyl fixed w/ burnettk 2022-12-20 16:14:55 -05:00
jasquat d7ea9ebfe8 fixed get tasks and process instances by group w/ burnettk 2022-12-20 16:02:27 -05:00
jasquat 92258c6f9a pyl w/ burnettk 2022-12-20 15:47:30 -05:00
jasquat 87a1eba1e0 fixed completed instances filter w/ burnettk 2022-12-20 15:41:01 -05:00
jasquat 5a6e181a99 merged in main and resolved conflicts w/ burnettk 2022-12-20 15:06:34 -05:00
jasquat 1d3f1f7468 a little refactor w/ burnettk 2022-12-20 15:02:27 -05:00
jasquat 51c3cbec85 set the completed by user on human task w/ burnettk 2022-12-20 14:58:15 -05:00
jasquat 98cc8fec61 added remaining filter tests w/ burnettk 2022-12-20 14:39:04 -05:00
jasquat fd9506007c added another filter test 2022-12-20 13:50:09 -05:00
jasquat 8f2bc4c8a4 added test for report filters w/ burnettk 2022-12-20 12:29:14 -05:00
Elizabeth Esswein 4a6b219220 reformat file again 2022-12-20 11:19:27 -05:00
jasquat fd60c3566c renamed test process instance create method w/ burnettk 2022-12-20 11:19:04 -05:00
jasquat 96e14817fa some initial changes to refactor report filters w/ burnettk 2022-12-20 11:16:06 -05:00
Elizabeth Esswein 9f19c46945 fix more bs errors 2022-12-20 11:10:59 -05:00
Elizabeth Esswein c219b057c7 fix lint errors 2022-12-20 11:05:46 -05:00
Elizabeth Esswein 54d6804421 fix conflicts for like the thousandth time 2022-12-20 10:41:45 -05:00
burnettk 9bb3d98594 fix filtering issue on completed instances tab and lint junk 2022-12-19 23:08:54 -05:00
jasquat a5d957bcdd fix getting task info for a process instance w/ burnettk 2022-12-19 17:11:39 -05:00
jasquat 594e9e7803 added correct process instance permissions w/ burnettk 2022-12-19 16:39:35 -05:00
jasquat 2a73e23b3c renamed active task to human task since we are no longer deleting them w/ burnettk 2022-12-19 16:23:02 -05:00
jasquat eb98086cb6 created process instance list and show pages to handle all and for-me w/ burnettk 2022-12-19 16:16:27 -05:00
Elizabeth Esswein 4390e90a2b fix conflicts yet again 2022-12-19 15:28:44 -05:00
jasquat 389c919d99 merged in main and resolved conflicts w/ burnettk 2022-12-19 14:51:54 -05:00
jasquat c995f1fed2 give everybody crud for reports w/ burnettk 2022-12-19 14:47:01 -05:00
jasquat d9e0c8cda7 fixed file upload and do not allow submitting task data to a suspended process instance w/ burnettk 2022-12-19 14:28:54 -05:00
Elizabeth Esswein 36924b8410 fix typing problem 2022-12-19 14:01:52 -05:00
jasquat f152195335 updates to disallow modifying a process instance when it is not in the correct state w/ burnettk 2022-12-19 12:55:25 -05:00
jasquat aec0416eed do not allow editing task data for process instances that are not suspended and some code cleanup w/ burnettk 2022-12-19 11:54:22 -05:00
Elizabeth Esswein 8b863c1a1e add integration tests for process nav endpoints 2022-12-19 11:33:48 -05:00
jasquat bb5a4add1f added updated and created at columns on user w/ burnettk 2022-12-19 11:25:21 -05:00
jasquat ccac73bb54 set the auth header when calling git commit w/ burnettk 2022-12-19 11:15:05 -05:00
Dan 89377ea881 Fixing some tests. 2022-12-19 10:09:19 -05:00
Dan 624811a7c0 Merge remote-tracking branch 'origin/main' into feature/bpmn_user_permissions 2022-12-19 10:05:47 -05:00
Dan ef316483d9 Adding tests for the user service , and closing a few logic errors. Adding support for a single wild card for matching all users. 2022-12-19 10:05:19 -05:00
Elizabeth Esswein 54426b19bf allow marking task complete without executing 2022-12-18 10:44:42 -05:00
Elizabeth Esswein 8d8f766d45 fix conflicts again 2022-12-18 10:42:19 -05:00
burnettk cb41cf7cc7 fix tests 2022-12-17 23:25:47 -05:00
jasquat 66c5272766 added completed column to active task w/ burnettk 2022-12-16 16:51:49 -05:00
Elizabeth Esswein e23a5be152 update url to allow permissions on send event 2022-12-16 16:22:59 -05:00
jasquat f9c1036cce some basic stuff for showing only relating items to user w/ burnettk 2022-12-16 16:07:40 -05:00
jasquat 01472d9848 fixed permissions w/ burnettk 2022-12-16 15:31:05 -05:00
Dan 75bd973ae0 Merge remote-tracking branch 'origin/main' into feature/bpmn_user_permissions 2022-12-16 15:25:10 -05:00
Kevin Burnett 3ed0a9c991 add a test group and put natalia in it 2022-12-16 12:01:57 -08:00
jasquat c180561351 updated some text for task tables w/ burnettk 2022-12-16 14:21:04 -05:00
jasquat bb6e7713f2 merged in main and resolved conflicts w/ burnettk 2022-12-16 13:53:43 -05:00
jasquat 3a9f86c25b updated flask-bpmn so it does not send invalid token exceptions to sentry w/ burnettk 2022-12-16 13:24:52 -05:00
jasquat 2e334d3bb1 Merge remote-tracking branch 'origin/main' into feature/better_unit_tests 2022-12-16 13:16:08 -05:00
Elizabeth Esswein dfa1a9376f fix conflicts & update event url to match other process instance urls 2022-12-16 12:53:36 -05:00
jasquat 662a1ec5d6 added new api endpoint to get task-info so users with access to process instances can see the tasks but not the data 2022-12-16 11:39:07 -05:00
jasquat e3fe09490b fix permissions for core on dev w/ burnettk 2022-12-15 15:55:22 -05:00
Dan 6f8425a14b Merge branch 'feature/better_unit_tests' into feature/bpmn_user_permissions 2022-12-15 15:01:59 -05:00
jasquat debde51b00 fix broken unit tests in backend 2022-12-15 14:57:07 -05:00
Dan 4c0abf9bcd Fixes a bug that was causing tests to be added to the incorrect task.
Clean up UI for a better experience when viewing tests.
2022-12-15 14:45:35 -05:00
Dan de6558fea0 Updated migrations. 2022-12-15 14:43:09 -05:00
Dan 160e19bb8c When loading permissions and the user does not exist, add records to the UserGroupAssignmentWaiting table that can be picked up later.
Request "profile" scope over OpenID so we can get a few more bits of information when avilable.
Add a "clear_perissions" script
Add an "add_permissions" script
Add an "add_permissions" script
When logging in for the first time, check for any awaiting permissions and assign them.
Add "enumerate" as a whitelisted function to React Schema
Add a "display_name" to the user table

Add a test for adding a new permission
Add a test for adding a user to group
Adding a test for deleting all permissions.
Adding a display name for the user table
2022-12-15 14:40:31 -05:00
jasquat 618c71416a do not set git branch info on development w/ burnettk cullerton 2022-12-15 13:04:24 -05:00
jasquat 16eec49ca8 commit and push to github on all changes to bpmn dir w/ burnettk cullerton 2022-12-15 12:52:53 -05:00
Elizabeth Esswein b1e1a01785 reformat & fix types 2022-12-15 11:39:28 -05:00
Elizabeth Esswein 024cceda71 Merge branch 'main' into feature/process-navigation 2022-12-15 11:28:46 -05:00
jasquat ef71bdb964 Merge branch 'main' of github.com:sartography/spiff-arena 2022-12-15 10:02:54 -05:00
jasquat ff77f8f1fe add support to find the form for a call activity defined in another process model 2022-12-15 10:02:51 -05:00
jbirddog 0cdeffe1ec Fix endpoints for script task unit tests (#77) 2022-12-15 09:31:19 -05:00
Dan 6de91d2230 Merge remote-tracking branch 'origin/unit_test_404' into feature/bpmn_user_permissions 2022-12-15 07:19:19 -05:00
burnettk 52e0036209 make replacing keycloak more robust, as it now works when the container is running 2022-12-14 21:29:46 -05:00
Jon Herron 5f33b51e10 Fix api endpoints for script unit tests 2022-12-14 18:23:38 -05:00
jasquat 1e62a77e81 some fixes for ci w/ burnettk 2022-12-14 17:09:43 -05:00
jasquat 3ea063bdaf remove assert statements from actual code w/ burnettk 2022-12-14 16:32:07 -05:00
Elizabeth Esswein db57a7ab78 working but barely functional UI for manually sending events 2022-12-14 15:21:39 -05:00
jasquat 57e653f5f6 fixed perms for readonly for staging w/ burnettk 2022-12-14 15:03:22 -05:00
jasquat 9e260fbe55 load the correct perm file on staging w/ burnettk 2022-12-14 14:35:08 -05:00
jasquat bd6e1f2ebe added permission file for staging w/ burnettk 2022-12-14 11:00:32 -05:00
burnettk 90375a0c88 in postgres you cannot order by a non-grouped column without doing an aggregate 2022-12-13 23:21:32 -05:00
jasquat 15f55df46d pyl and fix test w/ burnettk 2022-12-13 16:44:46 -05:00
jasquat 01f320847c store subprocesses for spiff steps as well and do not save file as primary if one is already set w/ burnettk 2022-12-13 16:04:37 -05:00
jasquat 620d054586 some fixes to ensure we display the correct task data for the diagram elements w/ burnettk 2022-12-13 14:16:28 -05:00
Dan bcfbd9a6ea Assure our open-id system can return emails.
Update our data from Open ID Systems when users log in
2022-12-13 08:14:44 -05:00
Dan 4a8b07e98d Removing two fields from user table that were not used (uid, name)
Request email from open id clients, as this would provide a handy way to uniquely reference users when assigning to groups.
During Login do a lookup on email if possible -- so that permissions assignments based on email can be connected when sigining in through openid.
Don't use "open_id" for the service name on user accounts, use the iss string provided through open id,  this will allow us to support more than one open id platform.
Update the KeyCloak configuration so it is able to return email addresses for users -- which will make permission assignment easier in the future.
Removed several unused commands in the user_service class.
2022-12-12 15:43:19 -05:00
jasquat f6462d83af pyl 2022-12-12 15:36:03 -05:00
jasquat 52d61fabad added test to get the diagram for a given process instance call activity 2022-12-12 15:33:31 -05:00
jasquat ac92a6c3ef allow viewing the diagram for a specific process identifier 2022-12-12 15:08:09 -05:00
jasquat 7153045e66 split out completed instances by group as well 2022-12-12 13:41:42 -05:00
jasquat 0bbe67971f updated group api so it is not under tasks 2022-12-12 13:19:27 -05:00
jasquat d9765220bd pyl 2022-12-12 12:29:36 -05:00
jasquat 858bf24edd split group task tables by group and created component for group tables 2022-12-12 12:21:37 -05:00
jasquat 361506004c strip off spaces from git service command stdout 2022-12-12 10:05:08 -05:00
burnettk 2c25e626e1 try to fix a test on windows 2022-12-11 00:03:46 -05:00
burnettk a8ac81e4f2 comment out test not working in CI 2022-12-10 23:35:56 -05:00
burnettk c797cc28f7 indicate main explicitly for ci 2022-12-10 22:50:52 -05:00
jasquat cc95973552 pyl w/ burnettk 2022-12-09 17:30:14 -05:00
jasquat e5c72eb87b update staging configs to allow env var overrides w/ burnettk 2022-12-09 17:28:57 -05:00
jasquat 33dd9d97ea need to set upstream when git pushing w/ burnettk 2022-12-09 17:15:53 -05:00
jasquat cb143d3201 added secret verification to webhook endpoint w/ burnettk 2022-12-09 16:51:00 -05:00
jasquat 74bfd22ff9 fixed broken test w/ burnettk 2022-12-09 15:19:43 -05:00
jasquat 36babf2b4c fixed mypy issue w/ burnettk 2022-12-09 15:05:10 -05:00
jasquat 8df1b9cd3b Merge branch 'main' of github.com:sartography/spiff-arena 2022-12-09 15:01:58 -05:00
jasquat 7db3101ff1 cleaned up the git service and expanded the api git hook w/ burnettk 2022-12-09 15:01:55 -05:00
jbirddog b1cee24bca Sort primary file to top of files list (#71) 2022-12-09 13:14:26 -05:00
jasquat 6231ccab6c some base work to try to get display names searchable for process models w/ burnettk 2022-12-09 11:23:18 -05:00
burnettk 3800389e4c note 2022-12-08 23:57:09 -05:00
burnettk 494f1c9826 add skeleton of endpoint to receive github webhooks 2022-12-08 23:55:01 -05:00
jasquat e39696c6bd some reorder w/ burnettk cullerton 2022-12-08 17:15:28 -05:00
jasquat 4878d2329b mypy w/ burnettk cullerton 2022-12-08 17:12:19 -05:00
jasquat d50d95a49c added git creds for pushing on publish w/ burnettk cullerton 2022-12-08 16:39:23 -05:00
jasquat b54378a9fc merged in main and resolved conflicts w/ burnettk cullerton 2022-12-08 15:31:25 -05:00
jasquat 609abe8f16 favor os.path.join over hardcoding slash w/ burnettk 2022-12-08 14:08:32 -05:00
jasquat cee726e8b0 pyl passes 2022-12-08 13:47:30 -05:00
jasquat 675c776a5a added new notification component that allows links based on carbons w/ burnettk cullerton 2022-12-08 12:28:23 -05:00
mike cullerton 3530a628ec Return URL where they can view changes and open PR 2022-12-08 09:26:10 -05:00