Example #1
0
        public ObservableList <OnlinePluginPackage> GetOnlinePluginsIndex()
        {
            // edit at: "https://github.com/Ginger-Automation/Ginger-Plugins-Index/blob/master/PluginsList.json";

            // raw url to get the file content
            string url = "https://raw.githubusercontent.com/Ginger-Automation/Ginger-Plugins-Index/master/PluginsList.json";

            Reporter.ToLog(eLogLevel.INFO, "Getting Plugins list from " + url);

            ObservableList <OnlinePluginPackage> list = GitHTTPClient.GetJSON <ObservableList <OnlinePluginPackage> >(url);

            Reporter.ToLog(eLogLevel.INFO, "Online Plugins count=" + list.Count);
            ObservableList <PluginPackage> installedPlugins = mSolutionRepository.GetAllRepositoryItems <PluginPackage>();

            foreach (OnlinePluginPackage onlinePluginPackage in list)
            {
                PluginPackage pluginPackage = (from x in installedPlugins where x.PluginId == onlinePluginPackage.Id select x).FirstOrDefault();
                if (pluginPackage != null)
                {
                    onlinePluginPackage.CurrentPackage = pluginPackage.PluginPackageVersion;
                    onlinePluginPackage.Status         = "Installed - " + pluginPackage.PluginPackageVersion;
                }
            }
            return(list);
        }
Example #2
0
        /// <summary>
        /// Get list of releases for plguin from Git
        /// </summary>
        /// <param name="pluginRepositoryName"></param>
        /// Repositry name in Fit for example: Ginger-PACT-Plugin
        /// <returns></returns>
        void GetPluginReleases()
        {
            if (string.IsNullOrEmpty(URL))
            {
                return;
            }
            // string url = "https://api.github.com/repos/Ginger-Automation" + pluginRepositoryName +  "/releases";

            string releasesURL = URL.Replace("https://github.com/Ginger-Automation", "https://api.github.com/repos/Ginger-Automation") + "/releases";
            string releases    = GitHTTPClient.GetResponseString(releasesURL).Result;

            if (releases == "Error: Forbidden")
            {
                throw new IOException("Error: Forbidden - " + releases);
            }
            mReleases = JsonConvert.DeserializeObject <ObservableList <OnlinePluginPackageRelease> >(releases);
        }