-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
51803b2
commit 28ea90d
Showing
11 changed files
with
595 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
# 📖 Summary | ||
- [📖 Summary](#-summary) | ||
- [💼 About Jobology](#-about-jobology) | ||
- [😍 Why is it a big deal for Jobology customers & partners?](#-why-is-it-a-big-deal-for-jobology-customers--partners) | ||
- [🔧 How does it work?](#-how-does-it-work) | ||
- [📊 Data integration capabilities:](#-data-integration-capabilities) | ||
- [🔌 Connector Actions](#-connector-actions) | ||
- [💍 Quick Start Examples](#-quick-start-examples) | ||
- [🔗 Useful Links](#-useful-links) | ||
- [👏 Special Thanks](#-special-thanks) | ||
|
||
|
||
# 💼 About Jobology | ||
|
||
> La mission de jobology est de faciliter le processus de recrutement pour les entreprises | ||
|
||
## 😍 Why is it a big deal for Jobology customers & partners? | ||
|
||
This new connector will enable: | ||
- ⚡ A Fastlane Talent & Workforce data integration for Jobology customers & partners | ||
- 🤖 Cutting-edge AI-powered Talent Experiences & Recruiter Experiences for Jobology customers | ||
|
||
# 🔧 How does it work? | ||
## 📊 Data integration capabilities: | ||
- ⬅️ Send Profiles data from Jobology to a Destination of your choice: | ||
|
||
|
||
|
||
|
||
|
||
# 🔌 Connector Actions | ||
<p align="center"> | ||
|
||
| Action | Description | | ||
| ------- | ----------- | | ||
| [**Catch profile**](docs/catch_profile.md) | Imports candidates, in synchronization with jobology | | ||
|
||
|
||
</p> | ||
|
||
<p align="center"> | ||
<image src=https://github.com/Riminder/hrflow-connectors/assets/135601200/1d28d312-6c28-4749-a5f1-b72fa8c16730 width=90% height=100% > | ||
</p> | ||
|
||
|
||
# 💍 Quick Start Examples | ||
|
||
To make sure you can successfully run the latest versions of the example scripts, you have to **install the package from PyPi**. | ||
|
||
|
||
To browse the examples of actions corresponding to released versions of 🤗 this connector, you just need to import the module like this : | ||
|
||
<p align="center"> | ||
<image src=https://github.com/Riminder/hrflow-connectors/assets/135601200/1f295bdc-b505-4e5c-9d2f-0163844a2da8 width=90% height=100% > | ||
</p> | ||
|
||
|
||
Once the connector module is imported, you can leverage all the different actions that it offers. | ||
|
||
For more code details checkout connector code. | ||
|
||
|
||
# 🔗 Useful Links | ||
|
||
- 📄Visit [Jobology](https://www.jobology.com/) to learn more. | ||
- 💻 [Connector code](https://github.com/Riminder/hrflow-connectors/tree/master/src/hrflow_connectors/connectors/jobology) on our Github. | ||
|
||
|
||
# 👏 Special Thanks | ||
- 💻 HrFlow.ai : Abdellahi Mezid - Software Engineer | ||
- 🤝 Jobology : Jobology Team |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from hrflow_connectors.connectors.jobology.connector import Jobology # noqa |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
import typing as t | ||
|
||
from hrflow_connectors.connectors.hrflow.warehouse import HrFlowProfileParsingWarehouse | ||
from hrflow_connectors.connectors.jobology.warehouse import JobologyProfilesWarehouse | ||
from hrflow_connectors.core import ( | ||
ActionName, | ||
ActionType, | ||
BaseActionParameters, | ||
Connector, | ||
ConnectorAction, | ||
ConnectorType, | ||
WorkflowType, | ||
) | ||
|
||
|
||
def rename_profile_fields(jobology_profile: t.Dict) -> t.Dict: | ||
return { | ||
"job-key": jobology_profile["jobkey"], | ||
"first_name": jobology_profile.get("firstName"), | ||
"last_name": jobology_profile.get("lastName"), | ||
"phone": jobology_profile.get("phone"), | ||
"email": jobology_profile.get("email"), | ||
"coverText": jobology_profile.get("coverText"), | ||
"profile-country": jobology_profile.get("profilecountry"), | ||
"profile-regions": jobology_profile.get("profileregions"), | ||
"profile-domains": jobology_profile.get("profiledomains"), | ||
"job-lien_annonce_site_carriere": jobology_profile.get( | ||
"joblien_annonce_site_carriere" | ||
), | ||
"statistic-source": jobology_profile.get("statisticsource"), | ||
"statistic-jbsource": jobology_profile.get("statisticjbsource"), | ||
} | ||
|
||
|
||
def add_tags(profile_tags: t.Dict) -> t.List[t.Dict]: | ||
return [dict(name=key, value=value) for key, value in profile_tags.items() if value] | ||
|
||
|
||
def format_jobology_profile(jobology_profile: t.List) -> t.Dict: | ||
profile_tags = rename_profile_fields(jobology_profile) | ||
tags = add_tags(profile_tags) | ||
resume_dict = dict( | ||
raw=jobology_profile["cv"], | ||
content_type=jobology_profile["content_type"], | ||
) | ||
return dict( | ||
reference=jobology_profile["email"], | ||
resume=resume_dict, | ||
tags=tags, | ||
metadatas=[], | ||
created_at=None, | ||
) | ||
|
||
|
||
def event_parser(event: t.Dict) -> t.Dict: | ||
return dict(profile=event) | ||
|
||
|
||
DESCRIPTION = ( | ||
"La mission de jobology est de faciliter le processus de recrutement pour les" | ||
" entreprises " | ||
) | ||
Jobology = Connector( | ||
name="Jobology", | ||
type=ConnectorType.JobBoard, | ||
description=DESCRIPTION, | ||
url="https://www.jobology.fr/", | ||
actions=[ | ||
ConnectorAction( | ||
name=ActionName.catch_profile, | ||
trigger_type=WorkflowType.catch, | ||
description="Imports candidates, in synchronization with jobology", | ||
parameters=BaseActionParameters.with_defaults( | ||
"TriggerViewActionParameters", | ||
format=format_jobology_profile, | ||
event_parser=event_parser, | ||
), | ||
origin=JobologyProfilesWarehouse, | ||
target=HrFlowProfileParsingWarehouse, | ||
action_type=ActionType.inbound, | ||
) | ||
], | ||
) |
Oops, something went wrong.