Thanks for the info.

I would like a task plugin because it is more flexible in configuration. I 
can setup the config so every task has different webhook. As far as I know, 
notification plugins have "global" config and cannot be tweaked per 
pipeline.

I guess I'll query web API to get all the information.
On Friday, April 14, 2023 at 3:47:07 PM UTC+2 Chad Wilson wrote:

> Plugins only receive certain data defined by the plugin APIs 
> <https://plugin-api.gocd.org/current/> and relevant to that type of 
> plugin. Conceptually you could query the web APIs 
> <https://api.gocd.org/current/> from within any type of plugin, but that 
> would probably make more sense from a *notification* plugin (runs on the 
> server) rather than a *task *plugin (runs on an agent)?.
>
> Notification plugins operate at stage level, not pipeline level and inform 
> the server which pipelines they are interested in. Task plugins need to be 
> added to individual pipelines/stages/jobs as steps so the config would live 
> "inside" the pipeline.
> - https://github.com/ashwanthkumar/gocd-slack-build-notifier uses the 
> "hybrid notification plugin+calls back to web API for additional info" 
> approach for Slack and Teams. You could fork it and/or add Discord 
> integration if it looks close to what you want to achieve.
> - https://plugin-api.gocd.org/current/notifications/#stage-status-changed
> - https://github.com/gocd-contrib/notification-skeleton-plugin (for a 
> barebones skeleton notification plugin)
>
> Don't think any plugin-based approaches will give you out-of-the-box 
> information about previous stages in one message - you'd just send one 
> notification per stage completion, generally.
>
> -Chad
>
> On Fri, Apr 14, 2023 at 8:13 PM Jurica (SuperJura) <[email protected]> 
> wrote:
>
>> Hello,
>> I am trying to create a Discord plugin as a task plugin. It should send a 
>> message to discord webhook with data about all previous stages and Material 
>> changes that triggered the pipeline. 
>>
>> I have 90% of it done, but I am missing how can I get the previous stages 
>> info from plugin. I tried to query requestBody, but it has only environment 
>> variables and config for Discord webhook. I uploaded the body contents I am 
>> getting.
>>
>> Basically, I need this Json. Any idea how to get it?
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> *{  "PipelineChange":  [    {      "Index": 111,      "Author": "John",  
>>     "Changed_Files":[        "Assets/Code/Test.cs",        
>> "Assets/Code/Foo.cs"      ]    },    {      "Index": 112,      "Author": 
>> "Jane",      "Changed_Files":[        "Assets/Code/Bar.cs"      ]    }  ],  
>> "Previous_Stages":[    {      "Name": "Build Windows",      "State": 
>> "Passed"    },    {      "Name": "Build Mac",      "State": "Failed"    }  
>> ]}*
>>
>> -- 
>> 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].
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/go-cd/9cdce37c-de8f-472b-a6a6-5568226f55f5n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/go-cd/9cdce37c-de8f-472b-a6a6-5568226f55f5n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/go-cd/d0136228-0b1d-462d-ad21-f02fe960cce0n%40googlegroups.com.

Reply via email to