跳转至

builders

feishu.task.builders

task_payload

Python
task_payload(summary: str, *, description: str | None = None, due: dict[str, Any] | None = None, start: dict[str, Any] | None = None, members: list[dict[str, Any]] | None = None, tasklists: list[dict[str, Any]] | None = None, **extra: Any) -> NestedDict

Build a Feishu task creation payload.

参数:

名称 类型 描述 默认

summary

str

Task title.

必需

description

str | None

Optional task description.

None

due

dict[str, Any] | None

Optional Feishu due object. Passed through unchanged.

None

start

dict[str, Any] | None

Optional Feishu start object. Passed through unchanged.

None

members

list[dict[str, Any]] | None

Optional Feishu member objects.

None

tasklists

list[dict[str, Any]] | None

Optional Feishu tasklist objects.

None

extra

Any

Additional Feishu task fields to include when not None.

{}

返回:

类型 描述
NestedDict

示例:

Python Console Session
>>> task_payload("写周报", description="周五前完成").summary
'写周报'
源代码位于: feishu/task/builders.py
Python
def task_payload(
    summary: str,
    *,
    description: str | None = None,
    due: dict[str, Any] | None = None,
    start: dict[str, Any] | None = None,
    members: list[dict[str, Any]] | None = None,
    tasklists: list[dict[str, Any]] | None = None,
    **extra: Any,
) -> NestedDict:
    r"""
    Build a Feishu task creation payload.

    Args:
        summary: Task title.
        description: Optional task description.
        due: Optional Feishu `due` object. Passed through unchanged.
        start: Optional Feishu `start` object. Passed through unchanged.
        members: Optional Feishu member objects.
        tasklists: Optional Feishu tasklist objects.
        extra: Additional Feishu task fields to include when not `None`.

    Returns:
        Task payload for [feishu.task.tasks.TasksNamespace.create][].

    Examples:
        >>> task_payload("写周报", description="周五前完成").summary
        '写周报'
    """
    payload = NestedDict(summary=summary)
    if description:
        payload.description = description
    if due:
        payload.due = NestedDict(due)
    if start:
        payload.start = NestedDict(start)
    if members:
        payload.members = [NestedDict(item) for item in members]
    if tasklists:
        payload.tasklists = [NestedDict(item) for item in tasklists]
    for key, value in extra.items():
        if value is not None:
            payload[key] = value
    return payload