// // GET: /ReopenRate/ public ActionResult Index(string project) { _jss = new JiraSoapServiceService(); _token = _jss.login(_jiraUsername, _jiraPassword ); string projectId; project = Util.nvl(project, "DPS"); // Get Project ID List<RemoteProject> projects = HttpRuntime.Cache.GetOrStore<List<RemoteProject>>("projects", 3600, () => _jss.getProjectsNoSchemes(_token).ToList()); projectId = projects.Find(p => p.key == project).id; // Get Versions, limit to ones we care about List<RemoteVersion> versions = HttpRuntime.Cache.GetOrStore<List<RemoteVersion>>("versions-"+project, 3600, () => _jss.getVersions(_token, project).ToList()); versions = versions.Where(v => !v.archived && (!v.released || v.releaseDate > DateTime.Now.AddDays(-90))).OrderBy(v => v.sequence).ToList(); // Populate version list var rlist = new List<ReopenRateVersion>(); foreach (var v in versions) { ReopenRateVersion r = new ReopenRateVersion() { VersionId = v.id, VersionName = v.name }; rlist.Add(r); } rlist.Add(new ReopenRateVersion() { VersionId = "", VersionName = "None" }); // Enrich version list with data from DB (not available in API) JiraRepository rc = new JiraRepository(); rc.GetReopenRates(projectId, ref rlist); return View(rlist); }
public ActionResult Scope(string project) { string projectId = ""; project = Util.nvl(project, "URM"); _jss = new JiraSoapServiceService(); _token = _jss.login(_jiraUsername, _jiraPassword); // Get Project ID List<RemoteProject> projects = HttpRuntime.Cache.GetOrStore<List<RemoteProject>>("projects", 3600, () => _jss.getProjectsNoSchemes(_token).ToList()); RemoteProject proj = projects.Find(p => p.key == project); if (proj != null) { projectId = proj.id; ViewData["projectName"] = proj.key; // proj.description; // not ideal; will do a ViewModel if we have more properties } else { return View("Error", new ErrorInfoViewModel() { ErrorMessage = String.Format("Project does not exist")}); } JiraRepository rc = new JiraRepository(); List<ScopingVersion> l = rc.GetScoping(projectId); return View(l); }
// // GET: /RoadMapGadget/ public ActionResult Index(string project, string username) { _jss = new JiraSoapServiceService(); _token = _jss.login(_jiraUsername, _jiraPassword); project = Util.nvl(project, "DPS"); // Get Project List from cache and get project for specified input List<RemoteProject> projects = HttpRuntime.Cache.GetOrStore<List<RemoteProject>>("projects", 3600, () => _jss.getProjectsNoSchemes(_token).ToList()); // Define view model RoadMapGadgetViewModel vm = new RoadMapGadgetViewModel(); vm.project = projects.First(p => p.key == project); // Get data from DB (can't get from API) JiraRepository rc = new JiraRepository(); vm.versions = rc.GetRoadMapVersions(vm.project.id, username); return View(vm); }
public JsonResult GetTravel(string projectKey) { JiraRepository rc = new JiraRepository(); //var travel = HttpRuntime.Cache.GetOrStore<IEnumerable<Trip>>("travel", 3600, () => rc.GetTravel()); var travel = rc.GetTravel(); var travelList = from t in travel where t.ProjectKey == projectKey select new { id = t.IssueKey, start = t.StartDate.ToString("s"), end = t.EndDate.ToString("s"), allDay = true, title = String.Format("{0} ({1})", t.Description, t.Traveller) }; var rows = travelList.ToArray(); return Json(rows, JsonRequestBehavior.AllowGet); }
public ActionResult Index(string project) { string projectId = ""; project = Util.nvl(project, "URM"); _jss = new JiraSoapServiceService(); _token = _jss.login(_jiraUsername, _jiraPassword); // Get Project ID List<RemoteProject> projects = HttpRuntime.Cache.GetOrStore<List<RemoteProject>>("projects", 3600, () => _jss.getProjectsNoSchemes(_token).ToList()); RemoteProject proj = projects.Find(p => p.key == project); if (proj != null) { projectId = proj.id; ViewData["projectName"] = proj.key; // proj.description; // not ideal; will do a ViewModel if we have more properties } // TODO: else redirect to error JiraRepository rc = new JiraRepository(); ManpowerViewModel vm = new ManpowerViewModel(); vm.AllocatedWork = rc.GetManpower(projectId, true); vm.NonAllocatedWork = rc.GetManpower(projectId, false); return View(vm); }
public InstallationsCalendarController() { rc = new JiraRepository(); }
/// <summary> /// Returns a google chart of issues burndown for a specified version /// </summary> /// <param name="projectKey">Project Key, eg. DPS</param> /// <param name="version">Name of the desired version</param> /// <param name="refresh">Refresh parameter for chart- options are a number of minutes, or "now" to remove the cache</param> /// <returns></returns> public ActionResult IssuesBurndownChart(string projectKey, string version, string refresh) { try { int i; _jss = new JiraSoapServiceService(); _token = _jss.login(_jiraUsername, _jiraPassword); string versionId=""; if (String.IsNullOrEmpty(projectKey)) return View("Error", new ErrorInfoViewModel() { ErrorMessage = "Please select a project" }); // Agile or Regular? if (!int.TryParse(projectKey, out i)) { // Get relevant version List<RemoteVersion> versions = HttpRuntime.Cache.GetOrStore<List<RemoteVersion>>("versions-" + projectKey, 3600, () => _jss.getVersions(_token, projectKey).ToList()); try { versionId = versions.Find(v => v.name == version).id; } catch (NullReferenceException) { return View("Error", new ErrorInfoViewModel() { ErrorMessage = String.Format("Version does not exist in project {0}.", projectKey) }); } } // Handle refresh - options are now or a value in minutes int refreshMinutes; handleRefreshParameter(Request.QueryString["refresh"], "sprint-" + version, out refreshMinutes); // Populate View Model parameters JiraRepository rc = new JiraRepository(); IssuesBurndownChartViewModel vm = new IssuesBurndownChartViewModel(); vm.Title = String.Format("Issues Burndown Chart for {0}", version); vm.Refresh = refreshMinutes; vm.Sprint = HttpRuntime.Cache.GetOrStore<JiraSprint>("sprint-" + version, 60 * 45, () => String.IsNullOrEmpty(versionId) ? rc.GetBugsForAgileSprint(projectKey, version) : rc.GetBugsForSprint(projectKey, versionId, version)); return View(vm); } catch (Exception ex) { return View("Error", new ErrorInfoViewModel() { ErrorMessage = String.Format("An unexpected error has occurred ({0}).", ex.Message), Refresh = 15 }); } }