Simple pull request job plugin (GSOC 2018 project)

2018-04-26 Thread Abhishek Gautam
Previous discussion,

By Oleg Nenashev,

Hi all,

I suggest to think a bit about the repo name. IMHO the proposed design 
needs some discussion.

Over last weeks I did some surveys about existing Jenkins & YAML projects. 
Here are some ones I discovered:


   - https://github.com/constantcontact/jenkins_pipeline_builder 
  - 
  
https://jenkins.io/blog/2018/04/25/configuring-jenkins-pipeline-with-yaml-file/
  - https://github.com/ndeloof/codeship-plugin (executing CodeShip YAML 
  in Pipeline)
   
These things maybe interesting for you to research while designing the 
project. Although there are such "competing" projects, IMHO it even makes 
this GSoC project much more relevant and impactful if the project is 
integrated with Pipeline ecosystem. Offering such YAML support OOTB in 
Pipeline ecosystem may be a blockbuster actually.

One of the ways I see it:


   - Implement one of existing YAML => Pipeline engines, as FlowDefinition 
  and ScmFlowDefinition for Pipeline
 - It would give integration with the Pipeline ecosystem and give 
 your project tremendous amount of features OOTB
  - Work on YAML in order to offer more integrations and syntax sugar
  - Another interesting option could be YAML => Declarative Pipeline, 
  which could use the same approaches as above
   
WDYT? i have also added Nicolas De Loof (CodeShip plugin creator) to CC. He 
may have some inputs.
Best regards,
Oleg


By Nicolas de loof

For the record, I created codeship plugin as a proof of concept to bring a 
simpler, yaml based model to Jenkins. It consumes yaml as a FlowDefinition 
to produce equivalent CPS script, as this was the shortest path. For a 
longer terms implementation I'd like it just implement those steps by 
itself without any CPS stuff running in the background, just running 
containers and waiting for them to complete.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/4c9250cf-7fb8-4d9d-97af-0852c855b719%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [GSOC 2018] [Student Introduction & query] Simple Pull-Request Job Plugin

2018-03-27 Thread Abhishek Gautam
Sure thing,
Thanks you everyone for your valuable feedback, specially Oleg and Martin.

I hope that I get to work with you guys.

Abhishek Gautam

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/c924febb-fbdd-48f4-b947-5c6a4a9142fb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [GSOC 2018] [Student Introduction & query] Simple Pull-Request Job Plugin

2018-03-27 Thread Abhishek Gautam

>
> Hello everyone
>
 

> As you all know only 2 hours are remaining for submission of GSOC 
> proposal, hence I request all to look and comment on my proposal for the 
> last time.
>

Proposal link: 
https://docs.google.com/document/d/1cuC0AvQG3e4GCjIoCwK3J0tcJVAz1eNDKV8d_zXxlO8/edit
 

Thank you. 

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/8d41048a-fb18-4e0e-ba23-6c1e2fd3b784%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [GSOC 2018] [Student Introduction & query] Simple Pull-Request Job Plugin

2018-03-19 Thread Abhishek Gautam
I have made changes according to your comments.
Thank you very much.

On Sunday, March 18, 2018 at 9:55:44 PM UTC+5:30, martinda wrote:
>
> Hello Abhishek,
>
> Thank you for sharing the proposal. I have added some comments for your 
> consideration.
>
> Best,
> Martin
>
> On Sunday, March 18, 2018 at 12:14:52 AM UTC-4, Abhishek Gautam wrote:
>>
>> Hello Everyone,
>> @martinda, I have prepared my proposal for the project Simple 
>> Pull-Request Job Plugin and shared it on the official GSOC website.
>> The link to the project proposal: 
>> https://docs.google.com/document/d/1cuC0AvQG3e4GCjIoCwK3J0tcJVAz1eNDKV8d_zXxlO8/edit?usp=sharing
>>
>> Please let me know if there is something that needs more clarification or 
>> if I have missed something.
>>
>> Thank you.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/76aec912-36ea-47c3-9a4f-ab4d2e8ec640%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [GSOC 2018] [Student Introduction & query] Simple Pull-Request Job Plugin

2018-03-17 Thread Abhishek Gautam
Hello Everyone,
@martinda, I have prepared my proposal for the project Simple Pull-Request 
Job Plugin and shared it on the official GSOC website.
The link to the project proposal: 
https://docs.google.com/document/d/1cuC0AvQG3e4GCjIoCwK3J0tcJVAz1eNDKV8d_zXxlO8/edit?usp=sharing

Please let me know if there is something that needs more clarification or 
if I have missed something.

Thank you.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/be44fb36-633a-4ef8-ac86-ee9b68abce8e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [GSOC 2018] [Student Introduction & query] Simple Pull-Request Job Plugin

2018-03-17 Thread Abhishek Gautam
Hello Jesse,

Thank you for your reply. Can you please provide the link to the thread 
where you have discussed the thing you mentioned.

On Friday, March 16, 2018 at 8:47:02 PM UTC+5:30, Jesse Glick wrote:
>
> On Thu, Mar 15, 2018 at 10:22 PM, martinda  > wrote: 
> > there there is another model which is to have a job that handles all the 
> pull requests of a git repo to a given branch. For example say there is a 
> git repository called jupiter/juno.git (jupiter is the name of the github 
> org or of the bitbucket project). Then the pull requests destined to the 
> master branch of the juno git repository could have a correspondig job 
> called jupiter/juno/master. 
>
> Which is already a standard part of Jenkins 2, including GitHub and 
> Bitbucket support. The only thing distinct from the proposal as it 
> stands is that using the default set of plugins, the jobs are 
> configured from a `Jenkinsfile` whereas you are proposing some YAML 
> format—easily handled by an existing pair of extension points in 
> `workflow-multibranch`. I have discussed this is another thread. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/b73501a6-64d3-480a-9b32-a3eb36523dc8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [GSOC 2018] [Student Introduction & query] Simple Pull-Request Job Plugin

2018-03-16 Thread Abhishek Gautam
Hello Everyone,

Thank you for the clarifications.

Oleg Nenashev and James Nord thank you for the recommendation of *"Snake 
YAML".*

*@martinda *
While my research I came across something called EnvironmentContributor in 
Jenkins. Do you think that we can use this to pass required variables to 
the build processes?

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/f1ec0dbc-7383-4af0-b321-6b15ae56b350%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[GSOC 2018] [Student Introduction & query] Simple Pull-Request Job Plugin

2018-03-15 Thread Abhishek Gautam


Hello Everyone,


I am a 3rd-year Computer Science student from India. I found GSOC project 
Simple Pull-Request Job Plugin very interesting and want to work on it. 


But I have some concerns.


1. In project description, it's been stated as following


"Specifically, this plugin does not create jobs and does not detect 
branches automatically. The users are responsible for creating the jobs 
they need. This type of jobs have to be triggered via the existing methods 
(e.g. an http post to the Jenkins REST API, or via the UI)."


But then for every pull request administrator of the project needs to 
create a job and then trigger a build. I think this will be cumbersome.


Please let me know if I am wrong.


2. In project description, it's been stated that the pull-request job types 
have these input parameters:


   - 
   
   PR Number
   - 
   
   From Repository URL
   - 
   
   From Branch
   - 
   
   Target Repository URL
   - 
   
   Target Branch
   

But I think this should not be the case. I have done some research on 
payload GitHub sends through webhooks, and I found that pull request 
payloads have all of the above things, so we can extract them from the pull 
request payload itself.


I have gone through the code of below two plugins and I think they are 
pretty simple.


https://github.com/jenkinsci/bitbucket-plugin/tree/master/src/main/java/com/cloudbees/jenkins/plugins

and

https://github.com/jenkinsci/generic-webhook-trigger-plugin


We just need to get input from YAML file and do things according to that.

There is a java lib available to parse YAML file: 
https://github.com/FasterXML/jackson-dataformats-text/tree/master/yaml

Tutorial for above lib: 
https://dzone.com/articles/read-yaml-in-java-with-jackson


Please let me know what do you think.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/59ad2795-397e-4aaa-847f-8204c4daa289%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.