{"id":17720907,"url":"https://github.com/craibuc/psbamboohr","last_synced_at":"2025-03-31T13:17:53.653Z","repository":{"id":143142152,"uuid":"301509258","full_name":"craibuc/PsBambooHr","owner":"craibuc","description":"PowerShell module that wraps the BambooHR API.","archived":false,"fork":false,"pushed_at":"2023-05-17T14:58:50.000Z","size":157,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-05-17T15:34:33.117Z","etag":null,"topics":["bamboo","bamboohr","hr","powershell"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/craibuc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-05T18:52:29.000Z","updated_at":"2023-05-17T15:34:33.118Z","dependencies_parsed_at":null,"dependency_job_id":"a486b9c3-23d7-46cb-838c-71dfede388e0","html_url":"https://github.com/craibuc/PsBambooHr","commit_stats":null,"previous_names":[],"tags_count":1,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craibuc%2FPsBambooHr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craibuc%2FPsBambooHr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craibuc%2FPsBambooHr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craibuc%2FPsBambooHr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/craibuc","download_url":"https://codeload.github.com/craibuc/PsBambooHr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246473279,"owners_count":20783236,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bamboo","bamboohr","hr","powershell"],"created_at":"2024-10-25T15:29:43.450Z","updated_at":"2025-03-31T13:17:53.630Z","avatar_url":"https://github.com/craibuc.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PsBambooHr\nPowerShell module that wraps the BambooHR API.\n\n## Installation\n\n- Copy the archive to local computer\n- Expand archive\n- Move the `PsBambooHr` folder to `~/Documents/PowerShell/Modules`\n- Run `Unblock-File` on the module\n\n## Usage\n\n```powershell\n# import the module into the session's scope\nImport-Module PsBambooHr\n```\n\n### Get-BambooHrEmployee\n\n```powershell\n# gets a list of all active employees\n\nGet-BambooHrField -ApiKey 'xxxxxxxxxx' -Subdomain 'mycompany'\n\nid  firstName lastName\n--  --------- -------\n111 First     Last\n112 Jane      Doe\n113 John      Doe\n```\n\n```powershell\n# get employee #111\n\nGet-BambooHrField -ApiKey 'xxxxxxxxxx' -Subdomain 'mycompany' -Id 111\n\nid  firstName lastName\n--  --------- -------\n111 First     Last\n```\n\n```powershell\n# get employee #111, specifying the desired fields\n\nGet-BambooHrField -ApiKey 'xxxxxxxxxx' -Subdomain 'mycompany' -Id 111 -Fields firstName,lastName,gender \n\nid  firstName lastName gender\n--  --------- -------  ------\n111 First     Last     Male\n```\n\n### Set-BambooHrEmployee\n\n```powershell\n# sets the `gender` property to 'Male' for employee #112\n\n@{\n  id = 112\n  gender = 'Male'\n} | Set-BambooHrEmployee  -ApiKey 'xxxxxxxxxx' -Subdomain 'mycompany'\n```\n\n```powershell\n# makes employees #112 and #113 inactive\n\n@{\n  id = 112\n  status = $false\n},\n@{\n  id = 113\n  status = $false\n} | Set-BambooHrEmployee  -ApiKey 'xxxxxxxxxx' -Subdomain 'mycompany'\n```\n\n### New-BambooHrEmployee\n\n```powershell\n# creates a new employee\n\n@{\n  firstName = 'Fred'\n  lastName = 'Flintstone'\n  gender = 'Male'\n  employeeNumber = 'FF123456'\n} | Set-BambooHrEmployee  -ApiKey 'xxxxxxxxxx' -Subdomain 'mycompany'\n```\n\n### Get-BambooHrField\n\n```powershell\n# get a list of fields\n\nGet-BambooHrField -ApiKey 'xxxxxxxxxx' -Subdomain 'mycompany'\n\n    id name                             type             alias\n    -- ----                             ----              -----\n  4175 Accrual Level Start Date         date\n     8 Address Line 1                   text              address1\n     9 Address Line 2                   text              address2\n  4304 Benefit Groups                   benefit_group     \n  1502 Benefit History                  benefit_history   \n     6 Birth Date                       date              dateOfBirth\n    10 City                             text              city\n...\n```\n```powershell\n# get a list of fields with an alias, then sort by the alias\n\nGet-BambooHrField -ApiKey 'xxxxxxxxxx' -Subdomain 'mycompany' | Where-Object { $null -ne $_.alias } | Sort-Object -Property alias | Select-Object -ExpandedProperty alias\n\nacaStatus\naddress1\naddress2\ncity\ncountry\ndateOfBirth\ndepartment\ndivision\neeo\nemployeeNumber\nemployeeStatusDate\nemploymentHistoryStatus\nemploymentHistoryStatus\nemploymentStatus\nethnicity\nexempt\nfacebook\n...\n```\n\n```powershell\n# get a detailed list of fields\n\nGet-BambooHrField -ApiKey 'xxxxxxxxxx' -Subdomain 'mycompany' -Detailed\n\nfieldId    : 16\nmanageable : yes\nmultiple   : no\nname       : Employment Status\noptions    : {@{id=18358; archived=no; createdDate=9/24/2020 5:24:20 PM; archivedDate=; name=Contractor}, ...}\nalias      : employmentHistoryStatus\n\nfieldId    : 17\nmanageable : yes\nmultiple   : no\nname       : Job Title\noptions    : {}\nalias      : jobTitle\n\nfieldId    : 18\nmanageable : yes\nmultiple   : no\nname       : Location\noptions    : {}\nalias      : location\n\n...\n```\n\u003e NOTE: `id` corresponds with `fieldId`.\n\n### Get-BambooHrTable\n\n```powershell\n# get the list of tabular fields\n\nGet-BambooHrTable -ApiKey 'xxxxxxxxxx' -Subdomain 'mycompany'\n\nalias               fields\n-----               ------\njobInfo             {@{id=4047; name=Job Information: Date; alias=date; type=date}, @{id=18; name=Location; alias=location; type=list}, @{id=4; name=Department; alias=department; type=list}, @{id=1355; name=Division; alias=division; type=list}…}\nemploymentStatus    {@{id=1936; name=Employment Status: Date; alias=date; type=date}, @{id=16; name=Employment Status; alias=employmentStatus; type=list}, @{id=4046; name=Employment status comments; alias=comment; type=textarea}, @{id=4314; name=Termin…\n...\n```\n\n### Get-BambooHrUser\n\n```powershell\n# get the list of users\n\nGet-BambooHrUser -ApiKey 'xxxxxxxxxx' -Subdomain 'mycompany'\n\n1234\n----\n@{id=1234; employeeId=111; firstName=First; lastName=Last; email=first.last@mycompany.tld; status=enabled; lastLogin=10/29/2020 12:00:00 AM}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcraibuc%2Fpsbamboohr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcraibuc%2Fpsbamboohr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcraibuc%2Fpsbamboohr/lists"}