Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ChangeControl: Resource API & Scheduling #85

Open
wants to merge 14 commits into
base: v3
Choose a base branch
from

Conversation

ksArista
Copy link

@ksArista ksArista commented Feb 1, 2023

Adds initial support for ChangeControl manipulation via the Resource API, in addition to change control scheduling. Functions added here mostly mirror those exposed by the python cvprac library in functionality. This includes the approval endpoints.

Includes the contents of origin/resource-api due to the different URL structure used by modern CVP versions.

cheynearista and others added 14 commits March 24, 2022 11:13
* Inspect uri and modify based on /api | /cvpservice or if CVaaS enabled.
Adds support for getting all ChangeControls, single lookup by id, and addition of a schedule by id.

This currently also includes a rough hack for enabling resource APIs that may be duplicating work on origin/resource-api.
Includes other assorted cleanup to make marshaling behave correctly.

Error conditions seem to behave differently from what the API docs indicate, at least from what my manual prodding has shown.

Additionally, it doesn't seem possible to manually enforce a user and date as the source of these changes -- looking at an API-written schedule on CVP 2022.1.0, the content is correct but has no user and a zero timestamp. Inserting these details ourselves gives a 400 Bad Request.
Reverts some early changes for URL processing in favour of the other in-progress branch.
Extends/modifies the ChangeControl resource types to allow for correct serialisation of create requests, and adds a method mirroring (python) cvprac to create a change control.
Testing confirmed that the API will return a HTTP code 400 if a provided time is illegal -- checking error fields is only useful some time *after* a schedule has occurred.
@ksArista ksArista marked this pull request as ready for review February 6, 2023 17:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants