Open DaBittna opened 5 months ago
@DaBittna Once you check the connection you should see a list of projects in the combobox
You need to select one and only the. It should work.
It is not clear enough and I will document it better but this is also the way it works for jetbrains gitlab bundle task management
I already tried that, but it still doesn't work.
Even if I have a project selected and set a PAT that has full access to all organizations, I still get the same error.
Are there any logs I should send you?
Try to check the file stored in IDE configuration directory/options/other.xml
under <component name="RecentTaskRepositories">
entry.
Remove any azd instance there and try to set the task management again please let me know how that goes
I tried it, but sadly it doesn't work. One thing I noticed: It doesn't seem to save the project properly. I selected a project and clicked "Save", but when I open the dialog the next time, it says "Set server URL and token first" again. I also didn't see a project name in the XML file you mentioned (but I don't know whether it would be saved there). Maybe it tries to call the Azure DevOps API with no project, and fails because of that?
@DaBittna, before I dig into the code, can you please uninstall and reinstall the Task Management plugin?
I know it is a bummer, but from my experience, this plugin is more buggy than other Jetbrains plugins.
I also had to do it to fix the GitHub tasks connection.
If that doesn't help - I'll try to reproduce and for that a few questions:
@DaBittna, I found the issue There is a limit of 200 work Items in the Rest API https://learn.microsoft.com/en-us/rest/api/azure/devops/wit/work-items/list?view=azure-devops-rest-7.1&tabs=HTTP
I will release a fix later this week.
Sorry about it.
@DaBittna I will release tomorrow a version with a fix for this, will appreciate it if you could update me if it works for you.
Also I am curios to know if the right click link work item is working for you.
the new version was released and approved (faster than expected) Please let me know
Sadly, the fix doesn't seem to have worked; I still get the same error. π
Could it maybe matter that we are using a non-default process? The default is "Basic" (I think), but we are using a custom one based on the "Scrum (default)" process
No I don't think it is related.
I just fetching the work items with a rest there is no reference to the process. Let me check the if there are any other size limitations in the rest I am doing.
Sorry about it - will update you ASAP
@DaBittna I did a refactory in the Task management Jetbrains approved the new version - please let me know how it goes: https://plugins.jetbrains.com/plugin/22319-azd/edit/versions/stable/523303
It pains me to say this, but... still the sameπ
Are there any log messages I could send you, or any troubleshooting I should do on my side to narrow down what the underlying problem is?
@DaBittna I am sorry and a bit ashamed. Thank you for keep believing, it will work in the end.
Did the statistics in the AZD settings is enable for you? If so, I will try to see if any exceptions are reported.
Again, I am sorry; please email me at jgafner@gmail.com, and I will generate a two-month free coupon for you.
It seems to save the project name now, I can see it in other.xml
I also noticed I didn't answer all your previous questions:
Can you see in the logs of the ide for exceptions related?
I created a log file with Help -> Collect Logs and Diagnostic Data, but I don't even know where to start looking because there are so many files π
I also temporarily enabled usage and exception statistics and performed my usual steps again (configure server, try to open tasks) at 13:58 CEST. Maybe you can see something on your side?
@DaBittna Can you give a try to the new version now available on the marketplace ?
Still the same π
However, I noticed one more thing:
The list of projects is not actually a list of projects, but of repositories.
For example, we have a repository called "ZZZ_Documentation", and this is shown in the list, even though there is no project by that name.
I don't know how you call the Azure DevOps API, but if you give it a repo ID in a place where it expects a project ID, this might cause the issue we're seeing? However, that wouldn' explain why it works for you.
No this is another small issue not related - I will fix this but currently I fetch the repos and use the project that come within the response but I will bro g the projects instead you are right.
About the original issue - when and if you can - please turn on the statistics and redo the flow please, last time I found some missing properties that cause a serialization problem. Unfortunately the azure devops api documentation doesn't provide that info.
No problem. π I just tried it again, at 09:07 CEST.
@DaBittna This time, I saw nothing from the reported statistics.
I uploaded a new version, but it is still not available on the stable channel, so I also uploaded it to the EAP channel if you want to try it: https://plugins.jetbrains.com/plugin/22319-azd/versions/eap?noRedirect=true
It also fixes the repo-project issue you mentioned.
I checked this version on my Linux and my Mac, and the project is saved after restarting the IDE.
By the way, are the pull request features working for you? If so, when you open a PR and right-click on it, a newly available action can link the PR to a work item. Does that work for you? I am asking because it uses some common functionality with Task management.
Thanks again
Thank you for the EAP release (which is a good way to not bother everyone else with the daily updates π)
I tried it (at 17:19 CEST), the error remains the same though.
However, linking PRs and work items works! I didn't know about that feature before. That list gets properly populated. π
@DaBittna Did you remove the previous server added? Can you try again with following steps: but before remove all the previous servers, make sure there are no left over in the others.xml, restart the ide and try to add again
Thanks really appreciate your help
No problem. I just performed these steps (at around 11:00 CEST), the error message remains the same.
At least the project is now stored in other.xml
:
Hi @DaBittna
Sorry, I was OOO this past week.
I will keep investigating this in the upcoming week and update you ASAP.
Hi @Jonatha1983 This is an excellent project, and I was very pleased to find it after being so disappointed with the Microsoft version.
However, I've experienced the same issues that have been reported here. I decided to do a bit of trial and error, and digging through the logs to try and get as much information to help as I could. I was repeating steps to try and get a consistent error and I hope this helps.
Our DevOps project, like @DaBittna, is also a custom setup. Ours is based off Agile, has a few extra fields, and some custom work item types as well.
I wasn't able to get a list of work items in rider, either in the Tasks > Open Tasks
menu, or in the PR > Link PR to AZD Work Item
menu, both are blank/empty lists.
I noticed that for me, the other.xml
file never stores the Project or Organisation name. Our Org Name has a hyphen in it, and our Project Name has a space in it's name, in case that's relevant. I've replaced the real names with "Org-Name" and "Project Name" in the log entries, but I left the URL encoded %20 in the project name as that's present in the log.
When I try to save the task server settings, it does keep them in the UI during the Rider session, so re-opening the configure servers page shows the project and organisation values. But after restarting rider, the entry no longer has the org or project name, however the URL and token remain. Re-entering them doesn't change the behaviour. I tried multiple things mentioned in this thread, such as disabling/reinstalling the addon, removing the entry from other.xml
etc.
My entry in other.xml
looks like this:
...
<component name="RecentTaskRepositories">
<AzureDevOps shared="false" url="https://dev.azure.com">
<commitMessageFormat>{id} {summary}</commitMessageFormat>
<password />
<option name="loginAnonymously" value="false" />
<option name="preferredCloseTaskState" />
<option name="preferredOpenTaskState" />
<option name="shouldFormatCommitMessage" value="false" />
<option name="useHttpAuthentication" value="false" />
<option name="useProxy" value="false" />
<username />
</AzureDevOps>
</component>
...
I can see in the idea.log
file there are a number of successful API requests, lots of them. There are a number of repeating errors trying to parse the work items API response, and from what I could see this appears to be main/only error in the log. Below is a part of the log, and it's worth noting that the response body does contain a valid JSON response but I've removed it and changed the org and project names:
In the log file there are then some repetitions of the POST request, the same 200 response, and then the following error, that's also output in full in the log above:
2024-09-10 12:27:09,259 [ 27491] INFO - STDERR - Exception in thread "AWT-EventQueue-0" com.intellij.collaboration.api.json.HttpJsonDeserializationException: Deserialization of Request POST https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/wiql?api-version=7.2-preview.2 response to JSON failed - com.gafner.plugin.azd.tasks.models.Field PluginClassLoader(plugin=PluginDescriptor(name=Azd, id=com.gafner.azd, descriptorPath=plugin.xml, path=~\AppData\Roaming\JetBrains\Rider2024.2\plugins\azuredevops, version=2024.2.6, package=null, isBundled=false), packagePrefix=null, state=active, parents=PluginDescriptor(name=Git, id=Git4Idea, moduleName=intellij.vcs.git/terminal, descriptorPath=intellij.vcs.git.terminal.xml, path=~\AppData\Local\Programs\Rider\plugins\vcs-git, version=242.21829.210, package=git4idea.terminal, isBundled=true), PluginDescriptor(name=Git, id=Git4Idea, moduleName=intellij.vcs.git/newUiOnboarding, descriptorPath=intellij.vcs.git.newUiOnboarding.xml, path=~\AppData\Local\Programs\Rider\plugins\vcs-git, version=242.21829.210, package=git4idea.newUiOnboarding, isBundled=true), PluginDescriptor(name=Git, id=Git4Idea, moduleName=intellij.vcs.git.coverage, descriptorPath=intellij.vcs.git.coverage.xml, path=~\AppData\Local\Programs\Rider\plugins\vcs-git, version=242.21829.210, package=com.intellij.vcs.git.coverage, isBundled=true), PluginDescriptor(name=IDEA CORE, id=com.intellij, moduleName=intellij.platform.vcs.impl, descriptorPath=intellij.platform.vcs.impl.xml, path=~\AppData\Local\Programs\Rider\lib, version=242.21829.210, package=null, isBundled=true), PluginDescriptor(name=IDEA CORE, id=com.intellij, moduleName=intellij.platform.vcs.log.impl, descriptorPath=intellij.platform.vcs.log.impl.xml, path=~\AppData\Local\Programs\Rider\lib, version=242.21829.210, package=null, isBundled=true), PluginDescriptor(name=IDEA CORE, id=com.intellij, moduleName=intellij.platform.vcs.dvcs.impl, descriptorPath=intellij.platform.vcs.dvcs.impl.xml, path=~\AppData\Local\Programs\Rider\lib, version=242.21829.210, package=null, isBundled=true), PluginDescriptor(name=IDEA CORE, id=com.intellij, moduleName=intellij.platform.collaborationTools, descriptorPath=intellij.platform.collaborationTools.xml, path=~\AppData\Local\Programs\Rider\lib, version=242.21829.210, package=null, isBundled=true), PluginDescriptor(name=YAML, id=org.jetbrains.plugins.yaml, descriptorPath=plugin.xml, path=~\AppData\Local\Programs\Rider\plugins\yaml, version=242.21829.210, package=org.jetbrains.yaml, isBundled=true), PluginDescriptor(name=Git, id=Git4Idea, descriptorPath=plugin.xml, path=~\AppData\Local\Programs\Rider\plugins\vcs-git, version=242.21829.210, package=git4idea, isBundled=true), PluginDescriptor(name=Task Management, id=com.intellij.tasks, descriptorPath=plugin.xml, path=~\AppData\Local\Programs\Rider\plugins\tasks, version=242.21829.210, package=null, isBundled=true), )
2024-09-10 12:27:09,259 [ 27491] INFO - STDERR - at com.gafner.plugin.azd.api.m$c.a(SourceFile:82)
2024-09-10 12:27:09,259 [ 27491] INFO - STDERR - at com.gafner.plugin.azd.api.m$c.invoke(SourceFile:77)
...
I'm guessing there's something in the API response that can't be parsed correctly. Here is a copy of the response from the log above, but formatted instead
The pull requests section works, and the pipelines section seems to work for some pipelines. There's a potentially related issue, as one pipeline doesn't work, and continues to just spin loading, while the idea.log
fills up with the same request and response entries hundreds of times:
2024-09-10 13:54:01,740 [1941980] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/test/runs/1000769/results?$top=100&$skip=100&detailsToInclude=subResults&api-version=7.2-preview.3
2024-09-10 13:54:01,871 [1942111] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/test/runs/1000769/results?$top=100&$skip=100&detailsToInclude=subResults&api-version=7.2-preview.3 : Status code 200
2024-09-10 13:54:01,874 [1942114] FINER - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/test/runs/1000769/results?$top=100&$skip=100&detailsToInclude=subResults&api-version=7.2-preview.3 : Response body: {"value":[{"id":100100,"project":{"id":"4ad30989-c129-470d-8663-d6c3d397169e", ... snip ... }
I hope this helps! π
Hi @amyskippy
Thanks for notifying- I saw that and a fix is under test will be release in the upcoming days.
@amyskippy A new version is now available. I would really appreciate it if you could test this version and let me know if the issue is fixed for you.
@amyskippy - sorry I see the issue is not fix - will update - sorry about it
@amyskippy - sorry I see the issue is not fix - will update - sorry about it
No worries, I've just tried again, and I can see what you've described, the can't connect error and the organisation and project saving issues are still there. I hope it's an easy fix, and thanks for working on it so quickly!
@amyskippy Hi, the latest available version is working for me. I would really appreciate it if you could approve that for you as well.
If it works and you find the plugin useful, I would really appreciate it if you could rate and leave a nice review on the plugin marketplace page. This will really help me keep working on it.
@Jonatha1983 Hi! I'll be happy to leave a review and convert into a paying customer once we can get it working on our end.
Unfortunately, I'm still getting the Cannot connect to https://dev.azure.com
error in Rider.
It does however, keep the task server setting after I restart Rider, so that seems to be fixed.
At first I though the logs didn't have any stack trace or warnings except for the final entry, but I've just found this:
2024-09-12 09:16:46,964 [ 521903] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitemtypes/Epic/states?api-version=7.2-preview.1
2024-09-12 09:16:46,964 [ 521903] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitemtypes/Bug/states?api-version=7.2-preview.1
2024-09-12 09:16:46,964 [ 521903] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitemtypes/Issue/states?api-version=7.2-preview.1
2024-09-12 09:16:46,964 [ 521903] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitemtypes/Requirement/states?api-version=7.2-preview.1
2024-09-12 09:16:46,964 [ 521903] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitemtypes/Feature/states?api-version=7.2-preview.1
2024-09-12 09:16:46,964 [ 521903] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitemtypes/Task/states?api-version=7.2-preview.1
2024-09-12 09:16:46,966 [ 521905] WARN - #c.i.t.i.TaskManagerImpl - Cannot connect to AZDWorkItemRepository(URL='https://dev.azure.com')
java.lang.IllegalArgumentException: Illegal character in path at index 89: https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitemtypes/Test Plan
at java.base/java.net.URI.create(URI.java:932)
at java.base/java.net.URI.resolve(URI.java:1122)
at com.intellij.collaboration.util.URIUtilKt.resolveRelative(URIUtil.kt:66)
at com.gafner.plugin.azd.api.request.g.b(SourceFile:148)
at com.gafner.plugin.azd.tasks.AZDWorkItemRepository$c$1$a.invokeSuspend(SourceFile:274)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.internal.SoftLimitedDispatcher$Worker.run(SoftLimitedDispatcher.kt:125)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:608)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:873)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:763)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:750)
Suppressed: java.lang.IllegalArgumentException: Illegal character in path at index 89: https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitemtypes/Test Suite
... 13 more
Caused by: java.net.URISyntaxException: Illegal character in path at index 89: https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitemtypes/Test Suite
at java.base/java.net.URI$Parser.fail(URI.java:2995)
at java.base/java.net.URI$Parser.checkChars(URI.java:3166)
at java.base/java.net.URI$Parser.parseHierarchical(URI.java:3248)
at java.base/java.net.URI$Parser.parse(URI.java:3196)
at java.base/java.net.URI.<init>(URI.java:645)
at java.base/java.net.URI.create(URI.java:930)
... 12 more
Suppressed: java.lang.IllegalArgumentException: Illegal character in path at index 89: https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitemtypes/Test Case
... 13 more
Caused by: java.net.URISyntaxException: Illegal character in path at index 89: https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitemtypes/Test Case
at java.base/java.net.URI$Parser.fail(URI.java:2995)
at java.base/java.net.URI$Parser.checkChars(URI.java:3166)
at java.base/java.net.URI$Parser.parseHierarchical(URI.java:3248)
at java.base/java.net.URI$Parser.parse(URI.java:3196)
at java.base/java.net.URI.<init>(URI.java:645)
at java.base/java.net.URI.create(URI.java:930)
... 12 more
Suppressed: java.lang.IllegalArgumentException: Illegal character in path at index 89: https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitemtypes/User Story
... 13 more
Caused by: java.net.URISyntaxException: Illegal character in path at index 89: https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitemtypes/User Story
at java.base/java.net.URI$Parser.fail(URI.java:2995)
at java.base/java.net.URI$Parser.checkChars(URI.java:3166)
at java.base/java.net.URI$Parser.parseHierarchical(URI.java:3248)
at java.base/java.net.URI$Parser.parse(URI.java:3196)
at java.base/java.net.URI.<init>(URI.java:645)
at java.base/java.net.URI.create(URI.java:930)
... 12 more
Caused by: java.net.URISyntaxException: Illegal character in path at index 89: https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitemtypes/Test Plan
at java.base/java.net.URI$Parser.fail(URI.java:2995)
at java.base/java.net.URI$Parser.checkChars(URI.java:3166)
at java.base/java.net.URI$Parser.parseHierarchical(URI.java:3248)
at java.base/java.net.URI$Parser.parse(URI.java:3196)
at java.base/java.net.URI.<init>(URI.java:645)
at java.base/java.net.URI.create(URI.java:930)
... 12 more
I can also confirm that the logs contain lots of successful 200 requests to query workitems by ids:
2024-09-12 09:16:46,598 [ 521537] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitems?ids=169,168,139,137,158,159,162,171,165,145,161,141,163,153,152,154,155,89,151,150,149,148,144,143,140,105,78,103,107,110,136,135,134,133,132,131,130,129,128,127,126,125,124,123,121,112,116,108,106,79,69,68,67,63,58,113,111,109,71,81,64,80,73,82,77,72,70,66,62,61,60,90,85,88,86,83,84,57,65,55,56,52,53,54,49,51,50,47,18,46,26,44,10,34,17,48,39,29,32,24,20,21,41,45,4,8,40,42,38,43,37,35,36,33,31,6,23,28,30,25,27,19,22,16,15,14,9,7,11,13,12,5,3,2,1&fields=System.Id,System.TeamProject,System.WorkItemType,System.Title,System.AssignedTo,System.ChangedDate,System.CreatedDate,System.State&api-version=7.2-preview.3
2024-09-12 09:16:46,598 [ 521537] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitems?ids=1202,1200,1195,1150,1149,1148,1146,1144,1143,1142,1134,1133,1145,1208,968,1203,1238,1204,1235,1229,1231,1234,1237,1236,1233,1232,1230,1228,1227,1226,989,983,982,973,972,971,970,969,1225,1223,1224,1222,1220,1221,1219,1216,1218,1217,1198,1191,1187,1050,1215,1214,1213,1212,1211,1206,1210,1209,1207,1205,1152,1147,967,1184,1186,525,1190,1188,1199,1196,1194,758,757,716,1193,1081,1080,1079,1078,1077,1076,1075,1074,1069,1064,1063,1062,1061,1060,1059,1058,1057,1047,1039,1036,1034,1023,1022,1021,1020,1018,1017,1016,1015,1011,1010,1007,1002,986,985,984,981,979,966,964,960,940,938,924,915,890,881,879,878,877,876,874,873,872,871,869,867,866,865,975,1033,1098,1099,883,1056,944,642,338,1108,1082,1102,1183,1157,1156,1185,1181,1158,1182,1071,1068,1067,1054,1053,1052,1024,1073,1095,1096,1129,1153,1154,1155,1000,988,1162,1161,1160,1159,1180,1175,1179,1178,1177,1176,1110,1174,1173,1172,1171,1115,1111,1125,1138,1170,1169,1168,1163,1167,1166,1164,1165,1091,1092&fields=System.Id,System.TeamProject,System.WorkItemType,System.Title,System.AssignedTo,System.ChangedDate,System.CreatedDate,System.State&api-version=7.2-preview.3
2024-09-12 09:16:46,598 [ 521537] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitems?ids=898,896,897,895,894,893,892,891,887,886,885,880,884,805,656,840,832,856,846,845,841,839,838,825,820,819,818,815,814,813,809,807,761,759,862,858,854,799,833,532,848,847,844,837,834,798,842,828,830,829,657,661,790,826,824,779,789,786,781,771,822,823,821,774,778,792,788,783,776,775,782,679,680,674,677,678,681,682,772,683,810,808,806,817,800,801,767,755,751,687,649,629,606,578,561,560,549,547,544,539,534,515,501,478,472,466,461,460,449,448,446,443,439,433,428,426,422,419,407,406,360,359,750,756,803,802,796,795,794,797,793,765,764,787,791,784,785,572,734,763,762,754,746,733,748,747,745,744,736,743,742,741,740,739,665,737,731,730,732,729,728,727,724,721,717,705,698,694,690,689,663,660,659,658,726,725,668,719,718,720,662,715,712,711,710,709,708,707,706,704,702,703,701,700,667,666,697,696,695,693&fields=System.Id,System.TeamProject,System.WorkItemType,System.Title,System.AssignedTo,System.ChangedDate,System.CreatedDate,System.State&api-version=7.2-preview.3
2024-09-12 09:16:46,598 [ 521537] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitems?ids=692,691,673,671,670,669,686,688,664,672,684,685,676,650,654,655,653,651,652,645,643,647,641,648,553,591,607,609,612,627,631,632,633,634,646,644,630,593,583,579,575,574,555,545,514,487,463,462,456,435,417,415,402,542,640,628,638,639,635,608,637,636,621,623,157,573,626,568,527,625,624,600,622,594,432,613,590,605,604,602,603,601,598,599,597,596,595,592,480,59,589,588,587,586,585,584,242,142,104,580,576,582,581,577,550,570,243,541,569,554,571,176,558,556,559,442,552,528,531,216,543,540,416,409,118,117,410,538,537,536,513,535,533,530,529,522,521,520,518,517,504,499,498,484,458,447,390,345,304,174,300,450,523,346,342,341,339,241,505,469,272,451,473,471,468,424,418,474,464,465,467,425,455,457,459,453,452,445,440,438,437,436,430,427,421,420,404,400,396,379,380,358,431,434,441,429,423,197,74,378&fields=System.Id,System.TeamProject,System.WorkItemType,System.Title,System.AssignedTo,System.ChangedDate,System.CreatedDate,System.State&api-version=7.2-preview.3
2024-09-12 09:16:46,598 [ 521537] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitems?ids=172,353,340,356,414,405,403,393,383,391,392,394,398,399,401,385,381,363,364,362,337,413,412,411,408,354,357,350,386,395,372,361,306,305,343,146,325,316,321,373,382,365,371,370,268,387,336,374,384,376,375,368,366,369,367,352,351,344,355,349,262,253,247,76,303,335,334,333,331,332,274,273,330,329,328,327,326,257,291,324,323,322,320,319,317,318,315,314,313,312,311,310,309,308,307,290,276,302,301,261,299,298,296,297,294,295,292,293,75,289,285,288,287,286,256,281,258,265,227,284,255,279,278,277,282,283,254,260,259,280,263,203,177,271,264,275,252,249,248,266,251,250,215,270,269,246,233,232,230,229,228,226,224,221,220,219,204,202,200,198,138,240,225,267,238,234,245,235,231,244,214,213,206,205,239,237,179,236,178,194,122,119,222,217,218,201,199,196,195,183,102,167,181,182,180,166,156,164,87,170&fields=System.Id,System.TeamProject,System.WorkItemType,System.Title,System.AssignedTo,System.ChangedDate,System.CreatedDate,System.State&api-version=7.2-preview.3
2024-09-12 09:16:46,598 [ 521537] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitems?ids=1137,1136,1103,1107,1106,1104,1105,1101,1116,1140,1139,1151,1141,1117,1072,1070,1066,1065,1032,1025,1013,957,956,955,951,855,852,851,850,849,812,811,804,777,766,760,753,752,738,735,723,722,714,713,699,1122,1112,1124,1135,1132,1131,1114,1128,1126,1127,1121,1120,1113,1123,1119,1109,1118,1003,921,1100,1093,1088,1087,1086,1085,1046,1045,1042,1030,1029,1028,1027,1019,993,992,991,990,978,963,962,961,948,932,931,930,929,928,927,926,925,923,922,889,888,864,861,860,859,836,835,831,526,524,397,377,1083,1089,1090,1084,1051,816,947,980,1014,1055,1040,1048,1049,388,1044,1038,1026,1035,1043,1041,1001,987,999,998,996,768,770,997,977,994,976,965,959,953,952,954,958,949,943,780,945,946,950,942,941,769,773,935,934,937,936,857,939,933,562,567,565,566,564,563,548,546,483,482,843,557,853,519,863,919,918,916,917,920,914,913,912,911,910,909,908,907,906,905,904,903,899,901,902,900&fields=System.Id,System.TeamProject,System.WorkItemType,System.Title,System.AssignedTo,System.ChangedDate,System.CreatedDate,System.State&api-version=7.2-preview.3
2024-09-12 09:16:46,797 [ 521736] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitems?ids=169,168,139,137,158,159,162,171,165,145,161,141,163,153,152,154,155,89,151,150,149,148,144,143,140,105,78,103,107,110,136,135,134,133,132,131,130,129,128,127,126,125,124,123,121,112,116,108,106,79,69,68,67,63,58,113,111,109,71,81,64,80,73,82,77,72,70,66,62,61,60,90,85,88,86,83,84,57,65,55,56,52,53,54,49,51,50,47,18,46,26,44,10,34,17,48,39,29,32,24,20,21,41,45,4,8,40,42,38,43,37,35,36,33,31,6,23,28,30,25,27,19,22,16,15,14,9,7,11,13,12,5,3,2,1&fields=System.Id,System.TeamProject,System.WorkItemType,System.Title,System.AssignedTo,System.ChangedDate,System.CreatedDate,System.State&api-version=7.2-preview.3 : Status code 200
2024-09-12 09:16:46,799 [ 521738] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitems?ids=1137,1136,1103,1107,1106,1104,1105,1101,1116,1140,1139,1151,1141,1117,1072,1070,1066,1065,1032,1025,1013,957,956,955,951,855,852,851,850,849,812,811,804,777,766,760,753,752,738,735,723,722,714,713,699,1122,1112,1124,1135,1132,1131,1114,1128,1126,1127,1121,1120,1113,1123,1119,1109,1118,1003,921,1100,1093,1088,1087,1086,1085,1046,1045,1042,1030,1029,1028,1027,1019,993,992,991,990,978,963,962,961,948,932,931,930,929,928,927,926,925,923,922,889,888,864,861,860,859,836,835,831,526,524,397,377,1083,1089,1090,1084,1051,816,947,980,1014,1055,1040,1048,1049,388,1044,1038,1026,1035,1043,1041,1001,987,999,998,996,768,770,997,977,994,976,965,959,953,952,954,958,949,943,780,945,946,950,942,941,769,773,935,934,937,936,857,939,933,562,567,565,566,564,563,548,546,483,482,843,557,853,519,863,919,918,916,917,920,914,913,912,911,910,909,908,907,906,905,904,903,899,901,902,900&fields=System.Id,System.TeamProject,System.WorkItemType,System.Title,System.AssignedTo,System.ChangedDate,System.CreatedDate,System.State&api-version=7.2-preview.3 : Status code 200
2024-09-12 09:16:46,801 [ 521740] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitems?ids=172,353,340,356,414,405,403,393,383,391,392,394,398,399,401,385,381,363,364,362,337,413,412,411,408,354,357,350,386,395,372,361,306,305,343,146,325,316,321,373,382,365,371,370,268,387,336,374,384,376,375,368,366,369,367,352,351,344,355,349,262,253,247,76,303,335,334,333,331,332,274,273,330,329,328,327,326,257,291,324,323,322,320,319,317,318,315,314,313,312,311,310,309,308,307,290,276,302,301,261,299,298,296,297,294,295,292,293,75,289,285,288,287,286,256,281,258,265,227,284,255,279,278,277,282,283,254,260,259,280,263,203,177,271,264,275,252,249,248,266,251,250,215,270,269,246,233,232,230,229,228,226,224,221,220,219,204,202,200,198,138,240,225,267,238,234,245,235,231,244,214,213,206,205,239,237,179,236,178,194,122,119,222,217,218,201,199,196,195,183,102,167,181,182,180,166,156,164,87,170&fields=System.Id,System.TeamProject,System.WorkItemType,System.Title,System.AssignedTo,System.ChangedDate,System.CreatedDate,System.State&api-version=7.2-preview.3 : Status code 200
2024-09-12 09:16:46,834 [ 521773] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitems?ids=1202,1200,1195,1150,1149,1148,1146,1144,1143,1142,1134,1133,1145,1208,968,1203,1238,1204,1235,1229,1231,1234,1237,1236,1233,1232,1230,1228,1227,1226,989,983,982,973,972,971,970,969,1225,1223,1224,1222,1220,1221,1219,1216,1218,1217,1198,1191,1187,1050,1215,1214,1213,1212,1211,1206,1210,1209,1207,1205,1152,1147,967,1184,1186,525,1190,1188,1199,1196,1194,758,757,716,1193,1081,1080,1079,1078,1077,1076,1075,1074,1069,1064,1063,1062,1061,1060,1059,1058,1057,1047,1039,1036,1034,1023,1022,1021,1020,1018,1017,1016,1015,1011,1010,1007,1002,986,985,984,981,979,966,964,960,940,938,924,915,890,881,879,878,877,876,874,873,872,871,869,867,866,865,975,1033,1098,1099,883,1056,944,642,338,1108,1082,1102,1183,1157,1156,1185,1181,1158,1182,1071,1068,1067,1054,1053,1052,1024,1073,1095,1096,1129,1153,1154,1155,1000,988,1162,1161,1160,1159,1180,1175,1179,1178,1177,1176,1110,1174,1173,1172,1171,1115,1111,1125,1138,1170,1169,1168,1163,1167,1166,1164,1165,1091,1092&fields=System.Id,System.TeamProject,System.WorkItemType,System.Title,System.AssignedTo,System.ChangedDate,System.CreatedDate,System.State&api-version=7.2-preview.3 : Status code 200
2024-09-12 09:16:46,885 [ 521824] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitems?ids=898,896,897,895,894,893,892,891,887,886,885,880,884,805,656,840,832,856,846,845,841,839,838,825,820,819,818,815,814,813,809,807,761,759,862,858,854,799,833,532,848,847,844,837,834,798,842,828,830,829,657,661,790,826,824,779,789,786,781,771,822,823,821,774,778,792,788,783,776,775,782,679,680,674,677,678,681,682,772,683,810,808,806,817,800,801,767,755,751,687,649,629,606,578,561,560,549,547,544,539,534,515,501,478,472,466,461,460,449,448,446,443,439,433,428,426,422,419,407,406,360,359,750,756,803,802,796,795,794,797,793,765,764,787,791,784,785,572,734,763,762,754,746,733,748,747,745,744,736,743,742,741,740,739,665,737,731,730,732,729,728,727,724,721,717,705,698,694,690,689,663,660,659,658,726,725,668,719,718,720,662,715,712,711,710,709,708,707,706,704,702,703,701,700,667,666,697,696,695,693&fields=System.Id,System.TeamProject,System.WorkItemType,System.Title,System.AssignedTo,System.ChangedDate,System.CreatedDate,System.State&api-version=7.2-preview.3 : Status code 200
2024-09-12 09:16:46,962 [ 521901] FINE - #com.gafner.plugin.azd.api.AZDApi - Request GET https://dev.azure.com/Org-Name/Project%20Name/_apis/wit/workitems?ids=692,691,673,671,670,669,686,688,664,672,684,685,676,650,654,655,653,651,652,645,643,647,641,648,553,591,607,609,612,627,631,632,633,634,646,644,630,593,583,579,575,574,555,545,514,487,463,462,456,435,417,415,402,542,640,628,638,639,635,608,637,636,621,623,157,573,626,568,527,625,624,600,622,594,432,613,590,605,604,602,603,601,598,599,597,596,595,592,480,59,589,588,587,586,585,584,242,142,104,580,576,582,581,577,550,570,243,541,569,554,571,176,558,556,559,442,552,528,531,216,543,540,416,409,118,117,410,538,537,536,513,535,533,530,529,522,521,520,518,517,504,499,498,484,458,447,390,345,304,174,300,450,523,346,342,341,339,241,505,469,272,451,473,471,468,424,418,474,464,465,467,425,455,457,459,453,452,445,440,438,437,436,430,427,421,420,404,400,396,379,380,358,431,434,441,429,423,197,74,378&fields=System.Id,System.TeamProject,System.WorkItemType,System.Title,System.AssignedTo,System.ChangedDate,System.CreatedDate,System.State&api-version=7.2-preview.3 : Status code 200
Edit: These are the work items types we have in our customised Agile process, the only custom one is "Requirement" which isn't usually present in the Agile process:
@amyskippy Thanks for the info and fair enough about the review. ππ»ππ»
I think this is another bug - will go over the info you provided and will update you.
The logs contains a lot of info because of this JetBrains issue:
https://youtrack.jetbrains.com/issue/IJPL-148688
They said a fix will be release with the next version and the logs will contain much less AZD output.
Generally speaking the next big feature I am about to implement is a new tool window (like the pr and the pipeline ) for work items. In my opinion the current task management cannot really support all the feature azure DevOps boards is offering.
Thanks @Jonatha1983 I really appreciate the work that you've put into this, it's a crying shame you've not been able to get it sponsored by Rider or Microsoft. I found this plugin because of your review in the Microsoft Azure DevOps plugin. Sometimes it's really hard to find good plugins, or get noticed for your software. I will definitely be spreading the work, as this is great.
Thanks for the info about the log verbosity π¬
A new Work Items tab would honestly be amazing, when you've got to swap back to DevOps to review the boards checking for tasks it's a bit of a pain. With your plugin at least we only need the name or work item id, but having a searchable window like the PR and Pipelines would be fantastic.
It's great that AZD integrates with the built in task management, things like save context, change lists, and branches within the Rider seem like great features. Having an easy way to find work items and switch tasks sounds like the best of both worlds. π
Hello there @Jonatha1983 we have experiencing also some troubles with task management integration, it throws the following error
2024-09-13 08:24:52,152 [ 683745] WARN - #c.i.t.i.TaskManagerImpl - Cannot connect to AZDWorkItemRepository(URL='https://dev.azure.com') com.intellij.collaboration.api.HttpStatusErrorException: HTTP Request Request POST https://dev.azure.com/{Organization}/{Project}/_apis/wit/wiql?api-version=7.2-preview.2 failed with status code 400 and response body: {"$id":"1","innerException":null,"message":" Expecting end of string. The error is caused by Β½[System.State]β.","typeName":"Microsoft.VisualStudio.Services.Common.VssPropertyValidationException, Microsoft.VisualStudio.Services.Common","typeKey":"VssPropertyValidationException","errorCode":0,"eventId":3000} at com.intellij.collaboration.api.httpclient.HttpClientUtil.checkStatusCodeWithLogging(HttpClientUtil.kt:47) at com.intellij.collaboration.api.httpclient.HttpClientUtil.readSuccessResponseWithLogging(HttpClientUtil.kt:75) at com.gafner.plugin.azd.api.JsonHttpApiHelperImpl$loadJsonValueByClass$bodyHandler$1.invoke(JsonHttpApiHelper.kt:84) at com.gafner.plugin.azd.api.JsonHttpApiHelperImpl$loadJsonValueByClass$bodyHandler$1.invoke(JsonHttpApiHelper.kt:83) at com.intellij.collaboration.api.httpclient.InflatedStreamReadingBodyHandler$apply$1.invoke(HttpClientUtil.kt:148) at com.intellij.collaboration.api.httpclient.InflatedStreamReadingBodyHandler$apply$1.invoke(HttpClientUtil.kt:147) at com.intellij.collaboration.api.httpclient.InflatedStreamReadingBodyHandler.apply$lambda$1(HttpClientUtil.kt:147) at java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:684) at java.base/java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:662) at java.base/java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:2168) at java.base/java.util.concurrent.CompletableFuture$MinimalStage.thenApply(CompletableFuture.java:2902) at java.net.http/jdk.internal.net.http.ResponseSubscribers$MappingSubscriber.getBody(ResponseSubscribers.java:821) at com.intellij.collaboration.api.httpclient.response.CancellableWrappingBodyHandler$SubscriberWrapper.getBody(CancellableWrappingBodyHandler.kt) at java.net.http/jdk.internal.net.http.ResponseSubscribers.lambda$getBodyAsync$3(ResponseSubscribers.java:1153) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699) at java.base/java.lang.Thread.run(Thread.java:840)
we found your plugin very useful and we want to purchase a license but this could be an stopper for us.
Let us know if you need something else.
Thank you in advance
Hi @josuedavidzero443
Thanks for reporting - not sure this is the same issue as the above but will investigate and let you know.
hello there @Jonatha1983 do you have any updates? Thank you in advance
Hi @josuedavidzero443
Yes I think I found the issue, the version is under testing hopefully the new version will be release by the end of the week.
Once released will update you in here.
Hi @josuedavidzero443 and @amyskippy
Sorry for the long wait.
The feature should work now.
I would appreciate it if you could let me know if it does so I can close this ticket.
Thanks, and sorry again, it took longer than expected.
No worries @Jonatha1983 I'll let you know once it shows up as an update, fingers crossed it works!
Hiya @Jonatha1983 I can see the new update on the JetBrains plugins website (2024.2.11) but it's not compatible with the current Rider stable version 2024.2.5 (242.22855.90), it looks like it needs the nightly build (242.23339.* upwards) so I'll keep an eye on updates to Rider π€
Hi there @Jonatha1983 I had to purchase a license, but I'm getting the same Error, I'm using the 2024.2.14 release for webstorm
com.intellij.collaboration.api.HttpStatusErrorException: HTTP Request Request POST https://dev.azure.com/{Organization}/{Project}/_apis/wit/wiql?api-version=7.2-preview.2 failed with status code 400 and response body: {"$id":"1","innerException":null,"message":" Expecting end of string. The error is caused by Β«[System.State]Β».","typeName":"Microsoft.VisualStudio.Services.Common.VssPropertyValidationException, Microsoft.VisualStudio.Services.Common","typeKey":"VssPropertyValidationException","errorCode":0,"eventId":3000} at com.gafner.plugin.azd.api.r.a(SourceFile:46) at com.gafner.plugin.azd.api.r.a(SourceFile:76) at com.gafner.plugin.azd.api.r$a.a(SourceFile:95) at com.gafner.plugin.azd.api.r$a.invoke(SourceFile:94) at com.gafner.plugin.azd.api.s$a.a(SourceFile:177) at com.gafner.plugin.azd.api.s$a.invoke(SourceFile:176) at com.gafner.plugin.azd.api.s.b(SourceFile:176) at java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:684) at java.base/java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:662) at java.base/java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:2200) at java.base/java.util.concurrent.CompletableFuture$MinimalStage.thenApply(CompletableFuture.java:2948) at java.net.http/jdk.internal.net.http.ResponseSubscribers$MappingSubscriber.getBody(ResponseSubscribers.java:843) at com.gafner.plugin.azd.api.w$a$a.invokeSuspend(SourceFile:138) at com.gafner.plugin.azd.api.w$a$a.a(SourceFile) at com.gafner.plugin.azd.api.w$a$a.invoke(SourceFile) at com.gafner.plugin.azd.api.p.sendAndAwaitCancellable(SourceFile:99) at com.gafner.plugin.azd.api.p$b.invokeSuspend(SourceFile) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) at kotlinx.coroutines.internal.SoftLimitedDispatcher$Worker.run(SoftLimitedDispatcher.kt:125) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:608) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:873) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:763) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:750)
Hi @josuedavidzero443
This seems different , make sure you have created the PAT with the required scopes.
You can see the list of required scopes in here
Please let me know when f that solved the issues.
@Jonatha1983 I have been able to test the new version this morning, and I can see that for me, tasks are fixed via the context menu "Link PullRequest to AZD WorkItem" but it's not working via opening a task via the task management plugin. I've now got a new error in the logs, would you like me to open a new issue so you can close this one off?
I did try removing the task management server, and removing the AZD login and re-adding them but that didn't help.
@amyskippy Yes please that would be great. Thanks
Hi @Jonatha1983 I try generating the PAT with the full scope and all organization access according your instructions, but doesn't work, I'm still getting the Expecting end of string error:
2024-10-04 09:06:41,018 [ 68819] WARN - #c.i.t.i.TaskManagerImpl - Cannot connect to AZDWorkItemRepository(URL='https://dev.azure.com') com.intellij.collaboration.api.HttpStatusErrorException: HTTP Request Request POST https://dev.azure.com/Org/Project/_apis/wit/wiql?api-version=7.2-preview.2 failed with status code 400 and response body: {"$id":"1","innerException":null,"message":" Expecting end of string. The error is caused by Β«[System.State]Β».","typeName":"Microsoft.VisualStudio.Services.Common.VssPropertyValidationException, Microsoft.VisualStudio.Services.Common","typeKey":"VssPropertyValidationException","errorCode":0,"eventId":3000} at com.gafner.plugin.azd.api.r.a(SourceFile:46) at com.gafner.plugin.azd.api.r.a(SourceFile:76) at com.gafner.plugin.azd.api.r$a.a(SourceFile:95) at com.gafner.plugin.azd.api.r$a.invoke(SourceFile:94) at com.gafner.plugin.azd.api.s$a.a(SourceFile:177) at com.gafner.plugin.azd.api.s$a.invoke(SourceFile:176) at com.gafner.plugin.azd.api.s.b(SourceFile:176) at java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:684) at java.base/java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:662) at java.base/java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:2200) at java.base/java.util.concurrent.CompletableFuture$MinimalStage.thenApply(CompletableFuture.java:2948) at java.net.http/jdk.internal.net.http.ResponseSubscribers$MappingSubscriber.getBody(ResponseSubscribers.java:843) at com.gafner.plugin.azd.api.w$a$a.invokeSuspend(SourceFile:138) at com.gafner.plugin.azd.api.w$a$a.a(SourceFile) at com.gafner.plugin.azd.api.w$a$a.invoke(SourceFile) at com.gafner.plugin.azd.api.p.sendAndAwaitCancellable(SourceFile:99) at com.gafner.plugin.azd.api.p$b.invokeSuspend(SourceFile) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) at kotlinx.coroutines.internal.SoftLimitedDispatcher$Worker.run(SoftLimitedDispatcher.kt:125) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:608) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:873) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:763) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:750)
Describe the bug Integration with task management doesn't work
To Reproduce Steps to reproduce the behavior:
Expected behavior A list of work items is suggested.
Screenshots
JetBrains IDE (please complete the following information):
Azure Devops organization details:
Additional context I already tried generating a new PAT with access to all scopes and entering in the settings, as well as selecting a project and checking/unchecking "Include issues not assigned to me", but none of those things helped.