@@ -1183,7 +1183,7 @@ def resolve_tasks(
1183
1183
"set_fields" ,
1184
1184
type = (str , str ),
1185
1185
multiple = True ,
1186
- help = "Set a field value (state, priority)" ,
1186
+ help = "Set a field value (state, priority, created )" ,
1187
1187
)
1188
1188
@click .option (
1189
1189
"--add" ,
@@ -1205,10 +1205,17 @@ def edit(task_ids, set_fields, add_fields, remove_fields):
1205
1205
Examples:
1206
1206
tasks edit task-123 --set state active
1207
1207
tasks edit task-123 --set priority high
1208
+ tasks edit task-123 --set created 2025-05-05T10:00:00+02:00
1208
1209
tasks edit task-123 --add depends other-task
1209
1210
tasks edit task-123 --add tag feature
1210
1211
tasks edit task-123 --remove tag wip
1211
1212
tasks edit task-123 --set state active --add tag feature --add depends other-task
1213
+
1214
+ Date formats:
1215
+ The created field accepts ISO format dates:
1216
+ - Date only: 2025-05-05
1217
+ - Date and time: 2025-05-05T10:00:00
1218
+ - With timezone: 2025-05-05T10:00:00+02:00
1212
1219
"""
1213
1220
console = Console ()
1214
1221
repo_root = find_repo_root (Path .cwd ())
@@ -1232,9 +1239,9 @@ def edit(task_ids, set_fields, add_fields, remove_fields):
1232
1239
1233
1240
# Validate set operations
1234
1241
for field , value in set_fields :
1235
- if field not in ("state" , "priority" ):
1242
+ if field not in ("state" , "priority" , "created" ):
1236
1243
console .print (
1237
- f"[red]Cannot set field: { field } . Use --set with state or priority .[/]"
1244
+ f"[red]Cannot set field: { field } . Use --set with state, priority, or created .[/]"
1238
1245
)
1239
1246
return
1240
1247
@@ -1246,6 +1253,17 @@ def edit(task_ids, set_fields, add_fields, remove_fields):
1246
1253
if value not in ("high" , "medium" , "low" , "none" ):
1247
1254
console .print (f"[red]Invalid priority: { value } [/]" )
1248
1255
return
1256
+ elif field == "created" :
1257
+ try :
1258
+ # Parse and validate the date format
1259
+ created_dt = datetime .fromisoformat (value )
1260
+ # Convert to string format for storage
1261
+ value = created_dt .isoformat ()
1262
+ except ValueError :
1263
+ console .print (
1264
+ "[red]Invalid created date format. Use ISO format (YYYY-MM-DD[THH:MM:SS+HH:MM])[/]"
1265
+ )
1266
+ return
1249
1267
1250
1268
changes .append (("set" , field , value ))
1251
1269
0 commit comments