executionPriorityOrder vanishes from UI after deploying pipeline - azure-data-factory

Here is some weird behavior of ADF Author/Deploy UI that I came across. You will see the same if you try.
Open any existing pipeline in ADF, in any of its activity (e.g. my activity type is HDInsightHive) within policy block there is an option called:-
"executionPriorityOrder": "NewestFirst",
if you hover over it, you see another valid value for this is OldestFirst, so if you change this to:-
"executionPriorityOrder": "OldestFirst",
Click on Deploy. After deploying & provisioning, again open that pipeline and you will notice that now the entire executionPriorityOrder statement missing. Is it because OldestFirst is default or something?

That's correct, "OldestFirst" is the default value for executionPriorityOrder. In this property's case, the default value is not displayed. I agree this can be confusing, however the value is in fact being preserved in the defintion for your pipeline.
P.S. Sorry for the very late response. The ADF team is making a push to respond more quickly to community forum questions.

Related

Azure Devops Boards - can we block task from done if there isn't any test attatched?

We are trying to implement a new method for our QA team.
I have looked around the setting but couldn't find an answer:
Is it possible to prevent them from dragging the task to 'Done' if they haven't added a test case into it?
On the same logic - can we block the 'committed' column from them if they haven't added a bug to the task?
Thank you.
There is currently no build-in feature to help you achieve this directly.
Here is a work around for your demand:
Create a new filed named "TestCaseLinked"
Every time a Test Case is linked to the task WIT, you need to manually put a value into this field. And use the WIT rule to check the value when changing the WIT status to "Done"

Google Actions CLI 3.1.0 version and actions.intent.TEXT

I want to be able to talk with Google Assistant, but connect the Actions project directly to an NLP service I already have running on my server. In other words, NOT use dialogflow.
All the following examples show how to do this.
With Rasa
https://blog.rasa.com/going-beyond-hey-google-building-a-rasa-powered-google-assistant/
With LUIS
https://www.grokkingandroid.com/using-the-actions-sdk/
https://dzone.com/articles/using-the-actions-sdk-for-google-assistant-develop
With Watson
https://www.youtube.com/watch?v=no0R0bSkHXc
They use the actions.intent.MAIN as the invocation and actions.intent.TEXT for all other utterances from the talker.
This is what I need. I don’t want to create a load of intents, with utterance phrases, inside the Action because I just want all the phrases spoken by the talker to be passed to my server, and for my NLP service to deal with them.
So I set up a new Action project, install the Actions CLI and then spend 3 days trying all possible combinations without success, because all these examples are using gactions cli 2.1.3 and Google have now moved on to gactions cli 3.1.0.
Not only have the commands changed, but so too has the file formats and structure.
It appears there is also a new Google Actions Console, and actions.intent.TEXT is no longer available.
My Action is webhook connected to my server, but I cannot figure out how to get the action.intent.TEXT included and working.
Everything I find, even here
Publishing Actions on google without Dialogflow
is pre version update and follows the same pattern.
Can anyone point to an up-to-date, v3.1.0, discussion, tutorial or example about how to send all talker phrases through to an NLP that isn’t dialogflow, or has Google closed that avenue?
Is it possible to somehow go back and use the 2.1 CLI either with the new Console or revert the console back. (I have both CLI versions, I can see how different their commands are)
Is it possible to go back and use 2.1?
There is no way to go back to AoG 2. You probably also don't want to do so - newer features aren't available with v2 and are only available with v3.
Can I use my own NLP with v3?
Yes, although it isn't as obvious, and there are some changes in semantics.
As an overview, what you'll need to do is:
Create a Type that can accept "Free form text". I usually call this type "Any".
In the console, it looks something like this:
Create a Custom Intent that has a single parameter of this Any Type and at least one phrase that captures everything for this parameter. (So you should add one training phrase, highlight the entire phrase, and set it for the parameter. Sometimes I also add additional phrases that includes words that I don't want to capture.) I usually call the Intent "matchAny" and the parameter "any".
In the console, it could be something like this:
Finally, you'll have a Scene that you transition to from the Main invocation. When it matches the "matchAny" Intent, it should call your webhook with a handler name. Your webhook will be called with the "any" parameter set with the user utterance. (Note that the JSON has also changed.
Again, the console might have it looking something like this:
That seems like a lot of work. Isn't there just some way to do all that from the command line?
Yes. You can do all of that in the configuration files that the CLI accesses and then upload it. (You can then also use the console to review the configuration, if necessary, to make sure they're configured as you expect. You can shift back and forth between them as appropriate.)
Google also has a github repository that contains most of the files pre-configured for this sort of setup.
You will need to update the configuration from the repository to handle the webhook correctly (it includes code to illustrate what is happening using the inline code editor) and to add your project ID.

SAPUI5 chart not visible...when running from within the portal

I have a really bizarre one here...I have developed and deployed to my back end system a launchpad application that currently works OK. Part of this application is a report that, based on certain filters, returns a table and a chart (see snapshot below).
After finishing deployment next step is configuring the app so it runs from the launchpad within the SAP portal. Not familiar with the portal, another colleague undertook the task, application is now running from within the portal as well. With one exception - the chart above is not visible (see 2nd snapshot below).
Noticing the "No Data" message and NO exception in the Chrome debugger, thought as a good idea to debug the OData methods in the back end. To my big surprise, found out that while filters pass to the method just fine both for table and chart (two different entities but almost identical and accepting exactly the same parameters) when running outside portal, when running from within (the portal) parameters "get lost" on their way to the chart entity - no parameters for the chart method. See snapshots below and pay attention to the IT_FILTER_SELECT_OPTIONS at the bottom right.
Outside portal (parameter table filled)
Within Portal (parameter table empty)
Furthermore, the filter table passed to both OData tables is common, you can see the code underneath - just two lines: one for table and one for chart binding.
Closing with a clarification. Mentioned above that there are no errors in the debugger when calling the back end methods. There are actually a couple of them but they take place during the initialization of the app and do not seem to affect anything else in the app, which aside a set of reports has a lot of data operations (dialogs, tables etc), everything else works fine. These errors can be seen below.
Does this situation ring any bells to anyone?
Thanks in advance
Issue solved, it was a deployment issue...

How to set the Assigned To when state changes in VSTS/Azure DevOps

I have an inherited process from an Agile process. The base process had the following states New, Active, Resolved, Completed. I added several new states, so now it goes New, Triaged, Active, Development Dont, IT Testing Done, Resolved, Confirmed, Completed to better match how it flows through different people.
The process has some built in State change rules, so when it goes from New to Resolved or Active to Resolved the Assigned To changes back to the Created By person. Also when it goes from Resolved back to Active it switches the assigned to back to the Resolved By user. This works fine, the problem that I have is that these state change rules only happen for these specific states.
In VSTS online I have setup some custom rules to do different things as it moves between different states, but what I can't find a way to do is to set the Assigned To field to some other person field on the Work Item. I can set it to a hard coded person, but that is not what I want. I want to do the same state change rules that already exist for the built in states on my new states.
Here is an example of some of the rules that I have set, but I cannot find a way to set the Assigned to field to another field, i.e. Created By or Resolved By.
Use the copy value from to assign the value of one field to another:
I've just been doing a similar thing and found there's also an action setting to 'Use the current user to set the value of...'
Example of this below:

How to customize workflow in Azure DevOps Service (VSTS online)?

I've read all the MSDN docs, but cannot find a way to edit the work item transitions in Azure DevOps Service (VSTS online).
I'm trying to:
Add a custom Reason to a State of a work item. (e.g. "resolved", "won't fix")
See/edit all the existing rules about how states transition.
This is possible if you are on the Hosted XML Process model in VSTS.
Hosted XML process model concept - VSTS
When are you on the Hosted XML Process model you ask??
Well after lots of reading I found the following note on the page explaining Hosted XML customization which states
Feature availability: Import process supports the Hosted XML process model which allows you to manage customizations through updating select XML definition files of a process template. This feature is only available for accounts that have been migrated to VSTS using the TFS Database Import Service.
But since I didn't import my VSTS I'm on the Inheritance Process model.
Which does NOT currently support this feature as confirmed here in comments
#RohanDaniel #ehofman#MSFT #DevMarTechOps You are correct. Advanced workflow management, which includes restricting transitions and customizing the reasons of a transition is not yet possible in the Inheritance model. It is on our backlog to add though.
Also, if you indeed used a high fidelity migration tool and you have a Hosted XML process model, you are stuck on it. You cannot move to the inheritance model as seen in this link.
In summary then. On the Inheritance Process model in VSTS this is not a feature that is available currently but is on the backlog as confirmed by MS. However it is not planned for delivery in the next few months and a year or more from now is more likely.
In my case I also had to add addition fields and a new state on the BUG WIT (Work Item Type). This was accomplished on VSTS by customizing a process which is done by inheriting from one of the standard processes ( Agile, CMMI, Scrum ) which you can then customize.
You can add customized rules to a WIT and you can base a rule on changes to the state.... however the rules seems too limited to restrict transitions and the options to set fields doesn't have the "Reason" field available.
In fact, I came up with a solution! Which I admit is not clean as I would like, but it works.
I created three new fields: "Rules error" (Text single line), "Rules broken" (Text single line) and "Rules activated" (Boolean).
"Rules error" I put it on the main tab so I can see the error and the two others I created a tab named "Useless" in which I put them.
Now, add a rule making the reset:
Name: Reset rules
Condition: The value of equals ==> "Rules activated" ==> true
Action: Clear the value ==> "Rules error"
And then one rule per not wanted transition of states:
Name: State change - Approved to Deployed QA
Condition: A work item state changes from ==> Approved ==> Deployed QA
Action: Make required ==> "Rules broken"
Action: Set the value of ==> "Rules activated" ==> true
Action: Set the value of ==> "Rules error" ==> "Can't change from Approved to Deployed QA"
I know, entering something in the field "Rules broken" breaks this enforcement, but as this functionality doesn't exist, it is the only way I came up with when you don't have access to Hosted XML.
Neither of those things appear to be possible at the moment.
The VSTS process customisation is very different to TFS and is still evolving. #1 seems like something that might be added in a future update. But #2 doesn't seem like it would appear, as Microsoft have relaxed most of the transition rules on all the templates on VSTS by default.
This is currently not possible when using inheritance process.
You can vote for this feature request in the community: Allow specifying state transitions when using inheritance process
It's possible by creating our own custom extensions and creating some rules that disable state changes from one state to another state
I have implemented this for my org but haven't published it online..will do it soon
Here is a workaround for denying any users who are not a member of group "HighLevelManagement" to change state from Approved to Committed for PBI:
Create a new Field Called "Unlocked".
create a new rule to "Hide the Field" when the user is not part of "HighLevelManagement" as below
Create a new rule with action "Make Read Only" set to "State" when
Unlocked is False and workitem change from Approved to Commited as
below:
Now whenever a user from HighLevelManagement wants to change state from Approved to Committed he simply tick Unlocked change state and then tick back Unlocked, that way anyone from outside HighLevelManagement will be restricted to change state from Approved to Committed.