Create GitHub issue from Freshdesk - email

We are currently using Freshdesk for our customer support and GitHub for our code. On receiving a bug or an improvement feature request via Freshdesk, we would like to forward that ticket (with all the details + screenshots) to an email in GitHub so an issue is created automatically on GitHub. That would save us a manual entry.
Look forward to an advice on this or a better solution.
NOTE: Had come across https://zapier.com/zapbook/gmail/github/72/create-github-issue-email , but we would prefer a direct interaction without a third-party app in between.

Creating an issue to GitHub wouldn't be done by "sending an email", but only by using the GitHub v3 issue API (like this script, for example, to migrate issues to GitHub)
That means in your case having a trigger on FreshDesk (or an "Observer" to call a webhook) which would parse the ticket and create the appropriate bug report on GitHub.
From the Observer/WebHook help page:
Webhooks also come handy when you want to trigger an action in an external application or tool (as well as some updates that the Observer can't perform, like update time entry on a ticket or add a note to a ticket)
You would manage that webhook locally on your side, and that callback would in turn call the right GitHub API commands to create the GitHub issue.

We had similar needs and built a very simple tool to let anyone in the team send/forward emails to create GitHub issues. We were using it internally at first so that non engineering team members didn't have to go to GitHub to create issues. We just made it available to anyone (and free). It supports attachments.
You can find it at https://fire.fundersclub.com.

Related

How to set repository's social media preview via Github API?

I am working on a project where I want to set the social media preview for multiple (lots of repositories) I own. I know there is a manual way to do it as mentioned here.
I was wondering if there was some way to do it via Github API or what kind of scripting could automate the task for adding social previews to multiple repositories.
If it was doable via the API, it'd almost certainly be one of the parameters at https://docs.github.com/en/rest/repos/repos?apiVersion=2022-11-28#update-a-repository. It's not there as of the time of this writing, but maybe someday.
There's sort of a feature request at https://github.com/orgs/community/discussions/32166. It's unclear if there's a better place to make an API feature request.

Programatically create Conversational Action on Google via an API

Google has recently released the Conversational Actions skill creation kit. From my understanding, it differs from the previous Actions on Google set that was available and, indeed, on the integrations part of Dialogflow, the AoG integration is now considered legacy, and separate from Conversational Actions.
Is it possible to create a new Google Conversational Action via an API? All the documentation ends up mentioning the Actions API at some point or another. However, clicking on the "Documentation" tab on the API page does literally nothing.
On the Conversational Actions reference page, there are numerous manifest definitions for various things, such as Entities, Actions, Intents, Scenes... Is there an API somewhere that would allow for programmatic creation/update of actions?
If so, what is the preferred method of authenticating with said API? oAuth, some sort of a token?
I have asked a similar question before about AoG, and the answer was "no". Has anything changed?
IMPORTANT: gactions CLI is off the table. I know it's available, its usage is less than ideal.
The short answer is no - the Actions API is not publicly documented or available, although you need to grant your Google Cloud project access to it if you want to use the gactions CLI.
Clearly there is an API somewhere, after all, gactions needs to be permitted to it, as you note. But they haven't made it available. (At least not yet.)
Judging just by the gactions command, it would be able to do most, but not all, of everything needed for the "programmatic creation/update of actions". While it would be able to update actions, it can't create them - right now that needs to be done through the web console. Although you can create a project using the gcloud command, there does not seem to be any way to "promote" it to an Actions project - trying to use gactions at this point just gives an error that says you need to create it in the console.

Fetch all metadata of Salesforce

I've been trying to implement a way to download all the changes made by a particular user in salesforce using PowerShell script & create a package The changes could be anything whether it can be added or modified, Apex classes, profiles, Account, etc based on the modified by the user, component ID, timestamp, etc. below is the URL that exposes the API. The URL Does not explain any way to do this by using a script.
https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_listmetadata.htm
Does anyone know how I can implement this?
Regards,
Kramer
Salesforce orgs other than scratch orgs do not currently provide source tracking, which makes it possible to pinpoint user changes in metadata and extract only those changes. This is done by an SFDX/Metadata API client, like Salesforce DX or CumulusCI (disclaimer: I'm on the CumulusCI team).
I would not try to implement a Metadata API client in PowerShell; instead, harness one of the existing tools to do so.
Salesforce orgs other than scratch orgs don't provide source tracking at present. To identify user changes, you can either
Attempt to extract all metadata and diff it against your version control, which is considerably harder than it sounds and is implemented by a variety of commercial DevOps tools for Salesforce (GearSet, Copado, etc).
Have the user manually add components to a Change Set or Unmanaged Package, and use a Metadata API client as above to retrieve the contents of that package. (Little-known fact, a Change Set can be retrieved as a package!)
To emphasize: DevOps on Salesforce does not work like other platforms. Working on the Metadata API requires a fair amount of time investment and specialization. Harness the existing work of the Salesforce community where you can, but be aware that the task you are laying out may be rather more involved than you think and it's not necessarily something you can just throw together from off-the-shelf components.

Getting Jira Issue's Branches from REST API

I am working with the Atlassian product Jira's REST API, combined with Stash. I have the two applications linked so that I can create branches in Stash for the Jira tickets. That is all working great, but what I need is a REST API call or really any call to get the branches for the issue to help automate our development process.
/rest/api/2/{issueid} // Doesn't work
The standard issue pull, Atlassian documentation https://docs.atlassian.com/jira/REST/6.0.1/#id147461, doesn't give me any information about the branches created for the issue.
The only other way I can think of to get the information is to scan every project's repo for the specific name of the ticket, which sounds wildly inefficient.
I'm using:
Jira version 6.2.6
Stash version 3.0.1
Found the rest url I was looking for and so far I have found zero documentation on it. Anyway I am going to use it as this is the actual url that Jira uses in the user interface.
{Jira App Url}/rest/dev-status/latest/issue/detail?issueId={IssueKey}&applicationType=stash&dataType=pullrequest
The docs: https://quickstart.atlassian.com/download/stash/jira-integration mention there is information about "all branches related to the issue". The decision which branch is related to which issue comes from branch name. I assume what you would like to get is "all branches that have commits related to particular issue" (issue key must be in commit message). As far as I know this is not supported at the moment.
One solution that comes to my mind is using Stash git hooks (https://blogs.atlassian.com/2013/03/stash-22-customize-workflow-git-hooks-api-merge-checks/) with custom JIRA plugin that exposes custom REST API to collect information triggered by git hook.
I'd look at the source for the JIRA part of the integration to see what REST calls it makes to stash. They're probably ones documented here: https://developer.atlassian.com/static/rest/stash/3.0.4/stash-branch-utils-rest.html
but they may also use the core REST API for Stash
Try This :
{Jira App Url}/rest/dev-status/latest/issue/detail?issueId={IssueKey}&applicationType=stash&dataType=repository

Azure Data Factory development with multiple users without using Source Control

While working on a single Azure Data Factory solution with no Source Control. Is it possible to work parallelly for a team of 3 or more developers, without corrupting the main JSON?
Scenario:
All developers are accessing the same ADF and working on different pipelines at the same time. One of the developer publishes his/her updates, does it somehow overwrites or ignores the changes other developers are publishing?
I tested and found that:
Multiple users can access the same Data factory and working with
different pipelines in same time.
Publish only affect the current user and the current pipeline which
user is developing and editing. It won't overwrites other pipelines.
For you question:
Is it possible to work parallelly for a team of 3 or more developers, without corrupting the main JSON?
Yes, it's possible.
One of the developer publishes his/her updates, does it somehow overwrites or ignores the changes other developers are publishing?
No, it doesn't. For example, user A only develop with pipeline A, then publish again. The Publish only affect the current pipeline, won't overwrite or affection other pipelines.
You could test and prove it.
Update:
Thanks #V_Singh for share us the Microsoft suggestion:
Microsoft suggested to use CI/CD only, otherwise there will be some disparity in code.
Reply from Microsoft:
"In Live Mode can hit unexpected errors if you try to publish because you may have not the latest version ( For Example user A publish, user B is using old version and depends on an old resource and try to publish) not possible. Suggested to please use Git, since it is intended for collaborative scenarios."
Hope this helps.