microsoft / microsoft/azure-devops-python-api

Getting started code throws error in notebook

Open
#467 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
684
Forks
218
Avg merge
8d 10h
Merged PRs (30d)
1

Description

Running this code from the Getting Started section of the readme.md:

from azure.devops.connection import Connection
from msrest.authentication import BasicAuthentication
import pprint

# Fill in with your personal access token and org URL
personal_access_token = '**removed**'
organization_url = 'https://**notthedevdomain**.visualstudio.com/'

# Create a connection to the org
credentials = BasicAuthentication('', personal_access_token)
connection = Connection(base_url=organization_url, creds=credentials)

# Get a client (the "core" client provides access to projects, teams, etc)
core_client = connection.clients.get_core_client()

# Get the first page of projects
get_projects_response = core_client.get_projects()
index = 0
while get_projects_response is not None:
    for project in get_projects_response.value:
        pprint.pprint("[" + str(index) + "] " + project.name)
        index += 1
    if get_projects_response.continuation_token is not None and get_projects_response.continuation_token != "":
        # Get the next page of projects
        get_projects_response = core_client.get_projects(continuation_token=get_projects_response.continuation_token)
    else:
        # All projects have been retrieved
        get_projects_response = None

Produces this error:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/tmp/ipykernel_19/1987585116.py in <cell line: 19>()
     18 index = 0
     19 while get_projects_response is not None:
---> 20     for project in get_projects_response.value:
     21         pprint.pprint("[" + str(index) + "] " + project.name)
     22         index += 1

AttributeError: 'list' object has no attribute 'value'

In this environment:

ArcGIS Notebooks
Server Information:
You are using Jupyter notebook.

The version of the notebook server is: 6.4.12
The server is running on this version of Python:
Python 3.9.16 (main, Jan 11 2023, 16:05:54)
[GCC 11.2.0]

Current Kernel Information:
Python 3.9.16 (main, Jan 11 2023, 16:05:54)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.34.0 -- An enhanced Interactive Python. Type '?' for help.

To solve this error you have to remove the ".value" on get_projects_response on line 20.

while get_projects_response is not None:
    for project in get_projects_response:

rather than the current:

while get_projects_response is not None:
    for project in get_projects_response.value:

Would be cool if the readme.md could get updated to improve the onboarding experience for this package.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Update the Getting Started example in readme.md, focusing on the loop over get_projects_response around line 20. Verify that the notebook example iterates over the returned projects correctly and no longer raises the reported AttributeError.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, python
Domain
documentation
Issue type
Documentation
Difficulty
1/5
Estimated time
Under an hour
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.