Skip to content

feat: Oracle, Eightfold and Teamtailor careers sites in the job feed - #73

Merged
coderback merged 1 commit into
mainfrom
feat/teamtailor-oracle-eightfold
Oct 20, 2026
Merged

coderback merged 1 commit into
mainfrom
feat/teamtailor-oracle-eightfold

Conversation

@coderback

Copy link
Copy Markdown
Owner

Why

Step 3 of finding graduate employers' jobs through Windrush's own collection, after #71 (more boards on known systems) and #72 (Workday). 13 more employers' careers sites run on Oracle Recruiting, Eightfold or Teamtailor. Each is read through the public service its own pages call.

What changed

Oracle Recruiting (7): American Express, BNY (with Insight Investment), WTW, Compare the Market, Morrisons, UKRI (STFC), Kent

  • findReqs searches by keyword. It needs expand=requisitionList, or no postings come back.
  • A posting is read through recruitingCEJobRequisitionDetails (description, responsibilities, qualifications).
  • AmEx's site shows on its own domain but searches on the oraclecloud.com host behind it, so boards are "<host>/<site number>".
  • The finder's own separators (, ; =) are dropped from a query.

Eightfold (1): Northrop Grumman

  • Searched through /api/pcsx/search; position_details gives one posting. The older /api/apply/v2 answers 403 "not authorized for PCSX", which isn't a block.
  • It returns 10 a call and is mostly elsewhere without a location, so it's searched per query in each searched location.

Teamtailor (5): Isio, Tekever, 73 Strings, Dare, BRE

  • Every posting, with its description and places, is in <site>/jobs.rss.
  • The feed is read with patterns rather than an XML parser, so a page from the web gets no entity expansion.

Shared

  • Oracle and Eightfold are searched like Workday. The pacing and limits are now named for all three: _paced_call, _SEARCH_DEPTH, _READS_PER_BOARD, _SEARCH_CONCURRENCY, _BACKOFF_S. Workday's behaviour is unchanged.
  • check_board knows all three (count; 404 = gone).
  • Autopilot doesn't fill these forms; they're applied to from the job page.

Tests

  • Oracle: searched and read only where it may be here, secondary locations included. The query's separators are dropped.
  • Eightfold: searched in each location; each posting read once.
  • Teamtailor: the feed is read correctly (places, remote setting, entities, CDATA).
  • Checks: all three checked by count, with 404 meaning gone.
  • Fast suite: 1095 passed.
  • Live, one collection's pass over the 13 boards:
    • 26 s; 130 found, 107 in London/UK, 49 past the title filter, all with full descriptions.
    • They include: AmEx Software Engineer and AI Engineer 2027; BNY 2027 Analyst Program – Engineering; WTW 2027 Software Developer Graduate Programme; Kent Graduate Software Engineer; Northrop Grumman Graduate Control Systems Engineer.

After deploy

  1. Rebuild the API with docker compose up -d --build api.
  2. Press Refresh on the feed, or wait for the next collection.

Graduate employers' careers sites on three more job systems, each read through
the public service its own pages call:

- Oracle Recruiting (7): American Express, BNY (with Insight Investment), WTW,
  Compare the Market, Morrisons, UKRI (STFC), Kent. findReqs searches by
  keyword (expand=requisitionList, or no postings come back); a posting is read
  through recruitingCEJobRequisitionDetails (description, responsibilities,
  qualifications). AmEx's site shows on its own domain but searches on the
  oraclecloud.com host behind it.
- Eightfold (1): Northrop Grumman, through /api/pcsx/search and
  position_details (the older /api/apply/v2 answers 403 "not authorized for
  PCSX"). It gives 10 a call and is mostly elsewhere without a location, so it's
  searched per query in each searched location.
- Teamtailor (5): Isio, Tekever, 73 Strings, Dare, BRE: every posting with its
  description and places in <site>/jobs.rss, read with patterns rather than an
  XML parser (no entity expansion of a page from the web).

Oracle and Eightfold are searched like Workday: shared pacing and limits, now
named for all three (_paced_call, _SEARCH_DEPTH, _READS_PER_BOARD,
_SEARCH_CONCURRENCY, _BACKOFF_S). check_board knows all three.

Live, one collection's pass over the 13 boards: 26 s, 130 found, 107 in
London/UK, 49 past the title filter, all with full descriptions (AmEx Software
Engineer and AI Engineer 2027 in London/Burgess Hill, BNY 2027 Analyst Program -
Engineering, WTW 2027 Software Developer Graduate Programme, Kent Graduate
Software Engineer, Northrop Grumman Graduate Control Systems Engineer). Autopilot
doesn't fill these forms: they're applied to from the job page.

Tests: Oracle searched and read only where it may be here (secondary locations
too), its finder's separators dropped from a query; Eightfold searched in each
location, each posting read once; a Teamtailor feed read (places, setting,
entities, CDATA); all three checked by count, 404 = gone.
@coderback
coderback merged commit 6f35334 into main Oct 20, 2026
3 of 4 checks passed
@coderback
coderback deleted the feat/teamtailor-oracle-eightfold branch October 20, 2026 16:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant