@@ -114,7 +114,7 @@ class Api {
114114 protected $ resolutions ;
115115
116116 /**
117- * Create a JIRA API client.
117+ * Create a Jira API client.
118118 *
119119 * @param string $endpoint Endpoint URL.
120120 * @param \chobie\Jira\Api\Authentication\AuthenticationInterface $authentication Authentication.
@@ -209,31 +209,30 @@ public function getFields() {
209209 /**
210210 * Get specified issue.
211211 *
212- * @param string $issue_key Issue key should be "YOURPROJ-221".
212+ * @param string $issueKey Issue key should be "YOURPROJ-221".
213213 * @param string $expand Expand.
214214 *
215215 * @return \chobie\Jira\Api\Result|false
216216 */
217- public function getIssue ($ issue_key , $ expand = '' ) {
218- return $ this ->api (static ::REQUEST_GET , sprintf ('/rest/api/2/issue/%s ' , $ issue_key ), ['expand ' => $ expand ]);
217+ public function getIssue ($ issueKey , $ expand = '' ) {
218+ return $ this ->api (static ::REQUEST_GET , sprintf ('/rest/api/2/issue/%s ' , $ issueKey ), ['expand ' => $ expand ]);
219219 }
220220
221221 /**
222222 * Edits the issue.
223223 *
224- * @param string $issue_key Issue key.
224+ * @param string $issueKey Issue key.
225225 * @param array $params Params.
226226 *
227227 * @return \chobie\Jira\Api\Result|false
228228 */
229- public function editIssue ($ issue_key , array $ params ) {
230- return $ this ->api (static ::REQUEST_PUT , sprintf ('/rest/api/2/issue/%s ' , $ issue_key ), $ params );
229+ public function editIssue ($ issueKey , array $ params = [] ) {
230+ return $ this ->api (static ::REQUEST_PUT , sprintf ('/rest/api/2/issue/%s ' , $ issueKey ), $ params );
231231 }
232232
233233 /**
234234 * Gets attachments meta information.
235235 *
236- * @since 2.0.0
237236 * @return array
238237 */
239238 public function getAttachmentsMetaInformation () {
@@ -361,57 +360,88 @@ public function getCreateMeta(
361360 /**
362361 * Add a comment to a ticket.
363362 *
364- * @param string $issue_key Issue key should be "YOURPROJ-221".
363+ * @param string $issueKey Issue key should be "YOURPROJ-221".
365364 * @param array|string $params Params.
366365 *
367366 * @return \chobie\Jira\Api\Result|false
368367 */
369- public function addComment ($ issue_key , $ params ) {
368+ public function addComment ($ issueKey , $ params ) {
370369 if (is_string ($ params )) {
371370 // If $params is scalar string value -> wrapping it properly.
372371 $ params = [
373372 'body ' => $ params ,
374373 ];
375374 }
376375
377- return $ this ->api (static ::REQUEST_POST , sprintf ('/rest/api/2/issue/%s/comment ' , $ issue_key ), $ params );
376+ return $ this ->api (static ::REQUEST_POST , sprintf ('/rest/api/2/issue/%s/comment ' , $ issueKey ), $ params );
378377 }
379378
380379 /**
381- * Get all worklogs for an issue.
380+ * Gets all worklogs for an issue.
382381 *
383- * @since 2.0.0
384- * @param string $issue_key Issue key should be "YOURPROJ-22".
382+ * @param string $issueKey Issue key should be "YOURPROJ-22".
385383 * @param array $params Params.
386384 *
387385 * @return \chobie\Jira\Api\Result|false
388386 */
389- public function getWorklogs ($ issue_key , array $ params ) {
390- return $ this ->api (static ::REQUEST_GET , sprintf ('/rest/api/2/issue/%s/worklog ' , $ issue_key ), $ params );
387+ public function getWorklogs ($ issueKey , array $ params = []) {
388+ return $ this ->api (static ::REQUEST_GET , sprintf ('/rest/api/2/issue/%s/worklog ' , $ issueKey ), $ params );
389+ }
390+
391+ /**
392+ * Creates Jira Worklog
393+ *
394+ * @param string $issueKey
395+ * @param string $time
396+ * @param array $params
397+ * @return array
398+ */
399+ public function createWorklog ($ issueKey , $ time , array $ params = []) {
400+ $ params = [
401+ 'timeSpent ' => $ time ,
402+ ] + $ params ;
403+
404+ return $ this ->api (static ::REQUEST_POST , sprintf ('/rest/api/2/issue/%s/worklog ' , $ issueKey ), $ params );
405+ }
406+
407+ /**
408+ * Removes a Jira Worklog
409+ *
410+ * @param string $issueKey
411+ * @param string $worklogId
412+ * @param array $params
413+ * @return array
414+ */
415+ public function removeWorklog ($ issueKey , $ worklogId , array $ params = []) {
416+ $ params = [
417+ 'adjustEstimate ' => 'auto ' ,
418+ ] + $ params ;
419+
420+ return $ this ->api (static ::REQUEST_DELETE , sprintf ('/rest/api/2/issue/%s/worklog/%s ' , $ issueKey , $ worklogId ), $ params );
391421 }
392422
393423 /**
394424 * Get available transitions for a ticket.
395425 *
396- * @param string $issue_key Issue key should be "YOURPROJ-22".
426+ * @param string $issueKey Issue key should be "YOURPROJ-22".
397427 * @param array $params Params.
398428 *
399429 * @return \chobie\Jira\Api\Result|false
400430 */
401- public function getTransitions ($ issue_key , array $ params ) {
402- return $ this ->api (static ::REQUEST_GET , sprintf ('/rest/api/2/issue/%s/transitions ' , $ issue_key ), $ params );
431+ public function getTransitions ($ issueKey , array $ params = [] ) {
432+ return $ this ->api (static ::REQUEST_GET , sprintf ('/rest/api/2/issue/%s/transitions ' , $ issueKey ), $ params );
403433 }
404434
405435 /**
406436 * Transition a ticket.
407437 *
408- * @param string $issue_key Issue key should be "YOURPROJ-22".
438+ * @param string $issueKey Issue key should be "YOURPROJ-22".
409439 * @param array $params Params.
410440 *
411441 * @return \chobie\Jira\Api\Result|false
412442 */
413- public function transition ($ issue_key , array $ params ) {
414- return $ this ->api (static ::REQUEST_POST , sprintf ('/rest/api/2/issue/%s/transitions ' , $ issue_key ), $ params );
443+ public function transition ($ issueKey , array $ params = [] ) {
444+ return $ this ->api (static ::REQUEST_POST , sprintf ('/rest/api/2/issue/%s/transitions ' , $ issueKey ), $ params );
415445 }
416446
417447 /**
@@ -423,8 +453,8 @@ public function getIssueTypes() {
423453 $ result = [];
424454 $ types = $ this ->api (static ::REQUEST_GET , '/rest/api/2/issuetype ' , [], true );
425455
426- foreach ($ types as $ issue_type ) {
427- $ result [] = new IssueType ($ issue_type );
456+ foreach ($ types as $ type ) {
457+ $ result [] = new IssueType ($ type );
428458 }
429459
430460 return $ result ;
@@ -444,7 +474,6 @@ public function getVersions($project_key) {
444474 /**
445475 * Helper method to find a specific version based on the name of the version.
446476 *
447- * @since 2.0.0
448477 * @param string $project_key Project Key.
449478 * @param string $name The version name to match on.
450479 *
@@ -471,7 +500,6 @@ public function findVersionByName($project_key, $name) {
471500 /**
472501 * Get available priorities.
473502 *
474- * @since 2.0.0
475503 * @return array
476504 */
477505 public function getPriorities () {
@@ -593,7 +621,6 @@ public function createVersion($project_key, $version, array $options = []) {
593621 /**
594622 * Updates version.
595623 *
596- * @since 2.0.0
597624 * @link https://docs.atlassian.com/jira/REST/latest/#api/2/version-updateVersion
598625 * @param int $version_id Version ID.
599626 * @param array $params Key->Value list to update the version with.
@@ -607,7 +634,6 @@ public function updateVersion($version_id, array $params = []) {
607634 /**
608635 * Shorthand to mark a version as Released.
609636 *
610- * @since 2.0.0
611637 * @param int $version_id Version ID.
612638 * @param string|null $release_date Date in Y-m-d format (defaults to today).
613639 * @param array $params Optionally extra parameters.
@@ -633,21 +659,21 @@ public function releaseVersion($version_id, $release_date = null, array $params
633659 /**
634660 * Create attachment.
635661 *
636- * @param string $issue_key Issue key.
662+ * @param string $issueKey Issue key.
637663 * @param string $filename Filename.
638664 * @param string|null $name Name.
639665 *
640666 * @return \chobie\Jira\Api\Result|false
641667 */
642- public function createAttachment ($ issue_key , $ filename , $ name = null ) {
668+ public function createAttachment ($ issueKey , $ filename , $ name = null ) {
643669 $ options = [
644670 'file ' => '@ ' . $ filename ,
645671 'name ' => $ name ,
646672 ];
647673
648674 return $ this ->api (
649675 static ::REQUEST_POST ,
650- sprintf ('/rest/api/2/issue/%s/attachments ' , $ issue_key ),
676+ sprintf ('/rest/api/2/issue/%s/attachments ' , $ issueKey ),
651677 $ options ,
652678 false ,
653679 true ,
@@ -657,8 +683,7 @@ public function createAttachment($issue_key, $filename, $name = null) {
657683 /**
658684 * Creates a remote link.
659685 *
660- * @since 2.0.0
661- * @param string $issue_key Issue key.
686+ * @param string $issueKey Issue key.
662687 * @param array $object Object.
663688 * @param string|null $relationship Relationship.
664689 * @param string|null $global_id Global ID.
@@ -667,7 +692,7 @@ public function createAttachment($issue_key, $filename, $name = null) {
667692 * @return array|false
668693 */
669694 public function createRemoteLink (
670- $ issue_key ,
695+ $ issueKey ,
671696 array $ object = [],
672697 $ relationship = null ,
673698 $ global_id = null ,
@@ -683,7 +708,7 @@ public function createRemoteLink(
683708 $ options ['application ' ] = $ application ;
684709 }
685710
686- return $ this ->api (static ::REQUEST_POST , sprintf ('/rest/api/2/issue/%s/remotelink ' , $ issue_key ), $ options , true );
711+ return $ this ->api (static ::REQUEST_POST , sprintf ('/rest/api/2/issue/%s/remotelink ' , $ issueKey ), $ options , true );
687712 }
688713
689714 /**
@@ -790,16 +815,16 @@ protected function automapFields(array $issue) {
790815 /**
791816 * Set issue watchers.
792817 *
793- * @param string $issue_key Issue key.
818+ * @param string $issueKey Issue key.
794819 * @param array $watchers Watchers.
795820 *
796821 * @return array<Result|false>
797822 */
798- public function setWatchers ($ issue_key , array $ watchers ) {
823+ public function setWatchers ($ issueKey , array $ watchers ) {
799824 $ result = [];
800825
801826 foreach ($ watchers as $ watcher ) {
802- $ result [] = $ this ->api (static ::REQUEST_POST , sprintf ('/rest/api/2/issue/%s/watchers ' , $ issue_key ), $ watcher );
827+ $ result [] = $ this ->api (static ::REQUEST_POST , sprintf ('/rest/api/2/issue/%s/watchers ' , $ issueKey ), $ watcher );
803828 }
804829
805830 return $ result ;
@@ -809,15 +834,15 @@ public function setWatchers($issue_key, array $watchers) {
809834 * Closes issue.
810835 *
811836 * @TODO: Should have parameters? (e.g comment)
812- * @param string $issue_key Issue key.
837+ * @param string $issueKey Issue key.
813838 *
814839 * @return \chobie\Jira\Api\Result|array
815840 */
816- public function closeIssue ($ issue_key ) {
841+ public function closeIssue ($ issueKey ) {
817842 $ result = [];
818843
819844 // Get available transitions.
820- $ tmp_transitions = $ this ->getTransitions ($ issue_key , []);
845+ $ tmp_transitions = $ this ->getTransitions ($ issueKey , []);
821846 $ tmp_transitions_result = $ tmp_transitions ->getResult ();
822847 $ transitions = $ tmp_transitions_result ['transitions ' ];
823848
@@ -826,7 +851,7 @@ public function closeIssue($issue_key) {
826851 // Close issue if required id was found.
827852 if ($ v ['name ' ] == 'Close Issue ' ) {
828853 $ result = $ this ->transition (
829- $ issue_key ,
854+ $ issueKey ,
830855 [
831856 'transition ' => ['id ' => $ v ['id ' ]],
832857 ],
@@ -842,7 +867,6 @@ public function closeIssue($issue_key) {
842867 /**
843868 * Returns project components.
844869 *
845- * @since 2.0.0
846870 * @param string $project_key Project key.
847871 *
848872 * @return array
@@ -854,7 +878,6 @@ public function getProjectComponents($project_key) {
854878 /**
855879 * Get all issue types with valid status values for a project.
856880 *
857- * @since 2.0.0
858881 * @param string $project_key Project key.
859882 *
860883 * @return array
@@ -866,7 +889,6 @@ public function getProjectIssueTypes($project_key) {
866889 /**
867890 * Returns a list of all resolutions.
868891 *
869- * @since 2.0.0
870892 * @return array
871893 */
872894 public function getResolutions () {
0 commit comments