FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Tags · makeplane/plane-python-sdk · GitHub

Tags: makeplane/plane-python-sdk

Tags

v0.2.23

Toggle v0.2.23's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: add page update and archive APIs to Python SDK (#67)

* feat: add update and archive functionality for workspace and project pages

* docs: update API documentation for page deletion and enhance test descriptions

* feat: extend Page model with additional fields for access control and collection management

* chore: add optional description_html field to CreateProject and UpdateProject models

v0.2.22

Toggle v0.2.22's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: add workspace governance resources (workspace states, workspace…

… workflows, type governance) (#66)

* feat: add workspace governance resources (workspace states, workspace workflows, type governance)

Plane's workspace governance moves states, workflows, and work item type
governance to a workspace-level catalog (dual-mode, per-workspace opt-in).
This adds the corresponding public-API coverage:

- workspace_states: list/retrieve (dual-mode reads), create/update/delete
  against the workspace states catalog, plus external-id lookup
- workspace_workflows: catalog CRUD, usage report, activity log, chain
  state management (add/update/remove/mark-default), state transitions,
  and transition hooks (incl. webhook secret regeneration and executions)
- work_item_type_governance: governance mode (any/constrained/required),
  change previews, project pins, project-side effective workflows and
  workflow picks, and workflow fallback previews
- WorkspaceFeature: type the new work_item_types, releases, and read-only
  states_owned_by_workspace fields (the governed-mode detection flag)

Project workflows parity housekeeping: retrieve/delete/activities, chain
state list/update/transfer, transition retrieve, transition hooks, and
work item workflow approval.

* fix: address review feedback on workspace governance resources

- Append trailing slashes to every new endpoint path (URL convention)
- Rename get_project_pick/set_project_pick to retrieve_project_pick/
  update_project_pick (CRUD verb convention)
- submit_work_item_approval now takes a SubmitWorkItemApproval DTO and
  returns a typed WorkItemApprovalResult
- Export WorkspaceWorkflowState, WorkspaceWorkflowTransition,
  WorkspaceWorkflowUsageProject, and the new approval models from the
  package root; export CatalogGroupEnum from plane.models
- README: capture created IDs in the workspace-workflow example and
  document placeholder IDs in the governance example
- Tests: enter try/finally immediately after each resource creation so
  failed setup or assertions cannot leak catalog data

* refactor: restructure type governance as a package with sub-resources

Match the resource-package convention used by collections/ and releases/:
a base.py for the top-level class plus one file per sub-resource, each
exposing plain CRUD verbs instead of prefixed method families.

    work_item_type_governance/
      base.py               -> WorkItemTypeGovernance: retrieve/update/preview
      pins.py               -> WorkItemTypeWorkflowPins: list/create/delete
      project_workflows.py  -> ProjectTypeWorkflows: list/retrieve/
                               retrieve_pick/update_pick/preview_fallback

Call sites become client.work_item_type_governance.pins.list(...) and
.project_workflows.update_pick(...), replacing list_pins/create_pins/
delete_pin/list_project_type_workflows/retrieve_project_type_workflow/
retrieve_project_pick/update_project_pick.

Also narrow the new packages' __init__ exports to the top-level resource
class only, as collections/ and releases/ do; sub-resources are reached
through the parent (the pre-existing workflows/ package keeps its own
exports). Response models stay exported from the package root.

* fix: validate the workflow-pick response with a typed model

update_pick was the only resource method returning an unvalidated dict.
Add ProjectWorkflowPickResult (mirroring WorkItemApprovalResult for the
analogous {"state_id": ...} approval response), normalize the scalar
fallback into a mapping, and validate through it.

* fix: fill state_id on workspace chain rows

v0.2.21

Toggle v0.2.21's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: add collections resource (#64)

* feat: add Collections resource client

Adds a full Collections resource (create/list/retrieve/update/delete
collections, add/list/search/move/remove pages within a collection, and
collection member CRUD) matching the new external Collections API, plus
`collection_id`/`parent_id` on CreatePage so pages can be created directly
inside a collection or as a sub-page.

* fix(tests): assert sub-page via parent_id filter — unfiltered collection listing returns root-branch pages only

* bumpup version  to 0.2.21

* resolve review comments

* resolve coderabbit comments

* test: drop unsupported sub-page nesting assertions

Sub-page creation is not supported by the public API (CreatePage.parent_id is
accepted but not honored on creation), so the test now covers only the supported
page-in-collection behavior.

v0.2.20

Toggle v0.2.20's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
refactor: update WorkspaceFeature model to allow optional fields (#62)

v0.2.19

Toggle v0.2.19's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: Add lite list endpoints, project role distribution, and cycle s…

…tatus filtering to the SDK #56

feat: Add lite list endpoints, project role distribution, and cycle status filtering to the SDK

v0.2.18

Toggle v0.2.18's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
update to v0.2.18 (#55)

v0.2.17

Toggle v0.2.17's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: add dependency and custom relation sub-resources (#50)

* feat: add support for work item dependencies and custom relations

* chore: add level attribute to CreateWorkItemType and UpdateWorkItemType models

* refactor: update work item relations endpoints to use direct identifiers for removal

* chore: implement pagination for work item relation definitions endpoint

* chore: add optional dependencies for development and enhance test dependency management

* fix: update search parameter key and change sequence_id type to int in work item model

v0.2.16

Toggle v0.2.16's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
error response cleansing (#51)

v0.2.15

Toggle v0.2.15's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: added work items count endpoint

v0.2.13

Toggle v0.2.13's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: rich filters + pql on work-item list endpoints, add list_worksp…

…ace [WEB-7393][PAI-1461] (#37)

* feat: rich `filters` + `pql` on work-item list endpoints, add `list_workspace`

Expose the new external API's structured filtering capability on every
work-item list method in the SDK.

- WorkItemQueryParams now accepts `filters: dict[str, Any] | None`
  (the existing `pql: str | None` field is unchanged). A small
  `_prepare_work_item_params` helper JSON-encodes `filters` into the
  `filters=` query string the API expects.
- New `WorkItems.list_workspace(workspace_slug, params)` calling
  `GET /workspaces/<slug>/work-items/` — paginated, total_results,
  spans every project the caller can view.
- `WorkItems.list` and `WorkItems.list_archived` now route through
  `_prepare_work_item_params`, so `filters` and `pql` work uniformly.
- `Cycles.list_work_items` and `Modules.list_work_items` accept
  `WorkItemQueryParams` (typed path) with the same serialization, and
  still accept a plain `Mapping[str, Any]` for backwards compatibility.
- Real-API unit tests for `filters` on `list`, plus `list_workspace`
  with and without `filters`.
- Bump version to 0.2.13.

Backend: makeplane/plane-ee#7376

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* test: tighten `test_list_workspace_work_items_with_filters` assertion

Drop the `or filtered.total_results > 0` fallback (which could pass even
when filtering was a no-op) and assert directly that every returned item
has `priority == "urgent"` — that's the property the test is meant to
prove.

Addresses CodeRabbit review.

* fix: JSON-encode `filters` for the Mapping input path too

Copilot caught a real bug: `Cycles.list_work_items` / `Modules.list_work_items`
accept a plain `Mapping[str, Any]` for BC, but when callers passed `filters`
as a dict through that path the SDK forwarded it to `requests` unchanged.
The API expects `filters` as a JSON-encoded string, so the request would
produce an invalid query parameter.

- Extend `prepare_work_item_params` (renamed from `_prepare_work_item_params`
  since it's now used across resources, no longer private to the work_items
  module) to accept either a `WorkItemQueryParams` DTO or a plain mapping,
  and normalise `filters` to a JSON string in both paths.
- Simplify `Cycles.list_work_items` and `Modules.list_work_items` to use
  the unified helper — drops the `isinstance` branch.
- Fix README: `PaginatedQueryParams` is cursor-based (cursor, per_page),
  not (per_page, page) — that combination has never existed in the model.

Addresses Copilot review on PR #37.

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: akhil-vamshi-konam <konamakhilvamshi@gmail.com>

Back | FazBrowse Home | New Git URL