devopshq / tfs

Microsoft TFS API Python client
https://devopshq.github.io/tfs/
MIT License
110 stars 28 forks source link

Support TFS2018 #76

Open genewuwu opened 5 years ago

genewuwu commented 5 years ago

Can I use the lib in this project to support TFS 2018? I tried to connect to TFS 2018 directly ,but it failed

allburov commented 5 years ago

@genewuwu It must work with TFS 2018. Could you give piece of code and traceback with more information?

allburov commented 5 years ago

Could someone who work with TFS 2018 give a answer - do the library work with TFS 2018?

Jowh2 commented 5 years ago

@allburov does not seem to be working for me after we upgraded past 2018. My guess is that basic auth is no longer supported. I'm getting error 401 with same code as before with a link that works fine when I visit it manually. Edit: added PAT to my connection string and now it's working fine again.

allburov commented 5 years ago

@Jowh2 something like this?

client = TFSAPI("https://tfs.tfs.ru/tfs/", pat=personal_access_token)

I will add info about TFS2018 to docs soon

Jowh2 commented 5 years ago

@allburov username=username, pat=pat (after generating one for your tfs user that is). It's actually somewhat documented under the authorization section which is how I found the solution.

https://devopshq.github.io/tfs/examples.html#create-connection

Jowh2 commented 5 years ago

Actually it might work without username as well, I haven't tested it yet though. Doc says password will be ignored when pat is given so I assumed we still needed the username.

allburov commented 4 years ago

I've get feedback about TFS 2018 to email. Sometimes we have to change api_version explicitly. But TFSAPI doesn't accept api version.

I currently construct an TFSAPI object first, and then access its rest_client to set its api_version field I get an error updating a work item on our TFS 2018 server if I do not specify the api_version beforehand

Work around:

session = tfs.TFSAPI("https://dev.azure.com/xyz", project='scrum', pat=token)
session.rest_client.api_version = 4.0