示例#1
0
    public Signal CreateIncidentWithSignal(string projectId = "YOUR-PROJECT-ID")
    {
        // Create client
        IncidentServiceClient incidentServiceClient =
            IncidentServiceClient.Create();

        // Manually create a signal.
        Signal newSignal = new Signal()
        {
            Title       = "Red button pushed.",
            Content     = "Somebody pushed the red button!",
            ContentType = "text/plain",
        };

        // Call the API to create the signal.
        string parent = new ProjectName(projectId).ToString();
        Signal signal = incidentServiceClient.CreateSignal(parent, newSignal);

        Console.WriteLine("Created signal {0}.", signal.Name);

        // Manually create an incident.
        Incident newIncident = new Incident()
        {
            Title    = "Somebody pushed the red button!",
            Synopsis = new Synopsis()
            {
                Author = new User()
                {
                    Email = "*****@*****.**",
                },
                Content     = "Nobody should ever push the red button.",
                ContentType = "text/plain",
                UpdateTime  = DateTime.UtcNow.ToTimestamp()
            },
            Severity = Severity.Major,
            Stage    = Stage.Unspecified
        };
        // Call the API to create the incident.
        Incident incident =
            incidentServiceClient.CreateIncident(newIncident, parent);

        Console.WriteLine("Created incident {0}.", incident.Name);

        // Call the API to bind the signal to the incident.
        // TODO: Remove the name hack.
        signal.Name     = signal.Name.Replace("/-/", $"/{projectId}/");
        signal.Incident = incident.Name.Replace("/-/", $"/{projectId}/");
        signal.Title    = "Yellow button pushed!";
        FieldMask mask = new FieldMask()
        {
            Paths = { "title", "incident" }
        };

        signal = incidentServiceClient.UpdateSignal(signal, mask);
        return(signal);
    }
    public string CreateSignal(string projectId = "YOUR-PROJECT-ID")
    {
        // Create client
        IncidentServiceClient incidentServiceClient = IncidentServiceClient.Create();
        // Describe the signal.
        Signal signal = new Signal()
        {
            Title       = "Red button pushed.",
            Content     = "Somebody pushed the red button!",
            ContentType = "text/plain"
        };
        // Call the API to create the signal.
        string parent   = new ProjectName(projectId).ToString();
        Signal response = incidentServiceClient.CreateSignal(parent, signal);

        Console.WriteLine("Created signal {0}.", response.Name);
        return(response.Name);
    }