Releases: fasteiner/xurrent-python
Releases · fasteiner/xurrent-python
Release v0.13.0-preview.23
Added
- Problems: added
Problemclass withProblemPredefinedFilter,ProblemStatus, andProblemImpactenums; supports CRUD, archive/trash/restore, and sub-resources (requests, workflows, notes). - ServiceInstances: added
ServiceInstanceclass withServiceInstancePredefinedFilterandServiceInstanceStatusenums; supports CRUD and sub-resources (cis, slas, users). - Releases: added
Releaseclass withReleasePredefinedFilter,ReleaseStatus, andReleaseImpactenums; supports CRUD, archive/trash/restore, and sub-resources (workflows, notes). - Projects: added
Projectclass withProjectPredefinedFilter,ProjectStatus, andProjectCategoryenums; supports CRUD, archive/trash/restore, and sub-resources (tasks, phases, workflows, risks, notes). - Contracts: added
Contractclass withContractPredefinedFilterandContractStatusenums; supports CRUD and CI listing. - KnowledgeArticles: added
KnowledgeArticleclass withKnowledgeArticlePredefinedFilterandKnowledgeArticleStatusenums; supports CRUD, archive/trash/restore, and sub-resources (requests, service_instances, translations). - Risks: added
Riskclass withRiskPredefinedFilter,RiskStatus, andRiskSeverityenums; supports CRUD, archive/trash/restore, and sub-resources (organizations, projects, services). - ServiceOfferings: added
ServiceOfferingclass withServiceOfferingPredefinedFilterandServiceOfferingStatusenums; supports CRUD. - SkillPools: added
SkillPoolclass withSkillPoolPredefinedFilterenum; supports CRUD, enable/disable, and sub-resources (members, effort_classes). - Requests: added
get_attachments,get_knowledge_articles,get_automation_rules,get_satisfaction_feedback,get_tags, andget_watchesinstance methods. - Tasks: added
get_notes,add_note,get_approvals,get_cis,get_predecessors,get_successors,get_service_instances, andget_automation_rulesinstance methods. - Workflows: added
get_notes,add_note,get_automation_rules,get_phases,get_requests, andget_problemsinstance methods. - People: added
get_cis,get_addresses,get_contacts,get_permissions,get_ci_coverages,get_sla_coverages,get_service_coverages,get_out_of_office_periods, andget_skill_poolsinstance methods. - Organizations: added
get_addresses,get_contacts,get_contracts,get_risks,get_slas, andget_time_allocationsinstance methods. - Services: added
get_workflows,get_request_templates,get_risks,get_service_instances,get_slas, andget_service_offeringsinstance methods. - Calendars: added
get_duration,get_hours, andget_holidaysinstance methods. - Teams: added
get_service_instancesinstance method. - Holidays: added
get_calendarsinstance method. - ClosureCodes: added
ClosureCodeclass; supports CRUD. - Core: added
search(query, types)for cross-resource full-text search viaGET /search. - Core: added
bulk_import(data, import_type, import_format)for CSV/TSV bulk imports viaPOST /import. - Core: added
list_archive(queryfilter)to list all archived items viaGET /archive. - Core: added
list_trash(queryfilter)to list all trashed items viaGET /trash. - Core: added
list_audit_lines(queryfilter)to query the global audit log viaGET /audit_lines. - Docs: added
CLAUDE.mdwith setup instructions, test commands, architecture overview, and changelog requirements for Claude Code. - Products: added
Productclass withProductPredefinedFilterandProductDepreciationMethodenums; supports CRUD, enable/disable, and CI listing. - ProductCategories: added
ProductCategoryclass withProductCategoryRuleSetenum; supports CRUD and enable/disable. - Organizations: added
Organizationclass withOrganizationPredefinedFilterenum; supports CRUD, enable/disable, archive/trash/restore, people and child org listing. - Sites: added
Siteclass withSitePredefinedFilterenum; supports CRUD, enable/disable, archive/trash/restore. - OutOfOfficePeriods: added
OutOfOfficePeriodclass withOutOfOfficePeriodPredefinedFilterenum; supports CRUD and DELETE. - Holidays: added
Holidayclass; supports CRUD. - CustomCollections: added
CustomCollectionclass withCustomCollectionPredefinedFilterenum; supports CRUD, enable/disable, and element listing. - CustomCollectionElements: added
CustomCollectionElementclass withCustomCollectionElementPredefinedFilterenum; supports CRUD and enable/disable. - ShopArticleCategories: added
ShopArticleCategoryclass withShopArticleCategoryPredefinedFilterenum; supports CRUD. - ShopArticles: added
ShopArticleclass withShopArticlePredefinedFilterandShopArticleRecurringPeriodenums; supports CRUD and enable/disable. - ShopOrderLines: added
ShopOrderLineclass withShopOrderLinePredefinedFilter,ShopOrderLineStatus, andShopOrderLineRecurringPeriodenums; supports CRUD. - Services: added
Serviceclass withServicePredefinedFilterenum; supports CRUD and enable/disable. - Calendars: added
Calendarclass withCalendarPredefinedFilterenum; supports CRUD and enable/disable. - TimeAllocations: added
TimeAllocationclass withTimeAllocationPredefinedFilterand category enums; supports CRUD and enable/disable. - EffortClasses: added
EffortClassclass withEffortClassPredefinedFilterenum; supports CRUD and enable/disable. - RequestTemplates: added
RequestTemplateclass withRequestTemplatePredefinedFilter,RequestTemplateCategory,RequestTemplateStatus, andRequestTemplateImpactenums; supports CRUD and enable/disable. - UiExtensions: added
UiExtensionclass withUiExtensionCategoryenum; supports CRUD and enable/disable. - WorkflowTemplates: added
WorkflowTemplateclass withWorkflowTemplatePredefinedFilterandWorkflowTemplateCategoryenums; supports CRUD and enable/disable.
Changed
- People:
Personnow deserializessite(→Site) andorganization(→Organization) references; also fixed aPeople.from_datatypo inupdate(). - ConfigurationItems:
ConfigurationItemnow deserializes theproductreference (→Product). - Products:
Productnow deserializes thecategoryreference (→ProductCategory). - CI: updated GitHub Actions in
release.yml—GitTools/actionsv0→v3(latest version compatible with GitVersion 5.x; v4+ requires GitVersion ≥6.1),stefanzweifel/git-auto-commit-actionv5→v7,softprops/action-gh-releasev1→v2. - CI: updated
python-package.yml—actions/setup-pythonv3→v5; addedpip install .so the package itself is installed before tests run; added aflake8lint step (syntax errors and undefined names only); split test run into separateUnit testsandIntegration testssteps so unit tests always run regardless of credentials; added Python 3.14 to the test matrix.
Fixed
- Core/People/Requests/Tasks/Workflows: restored lazy-loaded cross-module references in type annotations and fixed
Tasksub-resource helper name resolution so flake8 no longer reportsF821undefined names. - Core: URL-encode
search()query parameters so spaces and reserved characters do not produce ambiguous request URLs. - CI: strip an optional leading
vfrom release tags before computing the forced patch bump inrelease.yml.
Release v0.13.0-preview.10
Added
- Problems: added
Problemclass withProblemPredefinedFilter,ProblemStatus, andProblemImpactenums; supports CRUD, archive/trash/restore, and sub-resources (requests, workflows, notes). - ServiceInstances: added
ServiceInstanceclass withServiceInstancePredefinedFilterandServiceInstanceStatusenums; supports CRUD and sub-resources (cis, slas, users). - Releases: added
Releaseclass withReleasePredefinedFilter,ReleaseStatus, andReleaseImpactenums; supports CRUD, archive/trash/restore, and sub-resources (workflows, notes). - Projects: added
Projectclass withProjectPredefinedFilter,ProjectStatus, andProjectCategoryenums; supports CRUD, archive/trash/restore, and sub-resources (tasks, phases, workflows, risks, notes). - Contracts: added
Contractclass withContractPredefinedFilterandContractStatusenums; supports CRUD and CI listing. - KnowledgeArticles: added
KnowledgeArticleclass withKnowledgeArticlePredefinedFilterandKnowledgeArticleStatusenums; supports CRUD, archive/trash/restore, and sub-resources (requests, service_instances, translations). - Risks: added
Riskclass withRiskPredefinedFilter,RiskStatus, andRiskSeverityenums; supports CRUD, archive/trash/restore, and sub-resources (organizations, projects, services). - ServiceOfferings: added
ServiceOfferingclass withServiceOfferingPredefinedFilterandServiceOfferingStatusenums; supports CRUD. - SkillPools: added
SkillPoolclass withSkillPoolPredefinedFilterenum; supports CRUD, enable/disable, and sub-resources (members, effort_classes). - Requests: added
get_attachments,get_knowledge_articles,get_automation_rules,get_satisfaction_feedback,get_tags, andget_watchesinstance methods. - Tasks: added
get_notes,add_note,get_approvals,get_cis,get_predecessors,get_successors,get_service_instances, andget_automation_rulesinstance methods. - Workflows: added
get_notes,add_note,get_automation_rules,get_phases,get_requests, andget_problemsinstance methods. - People: added
get_cis,get_addresses,get_contacts,get_permissions,get_ci_coverages,get_sla_coverages,get_service_coverages,get_out_of_office_periods, andget_skill_poolsinstance methods. - Organizations: added
get_addresses,get_contacts,get_contracts,get_risks,get_slas, andget_time_allocationsinstance methods. - Services: added
get_workflows,get_request_templates,get_risks,get_service_instances,get_slas, andget_service_offeringsinstance methods. - Calendars: added
get_duration,get_hours, andget_holidaysinstance methods. - Teams: added
get_service_instancesinstance method. - Holidays: added
get_calendarsinstance method. - ClosureCodes: added
ClosureCodeclass; supports CRUD. - Core: added
search(query, types)for cross-resource full-text search viaGET /search. - Core: added
bulk_import(data, import_type, import_format)for CSV/TSV bulk imports viaPOST /import. - Core: added
list_archive(queryfilter)to list all archived items viaGET /archive. - Core: added
list_trash(queryfilter)to list all trashed items viaGET /trash. - Core: added
list_audit_lines(queryfilter)to query the global audit log viaGET /audit_lines. - Docs: added
CLAUDE.mdwith setup instructions, test commands, architecture overview, and changelog requirements for Claude Code. - Products: added
Productclass withProductPredefinedFilterandProductDepreciationMethodenums; supports CRUD, enable/disable, and CI listing. - ProductCategories: added
ProductCategoryclass withProductCategoryRuleSetenum; supports CRUD and enable/disable. - Organizations: added
Organizationclass withOrganizationPredefinedFilterenum; supports CRUD, enable/disable, archive/trash/restore, people and child org listing. - Sites: added
Siteclass withSitePredefinedFilterenum; supports CRUD, enable/disable, archive/trash/restore. - OutOfOfficePeriods: added
OutOfOfficePeriodclass withOutOfOfficePeriodPredefinedFilterenum; supports CRUD and DELETE. - Holidays: added
Holidayclass; supports CRUD. - CustomCollections: added
CustomCollectionclass withCustomCollectionPredefinedFilterenum; supports CRUD, enable/disable, and element listing. - CustomCollectionElements: added
CustomCollectionElementclass withCustomCollectionElementPredefinedFilterenum; supports CRUD and enable/disable. - ShopArticleCategories: added
ShopArticleCategoryclass withShopArticleCategoryPredefinedFilterenum; supports CRUD. - ShopArticles: added
ShopArticleclass withShopArticlePredefinedFilterandShopArticleRecurringPeriodenums; supports CRUD and enable/disable. - ShopOrderLines: added
ShopOrderLineclass withShopOrderLinePredefinedFilter,ShopOrderLineStatus, andShopOrderLineRecurringPeriodenums; supports CRUD. - Services: added
Serviceclass withServicePredefinedFilterenum; supports CRUD and enable/disable. - Calendars: added
Calendarclass withCalendarPredefinedFilterenum; supports CRUD and enable/disable. - TimeAllocations: added
TimeAllocationclass withTimeAllocationPredefinedFilterand category enums; supports CRUD and enable/disable. - EffortClasses: added
EffortClassclass withEffortClassPredefinedFilterenum; supports CRUD and enable/disable. - RequestTemplates: added
RequestTemplateclass withRequestTemplatePredefinedFilter,RequestTemplateCategory,RequestTemplateStatus, andRequestTemplateImpactenums; supports CRUD and enable/disable. - UiExtensions: added
UiExtensionclass withUiExtensionCategoryenum; supports CRUD and enable/disable. - WorkflowTemplates: added
WorkflowTemplateclass withWorkflowTemplatePredefinedFilterandWorkflowTemplateCategoryenums; supports CRUD and enable/disable.
Changed
- People:
Personnow deserializessite(→Site) andorganization(→Organization) references; also fixed aPeople.from_datatypo inupdate(). - ConfigurationItems:
ConfigurationItemnow deserializes theproductreference (→Product). - Products:
Productnow deserializes thecategoryreference (→ProductCategory). - CI: updated GitHub Actions in
release.yml—GitTools/actionsv0→v3(latest version compatible with GitVersion 5.x; v4+ requires GitVersion ≥6.1),stefanzweifel/git-auto-commit-actionv5→v7,softprops/action-gh-releasev1→v2. - CI: updated
python-package.yml—actions/setup-pythonv3→v5; addedpip install .so the package itself is installed before tests run; added aflake8lint step (syntax errors and undefined names only); split test run into separateUnit testsandIntegration testssteps so unit tests always run regardless of credentials; added Python 3.14 to the test matrix.
Release v0.12.0-preview.1
Added
- Docs: added
CLAUDE.mdwith setup instructions, test commands, architecture overview, and changelog requirements for Claude Code. - Products: added
Productclass withProductPredefinedFilterandProductDepreciationMethodenums; supports CRUD, enable/disable, and CI listing. - ProductCategories: added
ProductCategoryclass withProductCategoryRuleSetenum; supports CRUD and enable/disable. - Organizations: added
Organizationclass withOrganizationPredefinedFilterenum; supports CRUD, enable/disable, archive/trash/restore, people and child org listing. - Sites: added
Siteclass withSitePredefinedFilterenum; supports CRUD, enable/disable, archive/trash/restore. - OutOfOfficePeriods: added
OutOfOfficePeriodclass withOutOfOfficePeriodPredefinedFilterenum; supports CRUD and DELETE. - Holidays: added
Holidayclass; supports CRUD. - CustomCollections: added
CustomCollectionclass withCustomCollectionPredefinedFilterenum; supports CRUD, enable/disable, and element listing. - CustomCollectionElements: added
CustomCollectionElementclass withCustomCollectionElementPredefinedFilterenum; supports CRUD and enable/disable. - ShopArticleCategories: added
ShopArticleCategoryclass withShopArticleCategoryPredefinedFilterenum; supports CRUD. - ShopArticles: added
ShopArticleclass withShopArticlePredefinedFilterandShopArticleRecurringPeriodenums; supports CRUD and enable/disable. - ShopOrderLines: added
ShopOrderLineclass withShopOrderLinePredefinedFilter,ShopOrderLineStatus, andShopOrderLineRecurringPeriodenums; supports CRUD. - Services: added
Serviceclass withServicePredefinedFilterenum; supports CRUD and enable/disable. - Calendars: added
Calendarclass withCalendarPredefinedFilterenum; supports CRUD and enable/disable. - TimeAllocations: added
TimeAllocationclass withTimeAllocationPredefinedFilterand category enums; supports CRUD and enable/disable. - EffortClasses: added
EffortClassclass withEffortClassPredefinedFilterenum; supports CRUD and enable/disable. - RequestTemplates: added
RequestTemplateclass withRequestTemplatePredefinedFilter,RequestTemplateCategory,RequestTemplateStatus, andRequestTemplateImpactenums; supports CRUD and enable/disable. - UiExtensions: added
UiExtensionclass withUiExtensionCategoryenum; supports CRUD and enable/disable. - WorkflowTemplates: added
WorkflowTemplateclass withWorkflowTemplatePredefinedFilterandWorkflowTemplateCategoryenums; supports CRUD and enable/disable.
Changed
- People:
Personnow deserializessite(→Site) andorganization(→Organization) references; also fixed aPeople.from_datatypo inupdate(). - ConfigurationItems:
ConfigurationItemnow deserializes theproductreference (→Product). - Products:
Productnow deserializes thecategoryreference (→ProductCategory). - CI: updated GitHub Actions in
release.yml—GitTools/actionsv0→v3(latest version compatible with GitVersion 5.x; v4+ requires GitVersion ≥6.1),stefanzweifel/git-auto-commit-actionv5→v7,softprops/action-gh-releasev1→v2. - CI: updated
python-package.yml—actions/setup-pythonv3→v5; addedpip install .so the package itself is installed before tests run; added aflake8lint step (syntax errors and undefined names only); split test run into separateUnit testsandIntegration testssteps so unit tests always run regardless of credentials; added Python 3.14 to the test matrix.
Release v0.11.0
Added
- Core: support OAuth client credentials authentication via
client_idandclient_secretinXurrentApiHelperwhile maintaining API key compatibility. - Core: The OAuth token endpoint now dynamically determines the domain from
base_url, preserving any regional subdomains to ensure consistency between API and OAuth endpoints. - Core: When using OAuth, if a 401 Unauthorized error is received, the token is automatically refreshed and the API call is retried once. If authentication still fails after token refresh, an explicit HTTPError is raised.
Release v0.11.0-preview.4
Added
- Core: support OAuth client credentials authentication via
client_idandclient_secretinXurrentApiHelperwhile maintaining API key compatibility. - Core: OAuth token endpoint TLD is now dynamically derived from the API base URL, ensuring the same top-level domain is used for both API and OAuth.
- Core: When using OAuth, if a 401 Unauthorized error is received, the token is automatically refreshed and the API call is retried once. If authentication still fails after token refresh, an explicit HTTPError is raised.
Release v0.11.0-preview.10
Added
- Core: support OAuth client credentials authentication via
client_idandclient_secretinXurrentApiHelperwhile maintaining API key compatibility. - Core: The OAuth token endpoint now dynamically determines the domain from
base_url, preserving any regional subdomains to ensure consistency between API and OAuth endpoints. - Core: When using OAuth, if a 401 Unauthorized error is received, the token is automatically refreshed and the API call is retried once. If authentication still fails after token refresh, an explicit HTTPError is raised.
Release v0.10.0
Added
- Core: Added bulk_export() function to dowload bulk record data
Changed
- Core: Switched to a requests.session object to enable persistent connection recycling.
- Core: Provide options to disable pagination and prevent api result's JSON parsing (in association with bulk_export).
Fixed
- Core: do not prepend the base_url to the uri of an api_call if a protocol is already included (i.e. uri is already fully-formed).
Release v0.7.0
Added
.devcontainer/devcontainer.json
- Introduced a new Visual Studio Code development container configuration to streamline the development environment.
- Uses the base Ubuntu image from Microsoft's devcontainers.
- Adds common development utilities via
common-utilsfeature. - Installs VS Code extensions:
elagil.pre-commit-helperms-python.python
- Runs
.devcontainer/setup.shpost container creation for environment setup.
.devcontainer/setup.sh
- Added a setup script for the development container:
- Installs Poetry package manager.
- Installs all project dependencies, including development dependencies.
- Activates the Poetry virtual environment and opens a shell.
- Installs pre-commit hooks for code quality enforcement.
Changed
Contributing.md
- Updated instructions for activating the Poetry virtual environment:
- Changed from
poetry shelltoeval $(poetry env activate)for improved shell compatibility and automation.
- Changed from
README.md
- Added badges to the top of the README for enhanced project visibility:
- PyPI version badge.
- PyPI downloads badge.
- GPL v3 License badge.
pyproject.toml
- Added new dependency:
shellpackage (^1.0.1) for enhanced shell scripting and command execution capabilities within the project.
Release v0.7.0-preview.2
Added
.devcontainer/devcontainer.json
- Introduced a new Visual Studio Code development container configuration to streamline the development environment.
- Uses the base Ubuntu image from Microsoft's devcontainers.
- Adds common development utilities via
common-utilsfeature. - Installs VS Code extensions:
elagil.pre-commit-helperms-python.python
- Runs
.devcontainer/setup.shpost container creation for environment setup.
.devcontainer/setup.sh
- Added a setup script for the development container:
- Installs Poetry package manager.
- Installs all project dependencies, including development dependencies.
- Activates the Poetry virtual environment and opens a shell.
- Installs pre-commit hooks for code quality enforcement.
Changed
Contributing.md
- Updated instructions for activating the Poetry virtual environment:
- Changed from
poetry shelltoeval $(poetry env activate)for improved shell compatibility and automation.
- Changed from
README.md
- Added badges to the top of the README for enhanced project visibility:
- PyPI version badge.
- PyPI downloads badge.
- GPL v3 License badge.
pyproject.toml
- Added new dependency:
shellpackage (^1.0.1) for enhanced shell scripting and command execution capabilities within the project.
Release v0.6.0
Changed
- Ensure that version numbers in ChangeLog and releases are in sync