This building block provides easy access to the Blackboard Gradebook via a REST Web Service.
Currently under development. YMMV
To build this project, clone the project to a local directory cd to the directory, then run the following command for unix/osx.
./gradlew build
or, for windows.
gradlew.bat build
You can find the building block war file in the build/libs directory.
All request paths must begin with
https://yourbbinstall.edu/webapps/atd-bbws-BBLEARN/ws/
BBLEARN may be replaced with bb_bb60 if your Bb installation has
been upgraded from an old (pre 9.1) version.
All requests require credentials passed using HTTP Basic Auth. In curl this would look like the following.
curl -u username:password https://yourbbinstall.edu/blah/blah/blah
Basic Auth credentials are NOT encrypted. Make sure all your requests are performed over https
Before you start using the WebService, you must configure a username and password on the Building Block settings page.
The following actions are available:
If you have a lot of courses, think carefully before calling this
GET /courses
curl https://yourbbinstall.edu/webapps/atd-bbws-BBLEARN/ws/coursesExample truncated for clarity.
[
{
"children": null,
"courseId": "MECM10005_2015_SM1_DOO_1",
"externalId": "MECM10005_2015_SM1_DOO_1",
"id": "_26_1",
"title": "Academic Writing and Communication"
},
{
"children": null,
"courseId": "MECM10005_2015_SM2_DOO_1",
"externalId": "MECM10005_2015_SM2_DOO_1",
"id": "_27_1",
"title": "Academic Writing and Communication"
}
...
}GET /courses/{courseId}
courseIdis the value stored in theCOURSE_IDcolumn in the DB.
curl Example
curl https://yourbbinstall.edu/webapps/atd-bbws-BBLEARN/ws/courses/my_test_course{
"children": [
{
"children": null,
"courseId": "2016_161_ECON77-102_RBNA_67893",
"externalId": "2016_161_LAWS77-102_RBNA_67893",
"id": "_57_1",
"title": "Foundations of Economics"
},
{
"children": null,
"courseId": "2016_161_ECON10-102_RBNA_67892",
"externalId": "2016_161_LAWS10-102_RBNA_67892",
"id": "_56_1",
"title": "Foundations of Economics"
}
],
"courseId": "2016_161_ECON13-102_RBNA_67891",
"externalId": "2016_161_LAWS13-102_RBNA_67891",
"id": "_55_1",
"title": "Foundations of Economics"
}
GET /courses/{courseId}/gradebook/assessments
courseIdis the value stored in theCOURSE_IDcolumn in the DB.
curl Example
curl https://yourbbinstall.edu/webapps/atd-bbws-BBLEARN/ws/courses/my_test_course/gradebook/assessments[
{
"id": "_110_1",
"internalName": "Weighted Total",
"name": null,
"pointsPossible": 0.0,
"userCreatedAssessment": false,
"valueType": "PERCENT"
},
{
"id": "_109_1",
"internalName": "Total",
"name": null,
"pointsPossible": 0.0,
"userCreatedAssessment": false,
"valueType": "NUMBER"
},
{
"id": "_115_1",
"internalName": "Assignment One",
"name": "Assignment One",
"pointsPossible": 25.0,
"userCreatedAssessment": true,
"valueType": "NUMBER"
}
}GET /courses/{courseId}/gradebook/assessments/{assessmentId}
courseIdis the value stored in theCOURSE_IDcolumn in the DB.assessmentIdis a Bb PkId of the form_123_1
curl Example
curl https://yourbbinstall.edu/webapps/atd-bbws-BBLEARN/ws/courses/my_test_course/gradebook/assessments/_123_1{
"id": "_117_1",
"internalName": "Final Exam",
"name": "Final Exam",
"pointsPossible": 50.0,
"userCreatedAssessment": true,
"valueType": "NUMBER"
}GET /courses/{courseId}/gradebook/assessments/{assessmentId}/marks
courseIdis the value stored in theCOURSE_IDcolumn in the DB.assessmentIdis the Bb PkId for the Assessment. It has the form_123_1
curl Example
curl https://yourbbinstall.edu/webapps/atd-bbws-BBLEARN/ws/courses/my_test_course/gradebook/assessments/_123_1/marksGET /users/{username}/courses
usernameis the value stored in theUSER_IDcolumn in the DB.
curl Example
curl https://yourbbinstall.edu/webapps/atd-bbws-BBLEARN/ws/users/administrator/courses[
{
"id": "_202_1",
"courseId": "2016_161_ECON77-102_RBNA_67893",
"externalId": "2016_161_LAWS77-102_RBNA_67893",
"title": "Foundations of Economics",
"children": null
},
{
"id": "_224_1",
"courseId": "2016_161_ENGL31-102_GWAB_14239",
"externalId": "2016_161_ENGL31-102_GWAB_14239",
"title": "Academic Writing and Communication",
"children": null
}
]