How can I determine if the org that I'm currently connected to is a scratch org?Managed package can't access...

How can I deal with my CEO asking me to hire someone with a higher salary than me, a co-founder?

What method can I use to design a dungeon difficult enough that the PCs can't make it through without killing them?

Can we compute the area of a quadrilateral with one right angle when we only know the lengths of any three sides?

Should I cover my bicycle overnight while bikepacking?

Why doesn't using multiple commands with a || or && conditional work?

What does “the session was packed” mean in this context?

A category-like structure without composition?

Avoiding the "not like other girls" trope?

Why do bosons tend to occupy the same state?

Are there any examples of a variable being normally distributed that is *not* due to the Central Limit Theorem?

Reverse dictionary where values are lists

What reasons are there for a Capitalist to oppose a 100% inheritance tax?

How to show a landlord what we have in savings?

Do UK voters know if their MP will be the Speaker of the House?

Would Slavery Reparations be considered Bills of Attainder and hence Illegal?

Can compressed videos be decoded back to their uncompresed original format?

Forgetting the musical notes while performing in concert

What do you call someone who asks many questions?

What exploit Are these user agents trying to use?

Size of subfigure fitting its content (tikzpicture)

Unlock My Phone! February 2018

iPad being using in wall mount battery swollen

Ambiguity in the definition of entropy

Is it logically or scientifically possible to artificially send energy to the body?



How can I determine if the org that I'm currently connected to is a scratch org?


Managed package can't access class defined in subscriber org via Type.forNameManaged package in sfdx scratch orgerror when pushing Managed Package into scratch org: ISVHow to have a scratch org open to LEX on first login?Pushing to Scratch Org - Converting existing org to dxCan a managed package safely access custom objects that are not part of the package using dynamic Apex?Beta Package (Not allowed to install metadata via apex)Using SFDX scratch org for development that interacts closely with 3rd party packagesSFDX force:mdapi:convert for metadata from Managed PackageUnable to authenticate through REST API when using scratch org













5















When I'm within a Salesforce org, how can I tell if that org is a Scratch Org or not?



Ideally this would be via Apex, but it could be an API call if required.



This would be useful information for the creator of a managed package who may not otherwise know what type of org is running the code.





I've had a couple of thoughts on how this might be achieved:




  1. Check if the pod/instance that Scratch orgs are created on are separate from the general population of sandbox orgs. I suspect that scratch orgs have dedicated hardware. E.g. a new scratch org I just created is on p0/CS31.

  2. Look for describe Metadata that is unique to only scratch orgs.










share|improve this question

























  • Full disclosure, this question has been discussed in the GoodDaySir slack channel. For posterity, it would be useful to have a solution listed in the open. gooddaysir.slack.com/messages/C3BJMEH3J/convo/…

    – Daniel Ballinger
    46 mins ago













  • Can you see the relevant ActiveScratchOrg or ScratchOrgInfo from within one?

    – Adrian Larson
    45 mins ago













  • @AdrianLarson Those are in the DevHub, aren't they? I don't think they would be reachable from the Scratch org itself in isolation.

    – Daniel Ballinger
    40 mins ago
















5















When I'm within a Salesforce org, how can I tell if that org is a Scratch Org or not?



Ideally this would be via Apex, but it could be an API call if required.



This would be useful information for the creator of a managed package who may not otherwise know what type of org is running the code.





I've had a couple of thoughts on how this might be achieved:




  1. Check if the pod/instance that Scratch orgs are created on are separate from the general population of sandbox orgs. I suspect that scratch orgs have dedicated hardware. E.g. a new scratch org I just created is on p0/CS31.

  2. Look for describe Metadata that is unique to only scratch orgs.










share|improve this question

























  • Full disclosure, this question has been discussed in the GoodDaySir slack channel. For posterity, it would be useful to have a solution listed in the open. gooddaysir.slack.com/messages/C3BJMEH3J/convo/…

    – Daniel Ballinger
    46 mins ago













  • Can you see the relevant ActiveScratchOrg or ScratchOrgInfo from within one?

    – Adrian Larson
    45 mins ago













  • @AdrianLarson Those are in the DevHub, aren't they? I don't think they would be reachable from the Scratch org itself in isolation.

    – Daniel Ballinger
    40 mins ago














5












5








5








When I'm within a Salesforce org, how can I tell if that org is a Scratch Org or not?



Ideally this would be via Apex, but it could be an API call if required.



This would be useful information for the creator of a managed package who may not otherwise know what type of org is running the code.





I've had a couple of thoughts on how this might be achieved:




  1. Check if the pod/instance that Scratch orgs are created on are separate from the general population of sandbox orgs. I suspect that scratch orgs have dedicated hardware. E.g. a new scratch org I just created is on p0/CS31.

  2. Look for describe Metadata that is unique to only scratch orgs.










share|improve this question
















When I'm within a Salesforce org, how can I tell if that org is a Scratch Org or not?



Ideally this would be via Apex, but it could be an API call if required.



This would be useful information for the creator of a managed package who may not otherwise know what type of org is running the code.





I've had a couple of thoughts on how this might be achieved:




  1. Check if the pod/instance that Scratch orgs are created on are separate from the general population of sandbox orgs. I suspect that scratch orgs have dedicated hardware. E.g. a new scratch org I just created is on p0/CS31.

  2. Look for describe Metadata that is unique to only scratch orgs.







apex scratch-org






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 41 mins ago







Daniel Ballinger

















asked 1 hour ago









Daniel BallingerDaniel Ballinger

74.3k15154405




74.3k15154405













  • Full disclosure, this question has been discussed in the GoodDaySir slack channel. For posterity, it would be useful to have a solution listed in the open. gooddaysir.slack.com/messages/C3BJMEH3J/convo/…

    – Daniel Ballinger
    46 mins ago













  • Can you see the relevant ActiveScratchOrg or ScratchOrgInfo from within one?

    – Adrian Larson
    45 mins ago













  • @AdrianLarson Those are in the DevHub, aren't they? I don't think they would be reachable from the Scratch org itself in isolation.

    – Daniel Ballinger
    40 mins ago



















  • Full disclosure, this question has been discussed in the GoodDaySir slack channel. For posterity, it would be useful to have a solution listed in the open. gooddaysir.slack.com/messages/C3BJMEH3J/convo/…

    – Daniel Ballinger
    46 mins ago













  • Can you see the relevant ActiveScratchOrg or ScratchOrgInfo from within one?

    – Adrian Larson
    45 mins ago













  • @AdrianLarson Those are in the DevHub, aren't they? I don't think they would be reachable from the Scratch org itself in isolation.

    – Daniel Ballinger
    40 mins ago

















Full disclosure, this question has been discussed in the GoodDaySir slack channel. For posterity, it would be useful to have a solution listed in the open. gooddaysir.slack.com/messages/C3BJMEH3J/convo/…

– Daniel Ballinger
46 mins ago







Full disclosure, this question has been discussed in the GoodDaySir slack channel. For posterity, it would be useful to have a solution listed in the open. gooddaysir.slack.com/messages/C3BJMEH3J/convo/…

– Daniel Ballinger
46 mins ago















Can you see the relevant ActiveScratchOrg or ScratchOrgInfo from within one?

– Adrian Larson
45 mins ago







Can you see the relevant ActiveScratchOrg or ScratchOrgInfo from within one?

– Adrian Larson
45 mins ago















@AdrianLarson Those are in the DevHub, aren't they? I don't think they would be reachable from the Scratch org itself in isolation.

– Daniel Ballinger
40 mins ago





@AdrianLarson Those are in the DevHub, aren't they? I don't think they would be reachable from the Scratch org itself in isolation.

– Daniel Ballinger
40 mins ago










1 Answer
1






active

oldest

votes


















5














The SourceMember sObject is only present in scratch orgs. Its presence would be a sign that you are in a scratch org. The gotcha would be that it is only accessible via the Tooling API and not Apex alone.



https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sourcemember.htm






share|improve this answer
























  • This seems like a great solution and shouldn't be too difficult with an HTTP request from Apex. Especially since we don't need the Remote Site setting anymore.

    – Daniel Ballinger
    38 mins ago












Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "459"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f256499%2fhow-can-i-determine-if-the-org-that-im-currently-connected-to-is-a-scratch-org%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









5














The SourceMember sObject is only present in scratch orgs. Its presence would be a sign that you are in a scratch org. The gotcha would be that it is only accessible via the Tooling API and not Apex alone.



https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sourcemember.htm






share|improve this answer
























  • This seems like a great solution and shouldn't be too difficult with an HTTP request from Apex. Especially since we don't need the Remote Site setting anymore.

    – Daniel Ballinger
    38 mins ago
















5














The SourceMember sObject is only present in scratch orgs. Its presence would be a sign that you are in a scratch org. The gotcha would be that it is only accessible via the Tooling API and not Apex alone.



https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sourcemember.htm






share|improve this answer
























  • This seems like a great solution and shouldn't be too difficult with an HTTP request from Apex. Especially since we don't need the Remote Site setting anymore.

    – Daniel Ballinger
    38 mins ago














5












5








5







The SourceMember sObject is only present in scratch orgs. Its presence would be a sign that you are in a scratch org. The gotcha would be that it is only accessible via the Tooling API and not Apex alone.



https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sourcemember.htm






share|improve this answer













The SourceMember sObject is only present in scratch orgs. Its presence would be a sign that you are in a scratch org. The gotcha would be that it is only accessible via the Tooling API and not Apex alone.



https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sourcemember.htm







share|improve this answer












share|improve this answer



share|improve this answer










answered 42 mins ago









HeberHeber

16317




16317













  • This seems like a great solution and shouldn't be too difficult with an HTTP request from Apex. Especially since we don't need the Remote Site setting anymore.

    – Daniel Ballinger
    38 mins ago



















  • This seems like a great solution and shouldn't be too difficult with an HTTP request from Apex. Especially since we don't need the Remote Site setting anymore.

    – Daniel Ballinger
    38 mins ago

















This seems like a great solution and shouldn't be too difficult with an HTTP request from Apex. Especially since we don't need the Remote Site setting anymore.

– Daniel Ballinger
38 mins ago





This seems like a great solution and shouldn't be too difficult with an HTTP request from Apex. Especially since we don't need the Remote Site setting anymore.

– Daniel Ballinger
38 mins ago


















draft saved

draft discarded




















































Thanks for contributing an answer to Salesforce Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f256499%2fhow-can-i-determine-if-the-org-that-im-currently-connected-to-is-a-scratch-org%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

“%fieldName is a required field.”, in Magento2 REST API Call for GET Method Type The Next...

How to change City field to a dropdown in Checkout step Magento 2Magento 2 : How to change UI field(s)...

變成蝙蝠會怎樣? 參考資料 外部連結 导航菜单Thomas Nagel, "What is it like to be a...