Triggers do not trigger on third party changes - triggers

I made a spreadsheet that was intended to be shared with a small group of contributors, each one with a full edit permission over only one respective sheet. I built a main sheet that was supposed to compute the information passed by all the others collaborator's sheets and make an instant update in it.
When I, as the owner, make any changes on those particular sheets, the main one works like a charm. But when someone else changes the same thing, nothing happens.
Is this something that should already be working?

I assume you're using the onEdit simple event handler, which means that the script is running under the permission of who's making the edit. Therefore, if the user is not allowed to do something, the script will not be allowed either.
To fix this you should use the installable on edit trigger instead. Just rename your onEdit function to something else e.g. "installableOnEdit", so it's not triggered as a simple handler, then go to the menu "Resources > Current project's triggers" and set up a trigger to run your on-edit function on Spreadsheet edit events.
By doing this, the trigger will always run under your account, which should have the required access to modify the protected sheets.

Related

Need Script Code for Automating Emails Based on Cell Input in Google Sheets

I am trying to create a script that will auto-email a person. Basically, this sheet is going to have a list of items and track those items, and I need to assign each item when it comes it. When I assign it to a person's name, I want the script to then email that person. There are only about 15 people, but I assume I would need a script for each person aka if I put "Sally" in the sheet, there is a script to now email "Sally" to say she has been added to this task.
Ideally, I would like a way to also generate an email again to "Sally" if I update her task, add a comment to it, or do another input to do some sort of follow-up.
Any help would be appreciated immensely!
It wont be good to directly post the complete solution but I will mention the required functionalities which I get in my mind , please use them to solve your task:
onEdit(e) - use this to trigger a particular set of functions whenever a particular range or cell value is changed(it may be automated or manual both can trigger this function) look into the official documentation for how to detect the changes occurred in which cell(https://developers.google.com/apps-script/guides/triggers)
once the new task is assigned to a person(for first time) send an email to that person using GmailApp(install the library in app script) , get the ThreadById of this email and store it into the sheet along the same row, if any changes are made afterwords like adding comments or something,use this threadId to reply to the same email using "thread.reply"(How do you reply to email thread with google Mailapp?)
I think you have also asked how to make the system dynamic, I mean you are right now coding as if each member needs a code for his/her entry. Please study a bit deeper you will easily find an approach to make it dynamic using the onEdit and some for loops as the way you are thinking is not recommended in automation scenarios.

Create task automatically when creating bug in Azure Devops Server

We are using Azure Devops Server. When a bug is created, I would like to create a child task automatically. The task does not need to have any particular properties, it just need to be created with default values and have a default name like "Placeholder" or something like that.
I have already encountered some different ways of doing it, but neither of them seems to be well suited for me:
The extension 1-click-child-links could be used to create a child task by clicking a button in the context menu after creating the bug. This will of course work, but it would be even better if it could be done in the background ensuring the task to be created even if the user forgets to click the button.
As I understand it, using the Microsoft Flow software tasks can be created in the background when creating a bug which would be exactly what I'm looking for, but it would be nice to find a simpler way of doing it without installing a complete software tool.
I've learned that it is possible to hook into different events by using service hooks (https://learn.microsoft.com/en-us/azure/devops/service-hooks/events?view=azure-devops). There are a couple of standard integrations, but neither of them can be used to solve my case. So using this method, I guess I need to develop a custom service creating the task?
Is there a simpler solution to achieve my gool or do I need to stick with one of the solutions above?
As a workaround , we can set Azure Logic App, select When a work item is created"as trigger, and then select Create a work item as action.
Make sure to set the Link URL to the “When a work item is created” URL and set the Link Type to Hierarchy-reverse to create the Task as a child of the Bug item. Please refer to the settings below:
Save the Logic Apps Designer, and then when the bug item is created, the child task named Placeholder will be automatically created.

Trying to create an approval workflow that will update a list item with a varible from SharePoint desginer

This should be easy, but it looks like it isn't.
I should start by saying that while this is a 2013 workflow, I am doing a 2010 workflow instead, as it has things I need in it.
I set an initiation form parameter called Syndication. which is a simple Yes / No drop down list. As you know, as soon as the parameter is set, the workflow automatically creates a variable for that value.
So I created a field in my workflow tasks list also called Syndication, which is also a Yes / No choice field. Then I went into the workflow and set up an update item in this list, chose the workflow task list, choose the Syndication field, and then choose to update with the workflow variable Syndication.
Here it is:
image here
The issue is that when a user selects yes everything works fine, when a user selects no, however, the workflow simply gives am error occurred, and doesn't tell me what the error is.
Anything would be great.

is it possible to show contact number of current logged in user when artifact is created in tuleap

We are using the Tuleap 7.0 for Project management. We have a new requirement that we need to show the contact number of current logged in user when a artifact is submitted either in a separate field or in the same field (submitted by). Is it possible to show or what type of code change has to be done, to retrieve the current logged in user information when artifact is created. Kindly do needful.
That's not easy. There are two main steps: one surrounding the user; the other surrounding the artifact.
First you would need to edit PFUser.class.php to add the property to the user object. You would also probably need to create a forgeupgrade script (database upgrade) so that you could save and modify the property. Obviously the UI and scripts that manage the CRUD of a user would also need changing.
Next, you would need to create a new type of class that extends TrackerformElementField, make that type available for use in the Tracker Field administration and set its value to the user's contact number.
Unfortunately, any of these modifications, if not done carefully, can have important side-effects. If you want to write your code and have it reviewed by the community, you can go through gerrit.tuleap.net and read the developer guide

Stop form from open when no records

I have a data entry form that when it closes opens another form for further updating the just newly entered data. However, at times no further update is necessary. How can I suppress the 2nd form from opening when there is no need for further update? Presently the form opens even when there are no recordsets present. (need a similar Event like for the report "On No Data")
Have a bit field such as a checkbox with default set to true open second form. Uncheck it to avoid the system from opening the next form. You will need to handle this in your code and check if that check box is checked or not.
Of course we will need more details such as why you are currently opening this second form...in addition, cant you check if any changes were made and if they were then open that second form else dont? Also what lang ?
Without knowing more about what you're working on, I'd say you would have to modify the process that shuts down the first form to check if the second form is needed. In .NET, for example, you could add code to the OnClosing event for a WinForm to check. If it's needed, open it as normal, if not then don't.
Subject: Tool Kits. Tool Kits consist of 1 or more tools. If tools already exist, no need for 2nd form to pop up. If tools are new, I need to fill in one of the 3 fields in the drop down listing. I like the idea of adding code to the OnClosing event, but do not understand what you mean by WinForm.