示例#1
0
        public async Task Refresh()
        {
            var fullURL   = m_DroneURL.TrimEnd('/') + $"/api/repos/{m_RepoOwnerAndName}/builds/latest";
            var webClient = new WebClient();

            webClient.Headers[HttpRequestHeader.Authorization] = $"Bearer {m_DroneToken}";

            var data = await webClient.DownloadDataTaskAsync(fullURL);

            var dataStr = Encoding.Default.GetString(data);

            var buildResponse = JsonConvert.DeserializeObject <BuildResponse>(dataStr);

            if (Enum.TryParse(buildResponse.Status, true, out BuildStatus tmpOutStatus))
            {
                switch (tmpOutStatus)
                {
                case BuildStatus.Unknown:
                    m_PluginStatus = PluginStatusEnum.Unknown;
                    break;

                case BuildStatus.Success:
                    m_PluginStatus = PluginStatusEnum.Success;
                    break;

                case BuildStatus.Running:
                    m_PluginStatus = PluginStatusEnum.Problem;
                    break;

                default:
                    m_PluginStatus = PluginStatusEnum.Unknown;
                    break;
                }
            }
            else
            {
                m_PluginStatus = PluginStatusEnum.Unknown;
            }
        }
示例#2
0
 public StatusChangedEventArgs(PluginStatusEnum newStatus)
 {
     NewStatus = newStatus;
 }