How to find out team name from BPM instance id - business-process-management

Is there a way to get the team an instance is assigned to from the instance id in BPM 8.5.6 version? before a user from the team claims the task I need to auto select some fields on the coach. Is there a way I know which team an instance or a task is assigned to? IS there a way other than REST API.

It doesn't appear in the API documentation, but the TWTask appears to have an attribute "displayName". So the following seems to work -
tw.system.findTaskByID(68507).assignedTo.displayName
That gave me the expected value, where as "name" gives the internal name which has a GUID on it. Mine was assigned to "All Users". YMMV depending on if it is assigned to a Team, a Role, or a Participant Group.
As it isn't in the JS-API documentation you might want to get an official support statement from IBM. I've seen working items like this stop working, and when you file an issue they point out that the item was not documented, so the fact that it broke is not technically a regression.

There is a REST API available, under REST interface for BPD-related resources --> Process Instance Resource --> Current State. This api will provide all the details for the instance including the vairable, tasks (open & closed).
https://www.ibm.com/support/knowledgecenter/SSV2LR/com.ibm.wbpm.ref.doc/rest/bpmrest/rest_bpm_wle_v1_process_instanceid.htm

Related

Team id response when creating team

This questions concerns the beta endpoint in Microsoft Graph. Creating teams with the beta endpoint is great because of less calls to the API and I can add from a template. I can't wait till this is available in v1.0.
But I wonder why there is no response object when creating a team this way. I get an OK/success response, but no data. I would like to get a team object or at least a team-id or a reference to use to get to the team when the actual creation is completed.
The reason why I'd like this is that it doesn't seem like the creation request accepts more than one owner in "owners#odata.bind". And on top of this, it seems like the "members#odata.bind" is not recognized. So I need to add more owners (teachers) and members (students).
In addition, I'd like to set a team photo after creation complete. And...I need the team id in my app.
I am adding teams from template "educationClass" at this point.
Any ideas?
It's stated in the documentation that even if the team creation request returns an OK/success response with no content, it also returns the Location header with reference to both team and the teamsAsyncOperation, which in my case solve the problem.

Microsoft Groups/Teams: Can't create plans for Planner App

I created a Group using
https://learn.microsoft.com/en-us/graph/api/group-post-groups?view=graph-rest-1.0&tabs=http
and then used
https://learn.microsoft.com/en-us/graph/api/team-put-teams?view=graph-rest-1.0&tabs=http
to create a Team. Now I am facing issue when adding a plan using a Planner app
"Failed to create the plan."
How I can fix this issue?
In my investigations, I found that the other team members are able to create plans. As an owner of the team, I am not able to create them. if I am trying graph API I'm getting an error:
You do not have the required permissions to access this item, or the item may not exist.
I'm glad you came right and that I was able to help. I'm updating the answer so that it's more clear on a few points:
Technically, this actually has nothing to do with Teams at all, it relates to Office 365 Groups, which forms the core underneath Teams, Planner, and more. You actually link in your question to the Groups docs, incidentally. I've updated the question title to reflect this.
I haven't tested this exactly, but I doubt that it needs your account exactly in the Owners and Members - I suspect the main constraint is that there needs to be at least one person in each of those roles (that means there has to be at least one Owner and at least one Member). Arguably, this is actually a bug in Planner, but it was maybe never detected by Microsoft because if you create a Group from the web interface, it automatically puts your user in as Owner and Member.
If you do put your own account into both positions, but that's not what you want long term, you could probably just take them out after creating the Planner plan.
Just a reminder that best practice is to have more than one owner of a Group, in case/when the original Owner is not/no longer available.
It's fixed after adding the creator of teams as a member too. So I had to add the user who is creating Teams in Team members too.
I made sure that there was another owner on the Team, demoted and removed the owner and the re-added them to the team. This resolved the issue that I had with multiple teams

Why are Twilio Flex Worker attributes changing automatically? Specifically, the Roles property

I notice that for some reason when I open up my Worker here
TaskRouter / Flex Task Assignment / Workers /
that my attributes have changed. Specifically, the Roles collection is changed as shown below (red being values BEFORE system changes them, Green being values AFTER system changes them)
What logically could be changing these values?
Its really bad because I have configured TaskRouter tasks based on this value. And when the values are changed, the tasks no longer get routed at all!
Is there anything that automatically updates these values? Spefically the Roles property?
I cant imagine why the system would feel its ok to do this since task routing may depend on this specific property.
Twilio developer evangelist here.
The roles property is a special property within Flex that is set by your identity provider. It is required for permissions around Flex (agent, supervisor, admin are 3 roles I know of in particular). You can read up about properties on your workers and how attributes map to them from the identity provider here.
For custom properties like this, I would recommend you prefix your attributes with a common namespace so that Flex/your identity provider won't clash with them.
Let me know if that helps at all.

Azure - App Insights - how to track the logged-in Username in Auth Id?

What is the best-supported approach for tracking logged-in Usernames/Ids in App Insights telemetry?
A User with Username "JonTester1" said some Pages he visited 4 hours ago were really slow. How can I see everything JonTester1 did in App Insights to trouble shoot/know which pages he's referring to?
Seems like User Id in App Insights is some Azure-generated anonymized thing like u7gbh that Azure ties to its own idea of the same user (thru cookie?). It doesn't know about our app's usernames at all.
I've also seen a separate field in App Insights called Auth Id (or user_AuthenticatedId in some spots), which looks to sometimes have the actual username e.g. "JonTester1" filled in - but not always... And while I don't see any mention of this field in the docs, it seems promising. How is our app's code/config supposed to be setting that Auth Id to make sure every App Insights log/telemetry has it set?
Relevant MS docs:
https://learn.microsoft.com/en-us/azure/azure-monitor/app/usage-send-user-context
This looks to just copy one library Telemetry object's User Id into another... no mention of our custom, helpful Username/Id anyway... and most in-the-wild examples I see don't actually look like this, including MS docs own examples in the 3rd link below; they instead hardcode get a new TelemetryClient()
https://learn.microsoft.com/en-us/azure/azure-monitor/app/website-monitoring No mention of consistently tracking a custom Username/Id
https://learn.microsoft.com/en-us/azure/azure-monitor/app/api-custom-events-metrics#authenticated-users Shows some different helpful pieces, but still no full example. E.g. it says with only the setAuth... JS function call (still no full example of working client-side JS that tracks User) on the page, you don't need any server-side code for it to track custom User Id across both client-side and server-side telemetry sent to Azure... yet then it also shows explicit code to new up a TelemetryClient() server-side to track User Id (in the Global.asax.cs or where?)... so you do need both?
Similar SO questions, but don't connect the dots/show a full solution:
Azure Insights telemetry not showing Auth ID on all transactions
Application Insights - Tracking user and session across schemas
How is Application insight tracking the User_Id?
Display user ID in the metrics of application Insight
I'm hoping this question and answers can get this more ironed out; hopefully do a better job of documentation than the relevant MS docs...
The first link in your question lists the answer. What it does show you is how to write a custom telemetry initializer. Such an initializer lets you add or overwrite properties that will be send along any telemetry that is being send to App Insights.
Once you add it to the configuration, either in code or the config file (see the docs mentioned earlier in the answer) it will do its work without you needing to create special instances of TelemetryClient. That is why this text of you does not make sense to me:
[…] and most in-the-wild examples I see don't actually look like this, including MS docs own examples in the 3rd link below; they instead hardcode get a new TelemetryClient()
You can either overwrite the value of UserId or overwrite AuthenticatedUserId in your initializer. You can modify the code given in the docs like this:
if (requestTelemetry != null && !string.IsNullOrEmpty(requestTelemetry.Context.User.Id) &&
(string.IsNullOrEmpty(telemetry.Context.User.Id) || string.IsNullOrEmpty(telemetry.Context.Session.Id)))
{
// Set the user id on the Application Insights telemetry item.
telemetry.Context.User.AuthenticatedUserId = HttpContext.Current.User.Identity.Name;
}
You can then see the Auth Id and User Id by going to your AI resource -> Search and click an item. Make sure to press "Show All" first, otherwise the field is not displayed.
Auth Id in the screenshot below is set to the user id from the database in our example:
We access the server from azure functions as well so we set the user id server side as well since there is no client involved in such scenarios.
There is no harm in settting it in both places, javascript and server side via an initializer. That way you cover all scenario's.
You can also manually add user id to app insights by
appInsights.setAuthenticatedUserContext(userId);
See App Insights Authenticated users

How to automatically assign a TFS work item to a particular person/role

I would like to customize a Work Item Type in TFS to automatically set the Assignee to a particular role. For example (to compare to another Issue Tracker), in JIRA the default Assignee is the Project Lead (so that any ticket not otherwise assigned, gets automatically assigned to whatever person is designated in the role of Project Lead). Can I do something similar in TFS?
So, I realize that one difference between JIRA and TFS is that TFS doesn't (to my knowledge) have the concept of "Roles". The closest thing to that is "Groups", but unlike Roles, Groups can have multiple people (which may be the restricting factor in this problem). I know how to configure a TFS Work Item so that only a certain Group gets listed in the "Assign To" field, but I would like to go a step farther, if possible, and create a custom Group with just one member (e.g., "Issue Guru") and then set up the work item to get automatically assigned to that person.
I'm trying to replicate the Jira functionality here, and maybe there is just no good way to do it in the TFS framework. Any suggestions?
There's a Step by Step Guide on Ivan Fioravanti's Blog for enabling it.
If you are unfamiliar with customising Work Item Types, have a look at the following links (stolen from Grant Holliday's blog).
I never tried this in production but here is something I tried quickly and it seems like it could work.
You can set the default value to a Group by editing work item template in template editor.
Just select Assigned to field and add a DEFAULT rule like shown in the image below.
This will also require you to create one or more groups (one global or maybe one per project). Once you set this up you won’t have to make any updates in the future but only manage people who are in the groups.

Resources