Jyoti Thank you so much for your clarifications.
I have attempted to extend the documentation with additional details and JSON examples as Ketan requested and issued a pull-request. Please let me know if there are any changes I need to make to it. https://github.com/gocd/plugin-api.go.cd/pull/33 - b On Tuesday, March 21, 2017 at 10:00:10 PM UTC-7, Jyoti Singh wrote: > > Hi Badri, > > This > <https://github.com/gocd/gocd/blob/master/server/src/com/thoughtworks/go/server/messaging/plugin/StageStatusPluginNotifier.java#L48> > > is the code responsible for sending these notifications out. Just to answer > your question, currently the notifications get sent when a stage starts > (regular schedule + reruns) and finishes off, not based on the job > start/completion. > > >> 1. Specifically if a stage has 3 jobs (meant to run in parallel) and >> it starts with only two of them running - and the third one starts half >> through the execution of the other two, how many notifications will get >> sent out? >> >> - Two, assuming the stage completes (ie. all jobs within this stage > complete - pass/fail doesn't matter) > >> >> 1. Similarly, if a stage has three running jobs and they all finish >> in a staggered manner one after the other, how many notifications will >> get >> sent? >> >> - One, assuming the stage completes > >> >> 1. If a stage with 3 jobs has run once and then is re-run, what would >> we expect to see? >> >> - A total of 4 notifications. Two for the original run, and two for the > re-run. Assuming the stage completes both the times > > Does that help? Do you see some incorrect behavior there? > > Cheers, > Jyoti > > On Wednesday, 22 March 2017 10:11:20 UTC+5:30, Badri Janakiraman wrote: >> >> Hey Ketan >> >> I would be happy to add to the example data. To help me do so, would you >> mind letting me know what are the circumstances under which this >> notification would be sent? >> >> >> 1. Specifically if a stage has 3 jobs (meant to run in parallel) and >> it starts with only two of them running - and the third one starts half >> through the execution of the other two, how many notifications will get >> sent out? >> 2. Similarly, if a stage has three running jobs and they all finish >> in a staggered manner one after the other, how many notifications will >> get >> sent? >> 3. If a stage with 3 jobs has run once and then is re-run, what would >> we expect to see? >> >> It would be hard for me to put the system into all these states - so any >> tips on how to determine this would be very helpful. >> >> Thank you >> - Badri >> >> >> On Tuesday, March 21, 2017 at 9:01:34 PM UTC-7, Ketan Padegaonkar wrote: >>> >>> Badri, >>> >>> We don't have a schema available (because we don't validate or test >>> against the schema). But to answer your specific question about the >>> possible values of the fields — >>> >>> This code >>> <https://github.com/gocd/gocd/blob/3c001b1d376263e964495723fb76a4771ca8a705/plugin-infra/go-plugin-access/src/com/thoughtworks/go/plugin/access/notification/v2/StageNotificationDTO.java#L137-L147> >>> is >>> what is responsible for rendering the stage JSON. It seems like we're >>> stringifying some >>> <https://github.com/gocd/gocd/blob/3c001b1d376263e964495723fb76a4771ca8a705/domain/src/com/thoughtworks/go/domain/StageState.java> >>> >>> enums >>> <https://github.com/gocd/gocd/blob/3c001b1d376263e964495723fb76a4771ca8a705/domain/src/com/thoughtworks/go/domain/StageResult.java> >>> >>> from core. Would you mind submitting a PR to improve the documentation? >>> >>> >>> On Wed, Mar 22, 2017 at 5:48 AM Badri Janakiraman < >>> [email protected]> wrote: >>> >>>> Hello >>>> >>>> I am trying to understand a couple of things about the >>>> StageStatusChange message. >>>> >>>> 1. Does it get sent when a stage starts AND finishes - or is it >>>> only sent when one finishes? I assume both - but I wanted to check. >>>> 2. Are there samples for the content and structure of this message >>>> for when the stage starts? Or if it gets re-run? >>>> >>>> I noticed that there is an example here: >>>> https://plugin-api.gocd.io/current/notifications/#stage-status-changed >>>> - but that seems to be for a simple stage completion for a stage with with >>>> exactly one job. How can we know what values to expect for the various >>>> fields like state and status at the stage and job levels? Is this just >>>> something that we have to run and see? Is there a JSON schema somewhere >>>> that gives us some information about the expected structure - similar to >>>> the plugin.xml schema that is published here >>>> <https://github.com/gocd/gocd/blob/master/plugin-infra/go-plugin-api/resources/plugin-descriptor.xsd> >>>> ? >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "go-cd" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- You received this message because you are subscribed to the Google Groups "go-cd" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
