Are there permissions for associating work items with iterations in VSTS? - azure-devops

Once an iteration's work item content has been decided on, is there any way in VSTS to prevent additional work from being added? I would ideally like to lock down the ability to add content to an iteration to a few individuals (so that Product cannot sneak some items in). If this is not possible, is there an easy way to check daily whether the content of the iteration has remained the same? Thanks!

I don't think it is possible to "draw a line in the sand" as it were.
To track additional work in an iteration you can do something like this:
Create a Work Item Query to find all WI's in the iteration you want.
Save it
Goto the Charts tab
Add a "line" chart.
Set "group by" to "iteration path".
Pick a suitable date range.
Pin this chart to your homepage.
Here's my config and chart for my dummy data.
As you can see today, I moved more work into Iterations 1 and 2 and moved work out of the Backlog Iteration

I don't think it is possible to "draw a line in the sand" as it were.
You could setup an Alert for Work Item changes that include the Iteration Path changing to the one you want people to stop using.
Click the Settings "Cog" and then Notifications:
Select "New Subscription"
Work and Work Item Changed
Next
Add new Clause
And select "And", "Iteration Path", "Changes to", "my problematic iteration"
Finish
.

Related

How to mix bar and lines in Grafana in one chart

How can I display one dataseries as bar and another as a line in one graph like it is used in the last comment of: see last picture
Short answer:
It's not possible (yet) using the Grafana UI, only by hand.
Long answer:
As far as I know there is no way of doing this using the UI switches; you'll have to use the use the "alias or regex" fields below the visualisation configuration.
Prepare your data
Before you start, make sure that your queries A and B retrieve actual data. You won't see your data otherwise and be confused why they're not showing.
Adding fields and values to the aliases
Once you are selecting the correct data you want to display, just add the following on the visualisation section of the graph at the 'alias or regex' fields:
Add 2 overrides, one for each value you want to display using the 'Add series override' button.
Add a "Bars:false" option flag and a "Lines:true" for the value you want as a line.
Be sure to use the exact opposite values for your bars ("Bars:true" & "Lines:false")
Add a 'Y-axis: 2' to the value you want to have on the right side of your graph.
Optionally, you can add a "Z-index: 3" for the value that you want to have on top (I added this option to the line to make sure it's always drawing on top of the bars).
Enjoy
You should now have a nice graph with 2 types of data and visualisations in one; something like this:
For those who were asking in the comment section, yes this isn't available in version 8, however, you can still change the time series visualization to graph(old) so you can set the alias/regex.

Break if element of an object in watch has specific value

I have added a element to my watchlist. Is it possible to set a breakpoint if the value of a element matches a specific value?
E.g. it should stop as soons as the value of the element className is mceEditor.
At the moment I have to manually go to this position step by step by step...
Is this possible? Are there any developer tools which are capable of this?
I figured out that there are conditional breakpoints.
I added one at the correct spot and now it is just like I desired.
Chrome: Open the developer tools and open the tab "sources". then right click on the line number and select "Add conditional breakpoint" and set your condition.

Remove leafs from phytree if all the branches have same value

I'm using MATLAB to generate 'phytrees' and I need to simplify them.
The way I thought is by removing subtrees where all the node has the same value and keep only this value + a number that represent how many nodes were deleted.
For example, here is one of the trees:
and I want to replace the subtrees that have the same values like here:
Is there a way to do so?
I did not find a programmatic way to do it, but from the picture you attached I see that you use plot to view your figure. If instead, you'll use the phytreeviewer (just type view(your_phylotree)) you'll get a different figure window, with other related tools.
Specifically, you'll see the Collapse branch button , and the Rename branch button , which will together get you exactly what you want. The first "removing subtrees" (actually hiding them), and the second lets you change the branch name to "value + a number".
You can do all this also by simply right-clicking in the relevant brunch:
Here is an example with data from the docs:
% bulding some tree:
seqs = fastaread('pf00002.fa');
distances = seqpdist(seqs,'method','jukes-cantor','indels','pair');
phylotree = seqneighjoin(distances,'equivar',seqs);
view(phylotree)
After some collapsing and renaming on this tree, and printing it to a figure (with right click on the most top branch, or the root, that you want to include in the figure), I got:
Also, note that every time you hover with the mouse on a branch (even if collapsed) you get a list of the Leafs in that branch and their count:

How can I show a specific record near the top in list view without screen flicker?

I have a script (in FileMaker 14) that sets a variable, $_record_number, to Get ( RecordNumber ) based on a specific criterion. Once it's been set, I want to bring that record to the top in list view. (It's possible that the criterion is never fulfilled and that $_record_number is empty.)
The portion of the script that does this looks like the following:
Go to Record/Request/Page [ Last ]
Refresh Window []
Go to Record/Request/Page [ No dialog ; Max ( $_record_number ; 1 ) ]
When the Refresh Window step isn't present, the script doesn't work correctly. Instead of bringing the record to the top of the list view, it brings it to the bottom.
Unfortunately, the Refresh Window step causes the window to flicker as the script redraws the layout.
Is there a way to duplicate the end results of the above steps without using Refresh Window and avoid the screen redraw?
Failed techniques I've tried:
Using Refresh Object instead of Refresh Window targeting objects in both the header and body
Using Go to Related Record with a relationship to the target record
If you're using FileMaker 13 or higher, you can try the Refresh Object script step instead of Refresh Window. See http://www.filemaker.com/help/13/fmp/en/html/scripts_ref2.37.62.html for more details on that specific step.
I've sometimes had issues refreshing portals without Refresh Window, but if you just need the text on a label or button to update when the variable does, it should work fine.
Chuck, one straightforward option would be to add an unstored calc field to your portal table, with a calc of Get(RecordNumber) = $_record_number. You could set the sort of your portal to reverse sort on this calc field. Since only the matching field should match, this should always pop the desired record (if any) to the top, and otherwise, this condition would be ignored.
Another option would be to manually step through your portal in a Loop and stop when you find a match.
Last, I'd wonder if it might be cleaner to store and test against your portal table's primary key instead of its record number, but that's of course beyond the scope of this question. Good luck :-)
I am in FM14, and I think this works: get rid of your lines that go to last record and refresh window and instead insert 'Scroll Window [ End ]', e.g.
Scroll Window [ End ]
Go to Record/Request/Page [ No dialog ; $recordNumber ]

Powershell datagridview cell click event

I have a powershell script in that script i am using datagridview.
My script is working fine. All looks ok to me.
My issue is i want to get the first column value of selected row. To fulfill this i need to add event (cell click/cell content click/cell mouse click). I am not able to figure it out. How to add event.
Can somebody please advise me on this?
$datagridview1_CellMouseClick = [System.Windows.Forms.DataGridViewCellEventHandler]{
write-host $_.RowIndex # This displays the row number selected
write-host $_.ColumnIndex # This displays the column number selected
write-host $datagridview1.Rows[$_.RowIndex].Cells[0].value # This would display the value of the first cell in the selected row
write-host $datagridview1.Rows[$_.RowIndex].Cells[$_.ColumnIndex].value # This would display the value of the cell selected
}
There are plenty of example availble for C# but not found anything for powershell.
Not a stupid question at all, but a little confusing. You say you want the first column value of the selected row, however based on the output you are looking for it seems you are more interested in the selected cell. I am answering with the assumption that the selection of the cell is what you are looking for.
There are many possible events to work with here. The differences between them are subtle so I will leave it to you to see if there is an event that would work better for your purpose. For my answer I will stick with the event you mentioned: CellMouseClick.
I start by creating the function that I want to execute when the click occurs.
function gridClick(){
$rowIndex = $myGrid.CurrentRow.Index
$columnIndex = $myGrid.CurrentCell.ColumnIndex
Write-Host $rowIndex
Write-Host $columnIndex
Write-Host $myGrid.Rows[$rowIndex].Cells[0].value
Write-Host $myGrid.Rows[$rowIndex].Cells[$columnIndex].value}
Please note that you will have to decide how your variables are scoped and how the function will interact with the datagrid. If you are declaring the datagrid at the script level then you should be able to just reference it by name inside the function. This function will do what you said, in the exact order listed in your question. Edit to taste.
You can add the click event, after declaring your datagrid, like this:
$myGrid.Add_CellMouseClick({gridClick})
Note that the name of the function we created is placed within the brackets.
A few important notes:
There are many events to work with. While testing this out I tried the selectionChanged, click, cellclick, cellmouseclick, enterrow, and other events. You may want to check these out for differences in behavior.
The output may be a little unusual in some cases. For example the CellMouseClick event seems to respond to clicks in the header. So if I click on the cell at row index 1 and column index 1 (second row second column) the script will display the contents appropriately. If I then click on the column heading for the first column, the script will write the same results again (which makes sense because the selected index has not changed) which may seem confusing at first glance.
Keep in mind that datagrids allow for multiple selections and I do not know how that might effect the output. That is up to you to figure out.