Ejemplo n.º 1
0
        public void TestFileLoad()
        {
            var serializer = new AdoWebHookMessageSerializer();
            var message    = serializer.LoadFile("TestMessage.json");

            Assert.IsNotNull(message);
            Assert.AreEqual(message.resource.workItemId, 336);
        }
        public static void Run([QueueTrigger("work-item-update", Connection = "AzureWebJobsStorage")] string inputMessage,
                               ILogger log)
        {
            log.LogTrace($"ProcessWorkItemStateChange received from queue: {inputMessage}");

            string adoOrganization = System.Environment.GetEnvironmentVariable("AdoUrl", EnvironmentVariableTarget.Process);

            log.LogTrace($"Connecting to ADO organization: {adoOrganization}");

            string pat = System.Environment.GetEnvironmentVariable("AdoPat", EnvironmentVariableTarget.Process);

            log.LogSensitive(LogLevel.Trace, "Using access token: {0}", pat);

            var adoEngine = new AdoEngine(adoOrganization, pat, log);

            var serializer = new AdoWebHookMessageSerializer();
            var message    = serializer.LoadFromString(inputMessage);

            Task.WaitAll(
                adoEngine.UpdateActiveState(message),
                adoEngine.UpdateClosedState(message),
                adoEngine.UpdateResolvedState(message));
        }