microsoft / microsoft/azure-devops-python-api
PipelinesClient is missing model implementation for pipeline creation
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 684
- Forks
- 218
- Avg merge
- 8d 10h
- Merged PRs (30d)
- 1
Description
Hi,
i tried to create a build pipeline with the azure.devops.v6_0.pipelines.PipelinesClient and noticed that this is currently not possible because of a missing model definition within the CreatePipelineConfigurationParameters. This object currently only has a type attribute but it also needs (at least) a repository and a path attribute to refer the corresponding repository.
Attached you'll find a minimal working example for my case. I don't know which fields might be missing in addition to get it working in general.
I found my solution in this blog post and I'll move to a simple requests call for this case until it is fixed.
class CreatePipelineConfigurationParameters(Model):
"""
Configuration parameters of the pipeline.
:param type: Type of configuration.
:type type: object
"""
_attribute_map = {
'path': {'key': 'path', 'type': 'object'},
'repository': {'key': 'repository', 'type': 'RepositoryReference'}, # currently missing
'type': {'key': 'type', 'type': 'object'}, # currently missing
}
def __init__(self, path=None, repository=None, type=None):
super(CreatePipelineConfigurationParameters, self).__init__()
self.path = path
self.repository = repository # currently missing
self.type = type # currently missing
# currently missing, added as minimal working sample
class RepositoryReference(Model):
_attribute_map = {
'id': {'key': 'id', 'type': 'object'},
'type': {'key': 'type', 'type': 'object'}
}
def __init__(self, id=None, type=None):
self.id = id
self.type = type
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in models.py at CreatePipelineConfigurationParameters and compare its current fields with the working example in the issue. Check how RepositoryReference is represented and how these models are serialized for pipeline creation. Done means the client can create a pipeline using the repository and path values described in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, python
- Domain
- api, devops
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100