Connecting Jenkins to Moodle

60 views
Skip to first unread message

dursun...@gmail.com

unread,
Apr 21, 2017, 7:14:08 AM4/21/17
to Jenkins Developers
Hello erveyone,

at the moment I am writing my bachelor thesis on the topic "Connecting software development tools to an e-learning platform". The E-Learning platform in this case is 'Moodle'. The Tools would be for example 'Jenkins'. 

My task is to find out, whether following szenario is possible:
You are a Moodle participant and you have chosen the course for learning how to use 'jenkins'. First you are reading general things on slides in Moodle. After reading and getting a picture of Jenkins functionalities, the next task in moodle would be to open the tool jenkins and do a specific task there. Problem is how does the Moodle trainer know that this task has been done? 

My aim is to find out how the Moodle trainer knows that the task in the external tool is done.

Could this be done via web services e.g. Rest since Jenkins has the REST interface? In Jenkins it should be checked whether a certain task has been done, if so an email should be sent to the Moodle Trainer.

This is the only possibility I can imagine at the moment.

Maybe it would also be possible to do that through a URL which gets the information form Jenkins and the trainer can always check the URL?...

Is that possible?
Do you have other approaches?
I am grateful for any help!

greetings
Jüli

Oleg Nenashev

unread,
Apr 21, 2017, 5:01:30 PM4/21/17
to Jenkins Developers
Hi,

Generally everything is possible in Jenkins. I am not 100% sure that REST API will provide you enough information about the Jenkins state, but I assume it should be enough for basic intro cases ("create FreeStyle/Pipeline job", "run several builds", etc.). The info about current item configuration can be retrieved using config.xml access, which is also a part of REST API.

The only problem with the approach is that Jenkins REST API is not publicly available in the default setup, so security configuration will be one of the first tasks for the student :)

For any specific case, you can always create a plugin for Jenkins, which will provide the required information to Moodle and maybe provide other useful integrations.

Maybe it also makes sense to ask the Moodle community. They use (or used) Jenkins, so maybe they could suggest something.

Hopefully it helps,
Oleg

P.S: Once the training is ready, it would be nice if you could share it publicly

пятница, 21 апреля 2017 г., 13:14:08 UTC+2 пользователь dursun...@gmail.com написал:

Mark Waite

unread,
Apr 21, 2017, 5:27:37 PM4/21/17
to Jenkins Developers
Since the Jenkins server which the student is creating could be anywhere, while the moodle server is a single known location, wouldn't it be better to have the Jenkins server call the moodle server with evidence that the Jenkins jobs / configuration "passed the test"?

That would allow the student to use Java or Ruby or Python or C (or ...) to define and run their job, and then have that job be responsible to contact the Moodle server to show successful completion of the exercise.

Mark Waite

--
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-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/a51ee430-b302-450c-885c-b0de5c3b834c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

dursun...@gmail.com

unread,
Apr 25, 2017, 8:48:38 AM4/25/17
to Jenkins Developers
Hello Oleg,

first I want to thank you for your answer. I think I didn't describe my task clearly.
I would like Jenkins to check whether in Jenkins oder in another tool like 'DOORS' the task given by moodle is done. So Jenkins checks the Tool in which the Moodle participant has to do his task and looks whether the task is done. If so, there has to be a connection between Moodle and Jenkins. Jenkins has to show Moodle that the task is done, so the task in Moodle should automatically get a tick mark.

How could I make this kind of communication? 

Would this be possible with REST API or a Plugin? If so, could you give me some advices how to find it ot and how to implement it?

Thanks in advance. Hope you can help me.

Jüli

Oleg Nenashev

unread,
Apr 27, 2017, 6:52:47 PM4/27/17
to Jenkins Developers
I am not a Moodle expert, hence I cannot provided detailed advice.
After your clarification I still do not understand what else do you need in addition to my original suggestions, sorry

вторник, 25 апреля 2017 г., 14:48:38 UTC+2 пользователь dursun...@gmail.com написал:
Reply all
Reply to author
Forward
0 new messages