Hi SeaTable Team,
Currently I have two problems with the feature Automation Rule:
- We want to allow an event to be scheduled int the future optionally. Therefore I add 2 trigger rules with a script for a table. Two columns
status
andexecution_date
of this table are used for the conditions when the script is run. We use the context to get the current triggered row (context.current_row
)
Two automation rules are:
-
Rule 1:
status=ready
andexecution_date is empty
+ eventRecords meet specific conditionals after modification
. It is intended to run the script at any time if the conditions are fulfilled.
=> It works -
Rule 2:
status=ready
andexecution_date is today
+ eventRun periodically on records meet conditions
everyday on e.g. 6:00. We can set theexecution_date
in the future and schedule to run the script in some rows.
=> No python runner container was started in my case, I used the command watch n -1 docker ps -a
and observed at the time on server and in the SeaTable UI (they are different) . When I clicked on Run now
in the rule settings (see the above screenshot), the python runner container was started normally and the following error occurred in the container:
row: None
Traceback (most recent call last):
File "index.py", line 500, in <module>
test_script()
File "index.py", line 48, in test_script
row_id = row["_id"]
TypeError: 'NoneType' object is not subscriptable
The code in script is (it works in Rule 1):
from seatable_api import context
row = context.current_row
row_id = row["_id"]
The context environment seems to be not used for this case.
Could you tell me, what I did wrong or how could I fix the script to get the triggered rows?
Another question: I notice, the time on the server and in the seatable
container are the same but they are different from the time in SeaTable UI. Which time is actually used for the execution Run periodically on records meet conditions
?
- I can’t reproduce an automation rule like Rule 2 anymore, even with another table or in another base. The action option with
Run Python script
is unavailable, just onlyLock records
. Why can it happen?
We use SeaTable Version 2.7.9 Enterprise.
I’m looking forward to your answer. Thank you very much