3

While i am uploading the objects via Changesets in production it showing an error is

This change set is not currently available. Recently uploaded change sets may take up to 30 minutes to be available for deployment. Please wait 30 minutes and try deploying your change set again.

5
  • How long ago did you deploy the changeset?
    – Doug B
    Commented Apr 24, 2014 at 11:06
  • From 4-5 hrs back onwards i am deploying..
    – Sathya
    Commented Apr 24, 2014 at 11:10
  • 3
    We once had a change set take about 27 hours to appear (there was a comment on trust.salesforce.com eventually warning of slow replication architecture performance). You just have to wait it out I'm afraid. (Don't keep resending it, as this doesn't help the situation!!) Commented Apr 24, 2014 at 11:13
  • Its not an error actually. It may usually take some time to appear in Production. Just keep refreshing the page and it will appear once its available.
    – sunny
    Commented Oct 13, 2014 at 10:04
  • 1
    consider Gearset - an inexpensive tool that will make you never want to use changesets again
    – cropredy
    Commented Oct 25, 2017 at 2:47

4 Answers 4

3

This is not an error , you need to wait. It sometimes takes time for change sets to appear in Production.

2

I know this isn't an answer but I made some code that checks a changeset to see if it's ready. I frustratingly wrote it in the time it took waiting for large changesets, so it's rudimentary and could definitely be improved.

Simply copy the URL from the browser of the Unavailable Changeset and it alerts you when it's ready as well as opens it in a new window. Enjoy!

<apex:page controller="ChangesetCheckerController">

<head>
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
</head>
<html>
<h3> Enter Change Set URL below</h3>
<div id="paraContainer" style="display:none">
    <p id="para">
        Checking on the changeset. Please wait...
    </p>
</div>
<form>
    <input id="urlInput" />
    <input id="submitbtn" type="button" value="Check Now" />
</form>
<script type="text/javascript">
    $("#submitbtn").click(function() {
        $("#paraContainer").css("display", "inline");
        checkChg();
    });

    function checkChg() 
    {
        var newURL = $("#urlInput").val();
        try 
        {
            Visualforce.remoting.Manager.invokeAction
            (
                '{!$RemoteAction.ChangesetCheckerController.checkChg}',
                newURL,
                function(result, event) 
                {
                    var foundin = '';
                    if (event.status)
                    {
                        console.log('success');
                        console.log(result);
                        $("#para").html(result);
                        foundin = $('p:contains("Change Set Unavailable")');
                        if (result == '') 
                        {
                            check();
                        }
                        else if (foundin.length == 0) 
                        {
                            foundin = $('p:contains("PackageUnavailableException")');
                            if (foundin.length == 0) 
                            {
                                 $("#para").empty();
                                alert('Change Set Ready');
                                window.open(newURL, "_blank");
                            } 
                            else 
                            {
                               check();
                            }
                        }
                    } 
                    else if (event.type === 'exception') 
                    {
                        console.log(event.message + " " + event.where);
                    } 
                    else 
                    {
                        console.log(event.message);
                    }
                }, 
                {
                    escape: true
                }
            );
        } 
        catch (err) 
        {
           check();
        }
    }
    function check()
    {
        $("#para").text("Will check in 2 seconds again.. waiting..");
        setTimeout(function() { 
            $("#para").text("Checking on the changeset. Please wait...");
            checkChg();
        }, 2000);
    }
</script>

</html>

public class ChangesetCheckerController
{
@RemoteAction
public static String checkChg(String url)   
{
    String html = '';
    try
    {
        PageReference page = new PageReference(url);
        Blob b = page.getContent();
        html = String.valueof(b);
        system.debug(html);
    }
    catch(Exception e)
    {
    }
    return html;
    }
}
2

There are a few relevant Ideas. One way to maybe make salesforce fix this issue is to vote for them.

  1. Change Sets STILL take up to 30 minutes to be available

    Change Sets STILL take up to 30 minutes to be available

    Even though this was supposed to be available in 2013 its 2017 and I still see messages that say my changeset will not be avaiavle for up to 30 minutes.

    This says it was done. But it wasnt. Or at least not that I have seen. https://success.salesforce.com/apex/ideaView?id=08730000000IyYKAA0

  2. The above Idea also references Make change set upload real time. The Idea detail says it was delivered in 2013, but perhaps they broke it again since.

    Make change set upload real time

    Change Set Unavailable
    This change set is not currently available. Recently uploaded change sets may take up to 30 minutes to be available for deployment. Please wait 30 minutes and try deploying your change set again.

    The above pretty much says it all. "30 minutes" is an outrageous time to wait to deploy code. Currently you can an email when the set has been pushed to the org, but this email that says "hey, it's ready" isn't really the reality of it. If you follow that email and go to try and deploy, you still need to wait a few minutes. This makes Eclipse still faster at deploying code, by leaps and bounds, but Change Sets are better for grouping objects to deploy, so there's no real winner.

  3. There's another idea requesting that the mail is send only when it's actually ready: Deploy: Outbound change sets: Please send notification email when deployment IS

    Deploy: Outbound change sets: Please send notification email when deployment IS

    When using the outbound change set tool to send updates to our production org we recieve an email notification when the change set is uploaded. This is useless information since it fools you to think that you can deploy the objects.

    If you click on the "change sets awaiting deployments"-link you will get a "CHANGE SET UNAVAILABLE" message.

    It even says in your helptext that the uploaded material could be unavailble up to 30 minutes.

    >> Please send the notification email to be sent when it IS available for deploment. <<

    And... thank your for providing this functionality since this is a really nice way of moving objects/code from the sandbox to any other organization. =)

    Change Set Unavailable

9
  • While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. - From Review Commented Oct 20, 2017 at 14:08
  • @Gortonington I'm not sure what you mean. Have you actually read my answer? There is a summary of each linked idea in the sentence linking to it, and repeating entire ideas verbatim here is no use as far as I can see.
    – Legolas
    Commented Oct 22, 2017 at 14:46
  • 2
    I fully understand that it gives a synopsis - the purpose is to have answers that are not reliant on links, which is why there is a flag for 'link only answers'. If an idea is explained on a link, you should take the part that is essential for your answer and cite it. I agree it does not need to be 'verbatim', but you need to provide context outside of 'here' or 'this'. Commented Oct 23, 2017 at 12:36
  • 2
    These links are relevant, and I vote not to delete this answer. Legolas, I have reformatted this question to indicate how I would have written such an answer. If you include the relevant content here, then visiting the links is not necessary, which is the biggest problem with link only answers. Links can break over time. and we want the content on this site to be useful even were every link to go dead.
    – Adrian Larson
    Commented Oct 24, 2017 at 19:57
  • 2
    It's 2019 and this is still happening.
    – eyedar
    Commented Feb 17, 2019 at 7:28
1

Changesets take a while before they are available for deployment. Although the message says 30 minutes, I've known it take longer.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .