-
Notifications
You must be signed in to change notification settings - Fork 157
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
Items #299, #300, #301 #302 and #304 #303
Conversation
…y and fix handling of spaces in completers
…et-Process, modify format XML to show enabled/default
… behaviors, layouts & states
@jhoneill thanks for the PR. In the future could you please not have so many changes in one PR. It does not speed up a review. It is quite the opposite. One PR for each issue and usually each issue should try to handle one use case or topic. Would it be possible for you to split them up? I know it is some more work for you, but it reduces work/review packages and makes it easier to understand. |
I can try to do that in future. I try to keep to one commit per area. If you like I can roll back to |
Do let me know what your preference is. |
Thanks for your tips and effort. I have not much time currently as I am doing this in my free time. This is not part of my daily job. |
No worries. This came about as a by product of my day job :-) But getting it fit to share is/was my own time. |
You can't do this.
The order of formats is important. The tables have to be listed first. If you do a * it will be in alphabet order and the list formats will be first which is not what I want. The Readme.md in the folder explains why this can't be done. I also think your branch must be way behind because types in master has already been changed to a * format. Please make sure you have the latest changes in your branch. In the future please make smaller PRs so we can see each change and not have to reject the entire PR. |
This change has already been made
|
Already fixed
|
You don't have to change the order. This will be in next version. |
My apologies. I missed that and was trying to take a short cut. I will revert to the approved way.
I had sync'd up to date I put the the PR in. It looks more things have gone in since.
Yes. I'm sorry for sending such large lump. For replacing dynamic parameters with the completers and validator classes that was unavoidable. It is far to easy for me to lapse into "While I am doing X I will just fix Y", which feels like being helpful, but isn't always a good way to deliver help. I have a big block of work which I am waiting to send you. We got asked to configure some ProcessTemplates in other words, "Add "Scrum 2" as our version of scrum, add work item types to it, set up layouts, fields, statuses, boards for the those work item types. Make it almost the same as this other DevOps Org, but change this to that ... etc.".
They leverage the completers / validators I have already given you and add some more, and in doing the new work, I found the existing completers should wrap some values in quotes and the validators should not reject null or empty (if a parameter is mandatory Null/empty needs to be explicitly allowed and if not it needs to be forbidden and that's not the validator's job). I have also moved the responsibility for managing the object caches into their classes so they now have Things like What this PR was trying to be was "the changes to the already released things which are pre-requisites for the new functions above". But I seem to have made more problems than benefits. So I propose to
I think that ends up as 8 PRs. Does that work for you ? |
I think redoing the PR would help us much better.
The best way to do it I think if keeping related files together. Look at the PR #286 which was grouping cmdlets for classification nodes. You could do the same for the cmdlets. E.g. include in the same PR
make sure they follow the same style as in my PR earlier. If you have changes that apply to multiple cmdlets then they should come early included but they should not be dependant from anything. Meaning they should work without the changes coming later that are dependant. Also make sure first that our pipeline is going through with all environments. We do not usually start to review before the pipeline is not succeeding. And thanks for your understanding. Because most of the problem in open source is:
|
I already wrote the completer for Invoke last night and is already in master. |
I like the idea of grouping PRs around a noun "WorkItemState" all the verbs, tests and doc for that noun can be a single PR. |
Finally there is no need to apologize for helping. We really appreciate your support and understanding. |
Fully agree with @DarqueWarrior. Help is much appreciated since most of it is a personal effort and the drive to improve things. |
Thanks both, I'll stop saying sorry. It's not that I'm talking down what I've done, just aware that I could have delivered it a way that's more convenient for you. And sometimes explaining what one has done with only text to go on, it can look like "I AM RIGHT BECAUSE" so I've have taken to saying "Whoops, I ..." "My bad, it was trying to..." "Sorry, I thought ..." to save accidentally causing an argument. :-) |
PR Summary
-Project
parameter to apply only to*-Vsteam*
commands (Consider reducing the scope of the default parameter "Project" from "*" to "*-VsTeam*" #297 - impacts_clearEnvironmentVariables
,get-VSTeamInfo
*-VSTeamDefaultProject
)formats.json
andtypes.json
to list "*" instead of individual files. This won't work for classes because they must be loaded in the correct sequencebuild-module.ps1
and source version ofvsteam.psm1
to support having the classes in the PSM1 file. This makes them accessible outside the module and avoids issues with classes not being in scope when needed in completers, without needing to load from modules to process in the manifest. discussionInvoke-vsteamRequest
. (Put area before resource in Invoke-VSteam Request, add completers and allow it to expand values #302) Switch order of parameters "area" and "resource" and give them completers. Add a switch '-ExpandValue'Example: Type
Invoke-vs
[Tab]
[-]
[Tab]
"-area" completes (first on the url path)[space]
[Tab]
"build" etc complete; for "WIT"-Resource
[Tab]
will suggest "workitemtypecategories" etc. add-value
or-ExpandValue
and instead ofCount=15; Value=[Array]
, the array is returnedVSTeamProcess
object (Improvements to Get-VsTeamProcess and ProcessCache & ProjectCache classes #300) to add "ProcessTemplate" property as a duplicate of "name" so that objects can be piped into (e.g)Get-WorkItemType
.Get-VSTeamProcess
function (Improvements to Get-VsTeamProcess and ProcessCache & ProjectCache classes #300) to update the cached list of processes automatically and to support wildcards in -Name parameter.ProcessCache
andProjectCache
classes (Improvements to Get-VsTeamProcess and ProcessCache & ProjectCache classes #300) to do the update within the class and also to and all in one check for freshness, update if required and return the results. Update the completer/validator classes which use the cache objects.Get-VSteamWorkitemType
to support getting work items from a process as well as from a Project (Improvements to Get-VsTeamProcess and ProcessCache & ProjectCache classes #300). Add a "hidden" attribute to Project WorkItem types (found from WorkItemCategories). Support Expanding behaviors, layouts and states.example 1
Get-VSTeamWorkItemType -ProcessTemplate Scrum2 -WorkItemType 'Product Backlog Item' -Expand layout | select -ExpandProperty layout
example 2
Get-VSTeamProcess scr* | Get-VSTeamWorkItemType -WorkItemType pro* | ft name,processtemplate
PR Checklist
Small updates to the existing help
Have not added tests for new functionality
As above. Though above had an extra read through